Skip to content

Latest commit

 

History

1,030 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAS Daemon

RAS Daemon (rasdaemon) monitors Linux kernel trace events related to Reliability, Availability, and Serviceability (RAS) errors.

Although it is a general-purpose tool, its primary goal is to improve the availability of systems used in data centers, including - but not limited to - high-performance computing (HPC), server farms, and cloud service environments.

It reports decoded events through syslog or journald, makes them available to consumer applications and supports recording them in SQL databases and reporting them through ABRT.

Its database support is provided through a modular framework that currently supports SQLite, MySQL, MariaDB, and PostgreSQL.

The primary source repository and issue tracker is currently at https://github.com/mchehab/rasdaemon/.

Its source code is mirrored at:

CI tests

RAS Daemon has two types of CI tests, automated via Github Actions:

  1. rasdaemon Actions, with tests several unit tests for both rasdaemon and ras-mc-ctl tools.

  2. rasdaemon-ci functional tests, which runs rasdaemon on a QEMU engine, using some mechanisms supported by QEMU to trigger events on it. The functional tests are handled in separate. CI tests usually runs on source code changes and are daily updated.

    Such tests are executed on two separate QEMU VMs. The status indicators below shows green if both VMs executed fine at the latest run:

    VM health

    Architecture

    Status

    Functional tests (experimental)

    x86_64

    func-x86-vm

    aarch64

    func-arm64-vm

    NOTE:

    Please note that functional tests create virtual machines configured to receive non-fatal errors and report them to rasdaemon. These tests use the latest stable versions of the Linux kernel and QEMU.

    By their nature, failures in these tests may be false positives, which are far more common than regressions in QEMU, the Linux kernel, or rasdaemon. Before reporting a regression, check the rasdaemon-ci logs. If the problem is in the toolset, open an issue against the affected tool rather than rasdaemon.

The results from its latest run are automatically updated in this panel:

Test type Scope PASS FAIL
Functional tests (experimental) Features func-feature-pass func-feature-fail
Kernel func-kernel-pass func-kernel-fail
RAS Daemon func-rasdaemon-pass func-rasdaemon-fail
Unit tests rasdaemon unit-rasdaemon-pass unit-rasdaemon-fail
ras-mc-ctl unit-ras-mc-ctl-pass unit-ras-mc-ctl-fail

Building

rasdaemon requires Meson 0.60 or newer, Ninja, a C compiler, libtraceevent, Python, and libpci. Database backends and unit tests have additional optional dependencies described in the building and installation guide.

Configure and build with:

$ make

Install from the configured build directory with:

$ sudo make install

Running

rasdaemon requires root permission to access Linux Kernel tracing nodes and other error events.

Run it in the foreground with --foreground or -f:

$ sudo rasdaemon -f

To record events on a database (by default SQLite3), add add --record or -r:

$ sudo rasdaemon -f -r

Checking errors

To see a summary of rasdaemon found errors (when --record is used):

$ sudo ras-mc-ctl db --errors

The backend defaults to SQLite. See the database guide for configuring SQLite, MySQL/MariaDB, or PostgreSQL. Use rasdaemon --help to list the options compiled into the installed binary.

Documentation

See https://mchehab.github.io/rasdaemon/

User's documentation

Developer's documentation

Security patches

About

Rasdaemon is a RAS (Reliability, Availability and Serviceability) logging tool. It records memory errors, using the EDAC tracing events. EDAC is a Linux kernel subsystem with handles detection of ECC errors from memory controllers for most chipsets on i386 and x86_64 architectures. EDAC drivers for other architectures like arm also exists.

Resources

Contributing

Stars

332 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages