This page looks best with JavaScript enabled

Monitoring Adaptec Disk Controllers with Zabbix

 ·  🎃 kr0m

We have already explained how to monitor LSI controllers with Zabbix , now it’s time for Adaptec, another well-known hardware manufacturer. The procedure is basically the same, but this time we don’t have an online template, so we will create it manually.

We download the Adaptec proprietary tool:
https://www.adaptec.com/en-us/speed/raid/storage_manager/arcconf_v1_4_20859_zip.php

We unzip the tool and copy the files to the system path:

mkdir adaptec
mv arcconf_v1_4_20859.zip adaptec/
cd adaptec/
unzip arcconf_v1_4_20859.zip
cp linux_x64/cmdline/arcconf /usr/sbin/
chmod 700 /usr/sbin/arcconf

We configure the Zabbix client part:

vi /etc/zabbix/conf.d/adaptec.conf

UserParameter=adaptec.status,/var/lib/zabbix/externalscripts/adaptec_status.sh

We program the script to check the controller and disks:

vi /var/lib/zabbix/externalscripts/adaptec_status.sh

#! /bin/bash
# Failed
failed=$(/usr/sbin/arcconf GETCONFIG 1 | grep "Logical devices" | awk -F "/" '{print $4}')
# Degraded
degraded=$(/usr/sbin/arcconf GETCONFIG 1 | grep "Logical devices" | awk -F "/" '{print $5}')
# Status
status=$(/usr/sbin/arcconf GETCONFIG 1 | grep "Controller Status"|grep -vc Optimal)

if [ $failed -ne 0 ] || [ $degraded -ne 0 ] || [ $status -eq 1 ]; then
    zabbix_sender -z ZBXSERVER_IP/ZBX_PROXY_IP -s SERVER_NAME -k adaptec.status -o 1
else
    zabbix_sender -z ZBXSERVER_IP/ZBX_PROXY_IP -s SERVER_NAME -k adaptec.status -o 0
fi
chmod 700 /etc/zabbix/adaptec_status.sh

We restart the Zabbix agent:

/etc/init.d/zabbix-agentd restart


We create the template in the Zabbix web interface:

Configuration -> Templates -> Create Template
AdaptecStatus
Add

Aplications -> Create aplication
AdaptecStatus

Items -> Create item
Name: AdaptecStatus
Type: Zabbix trapper
Key: adaptec.status
Type of information: Numeric unsigned

Triggers -> Create trigger
Name:
AdaptecStatus Fail
Expression:
{AdaptecStatus:adaptec.status.last()}=1

We manually test the trigger:

zabbix_sender -z ZBX_SERVER_IP/ZBX_PROXY_IP -s SERVER_NAME -k adaptec.status -o 1

If you liked the article, you can treat me to a RedBull here