Check Hardware-Raid state with Observium (LSI/Adaptec)
Both methods have been tested on Debian.
To monitor a Hardware-RAID-Controller with Observium the Observium-Agent can be used:
- Firstly install Observium's Agent by using this script: github.com/Zyzonix/attic - observium-agent-quick-install.sh
- Then verify that the correct software for the RAID-Controller in use is installed. LSI:
MegaCLI64
and Adaptecarcconf
is required. Verify a correct working of the software, otherwise the agent's modulehdarray
will not work. - Enable
hdarray
:ln -s /usr/lib/observium_agent/scripts-availabe/hdarray /usr/lib/observium_agent/scripts-availabe/.
- Restart the socket:
systemctl restart observium_agent.socket
Other Method (insecure/outdated)
To use this method the enterprise version of Observium is required!
Structure of this method: Observium uses the check_by_ssh
plugin from Nagios to connect to the remote machine via SSH. A special user with limited access will then execute the check_raid
-Plugin (also from Nagios) on the remote machine and will then send back the output to Observium. An alert checker can then check the RAID-state.
Setup:
- Firstly install
monitoring-plugins-contrib
on the remote machine andmonitoring-plugins-basics
on Observium. - Then add a user called
observium
on the remote machine and add him to the groupssh
:sudo usermod -aG ssh observium
- Edit the
/etc/sudoers
file and allowobservium
to executecheck_raid
, therefore add the following lines:# Add permission for knecht (used by Observium) to execute check_raid observium ALL= NOPASSWD: /usr/lib/nagios/plugins/check_raid
- Now allow password-less authentication by copying the SSH-keys from the observium machine to the remote machine:
ssh-copy-id -i .ssh/id_rsa.pub observium@<remote-ip>
- By default the
check_by_ssh
plugin is disabled for Observium. Enable it by adding the following lines to/opt/observium/includes/definitions/entities/probes.inc.php
:// Custom extension for remote checks $probe = 'check_by_ssh'; $config['probes'][$probe]['enable'] = 1; $config['probes'][$probe]['descr'] = 'Execute checks remotely via SSH'; // End of custom code
- Finally restart
apache2
- Now add a probe in Observium's webinterface with the following values:
Config-Option | Value |
---|---|
Device | Remote-Device |
Probe Type | check_by_ssh |
Description | RAID | <hostname> |
Extra arguments | -H <hostname> -l observium -C '/usr/bin/sudo /usr/lib/nagios/plugins/check_raid' |
Check
/opt/observium/includes/definitions/entities/probes.inc.php
after each update to verify that check_by_ssh
is still enabled!