MegaRAID controller monitoring with Netdata

Collects adapter, physical drives and battery stats using megacli command-line tool.

Executed commands:

  • sudo -n megacli -LDPDInfo -aAll
  • sudo -n megacli -AdpBbuCmd -a0

Requirements#

The module uses megacli, which can only be executed by root. It uses sudo and assumes that it is configured such that the netdata user can execute megacli as root without a password.

  • Add to your /etc/sudoers file:

which megacli shows the full path to the binary.

netdata ALL=(root) NOPASSWD: /path/to/megacli

The default CapabilityBoundingSet doesn't allow using sudo, and is quite strict in general. Resetting is not optimal, but a next-best solution given the inability to execute megacli using sudo.

As the root user, do the following:

mkdir /etc/systemd/system/netdata.service.d
echo -e '[Service]\nCapabilityBoundingSet=~' | tee /etc/systemd/system/netdata.service.d/unset-capability-bounding-set.conf
systemctl daemon-reload
systemctl restart netdata.service

Charts#

  • Adapter State
  • Physical Drives Media Errors
  • Physical Drives Predictive Failures
  • Battery Relative State of Charge
  • Battery Cycle Count

Enable the collector#

The megacli collector is disabled by default. To enable it, use edit-config from the Netdata config directory, which is typically at /etc/netdata, to edit the python.d.conf file.

cd /etc/netdata # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d.conf

Change the value of the megacli setting to yes. Save the file and restart the Netdata Agent with sudo systemctl restart netdata, or the appropriate method for your system.

Configuration#

Edit the python.d/megacli.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/megacli.conf

Battery stats disabled by default. To enable them, modify megacli.conf.

do_battery: yes

Save the file and restart the Netdata Agent with sudo systemctl restart netdata, or the appropriate method for your system.

Last updated on

Monitor everything in real time – for free

Troubleshoot slowdowns and anomalies in your infrastructure with thousands of per-second metrics, meaningful visualizations, and insightful health alarms with zero configuration.

Get Netdata