Collects adapter, physical drives and battery stats using megacli
command-line tool.
Executed commands:
sudo -n megacli -LDPDInfo -aAll
sudo -n megacli -AdpBbuCmd -a0
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
- Reset Netdata's systemd unit CapabilityBoundingSet (Linux distributions with systemd)
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
- Adapter State
- Physical Drives Media Errors
- Physical Drives Predictive Failures
- Battery Relative State of Charge
- Battery Cycle Count
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.
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.