Skip to content

mcelog plugin

Plugin name mcelog
Type read
Callbacks config, init, read, shutdown
Status supported
Since 5.8
Copyright 2016–2017 Intel Corporation
Configuration collectd.conf(5)

The purpose of mcelog plugin is to send notifications and stats relevant to Machine Check Exceptions (MCE) when they occur. The plugin leverages the mcelog Linux utility to detect that an exception has occurred. mcelog supports a client server model and does the logging and accounting of exceptions when they occur. The plugin simply leverages the client protocol of mcelog to detect when an exception has occurred. The goal of this equivalence feature is to expose Reliability, Availability and Serviceability (RAS) features metrics and events provided by the platform to higher level fault management applications. The plugin does the following:

  • Checks mcelog server liveliness, reports a failure if it’s not running or if it fails.
  • Retrieve aggregated Memory Corrected and Uncorrected Errors from the client protocol (Submit event/stat).

Mcelog must be configured to run on the platform in daemon mode and logging capabilities must be enabled. For a full description of available options please refer to the collectd.conf(5) manual page.

Synopsis

  <Plugin mcelog>
    <Memory>
      McelogClientSocket "/var/run/mcelog-client"
      PersistentNotification false
    </Memory>
  </Plugin>

Will be changed after branch "feat_mcelog_mem_notification_level" is merged (default if all commented for now is socket):

 # <Plugin mcelog>
 #   <Memory>
 #     McelogClientSocket "/var/run/mcelog-client"
 #     PersistentNotification false
 #   </Memory>
 #   McelogLogfile "/var/log/mcelog"
 # </Plugin>

Parameters

None yet

Metrics


Metric/Feature Name


Date Type


Format Example


Internal Collectd Version


Description


Dependencies


Limitations


Comments


Memory corrected errors


Int


51522


None


Number of Corrected memory errors since the system boot






gets metrics from mcelog daemon.


Memory corrected errors in 24 Hours


Int


51522


None


Number of Corrected memory errors since previous 24 hours






gets metrics from mcelog daemon.


Memory Uncorrected errors


Int


51522


None


Number of Corrected memory errors since the system boot






gets metrics from mcelog daemon.


Memory Uncorrected errors in 24 Hours


Int


51522


None


Number of Corrected memory errors since previous 24 hours






gets metrics from mcelog daemon.


Socket


Int


0


None


Socker number error occurred on






gets metrics from mcelog daemon.


Channel


Char


0


None


Memory channel each channel represents a DIMM module






gets metrics from mcelog daemon.


Memory DIMM


Char


B1


None


Memory DIMM corresponding the memory used by the cores errors occurred on






gets metrics from mcelog daemon.


Memory Slot


Char


1


None


Memory slot corresponding the memory used by the cores errors occurred on






gets metrics from mcelog daemon.


CPU ID


Int


0


Future


CPU ID of the cores errors occurred on. Will be added to new EDAC plugin





Memory Page


Hex


0x12345


Future


Memory page corresponding the memory used by the cores errors occurred on. Will be added to new EDAC plugin






Not part of Collectd. Currently available with kernel EDAC logs


Memory Offset


Hex


0x0


Future


Memory offset in the page. Will be added to new EDAC plugin






Not part of Collectd. Currently available with kernel EDAC logs


Memory Row


Hex


0x12345






Not part of Collectd. Currently available with kernel EDAC logs


Memory Grain


Int


8


Future


The byte granularity or the error grain. Will be added to new EDAC plugin






Not part of Collectd. Currently available with kernel EDAC logs


Error Syndrome


Hex


0x6ce3


Future


Memory syndrome corresponding the memory used by the cores errors occurred on. Will be added to new EDAC plugin






Not part of Collectd. Currently available with kernel EDAC logs


Error Type


Text



Future


Error type. Will be added to new EDAC plugin






Not part of Collectd. Currently available with kernel EDAC logs


Error code


Integer


0101:0090


Future


Error code put out by EDAC. Will be added to new EDAC plugin






Not part of Collectd. Currently available with kernel EDAC logs


Logging


Log path




Configurable logging path






Not part of Collectd. Currently available with kernel EDAC logs


dimmX or rankX directory info


Varying



Future


Expose interface files provided by sysfs through mcX/dimmX or rankX directories






Not part of Collectd. Currently available with kernel EDAC logs


csrowX directory info


Varying



Future


Expose interface files provided by sysfs through mcX/csrowX directories






Not part of Collectd. Currently available with kernel EDAC logs


RAS interrupts


Count on each core


[CoreID]:[InterruptCont]


Future


Expose the RAS related interrupts on cores of interest via Collectd






Discussion open to see if this info can be exposed through the plugin.

Example Graph

None yet. Add one now!

Dependencies

Also See

RAS/mcelog Plugin High Level Design Tests Executed

Configuration

Configuration options · from collectd.conf(5)

See this section in the full configuration reference

The mcelog plugin uses mcelog to retrieve machine check exceptions.

By default the plugin connects to "/var/run/mcelog-client" to check if the mcelog server is running. When the server is running, the plugin will tail the specified logfile to retrieve machine check exception information and send a notification with the details from the logfile. The plugin will use the mcelog client protocol to retrieve memory related machine check exceptions. Note that for memory exceptions, notifications are only sent when there is a change in the number of corrected/uncorrected memory errors.

The Memory block

Note: these options cannot be used in conjunction with the logfile options, they are mutually exclusive.

McelogClientSocket Path Connect to the mcelog client socket using the UNIX domain socket at Path. Defaults to "/var/run/mcelog-client".
PersistentNotification true|false Override default configuration to only send notifications when sent when there is a change in the number of corrected/uncorrected memory errors. When set to true notifications will be sent for every read cycle. Default is false. Does not affect the stats being dispatched.
McelogLogfile Path
The mcelog file to parse. Defaults to "/var/log/mcelog". Note: this option cannot be used in conjunction with the memory block options, they are mutually exclusive.