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").
- Copy
zabbix/raidstat.sudoersto/etc/sudoers.d/raidstat(change via ansible) - Copy
zabbix/userparameter_raidstat.confto/etc/zabbix/zabbix_agentd.d(change via ansible) - Run make to compile binaries
- Copy compiled binaries to
/opt/zabbix-raidstat - Import template
zabbix/zbx_raid_monitoring_template.yaml