Simple parser for arcconf, ssacli and mvcli written in Go.
Zabbix template provides LLD for controllers, logical and physical drives.

Configured host must have macros {$RAID_VENDOR} (as value for cli option -vendor).

raidstat: parse raid vendor tool output and format it as json
Usage:
zabbix-raidstat (-v <VENDOR>) (-d <OPTION> | -s <OPTION>) [-i <INT>]
Options:
-v, --vendor <VENDOR> raid tool vendor, one of: adaptec | hp | marvell
-d, --discover <OPTION> discovery option, one of: ct | ld | pd
-s, --status <OPTION> status option, one of: ct,<CONTROLLER_ID> | ld,<CONTROLLER_ID>,<LD_ID> | pd,<CONTROLLER_ID>,<PD_ID>
-i, --indent <INT> indent json output level [default: 0]
-h, --help show this screen
Config file config.json is used for raid vendors -> tools configuration.
{
"vendors": {
"hp": "ssacli",
"vendor1": "/PATH/TO/BINARY1",
"vendor2": "/PATH/TO/BINARY2"
}
}
Vendor name is used as plugin name (like "hp.so").
Run make to compile all in build directory
Run mnake tar to get an archive
- Copy
raidstat/zabbix/raidstat.sudoersto/etc/sudoers.d/raidstat - Copy
zabbix/userparameter_raidstat.confto/etc/zabbix/zabbix_agentd.d - Copy compiled binaries to
/opt/raidstat - Import template
zabbix/zbx_raid_monitoring.xml