Zabbix监控服务器硬件RAID阵列卡状态

栏目: 服务器 · 发布时间: 7年前

环境

[root@node tmp]# uname -a

Linux node 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 2119:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@node tmp]# cat /etc/redhat-release

CentOS release 6.9 (Final)

硬件平台

HP ProLiant DL388 Gen9

阵列卡

# hpssacli ctrl all show status

Smart Array P440ar in Slot 0 (Embedded)

ControllerStatus: OK

Cache Status: OK

Battery/Capacitor Status: OK

下载软件

hpssacli-2.10-14.0.x86_64.rpm

下载地址 https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX-c88321dcaaa94c7db3eb5fc651

安装

rpm  -ivh  hpssacli-2.10-14.0.x86_64.rpm

编写 zabbix 监控 shell 脚本

vim  raid_status.sh

#!/bin/bash

if [  $#  -ne "1"  ];then

echo "arg error!"

fi

File_dir="/tmp/hpssacli"

case $1 in

Controller_Status)

result=$(cat $File_dir| grep"Controller Status"|awk -F ': ' '{print $2 }')

[ $result = OK ] && echo 101|| echo 0

;;

Cache_Status)

result=$(cat $File_dir| grep"Cache Status"|awk -F ': ' '{print $2 }')

[ $result = OK ] && echo 102|| echo 0

;;

Battery_Status)

result=$(cat $File_dir| grep"Battery\/Capacitor Status"|awk -F ': ' '{print $2 }')

[ $result = OK ] && echo 103|| echo 0

;;

Controller_Temperature)

result=$(cat$File_dir| grep "Controller Temperature (C):"|awk -F ': ' '{print $2}')

echo $result

;;

Cache_Module_Temperature)

result=$(cat $File_dir| grep"Cache Module Temperature (C):"|awk -F ': ' '{print $2 }')

echo $result

;;

Logical_Drive_Status)

result=$(cat $File_dir| sed -n 99p|awk -F ': ' '{print $2 }')

[ $result = OK ] && echo 104|| echo 0

;;

physicaldrive_1)

result=$(cat $File_dir| sed -n 120p|awk -F ': ' '{print $2 }')

[ $result = OK ] && echo 131|| echo 0

;;

physicaldrive_1_Current_Temperature)

result=$(cat $File_dir| sed -n 129p|awk -F ': ' '{print $2 }')

echo $result

;;

physicaldrive_1_Maximum_Temperature)

result=$(cat $File_dir| sed -n 130p|awk -F ': ' '{print $2 }')

echo $result

;;

physicaldrive_2)

result=$(cat $File_dir| sed -n 141p|awk -F ': ' '{print $2 }')

[ $result = OK ] && echo 132 ||echo 0

;;

physicaldrive_2_Current_Temperature)

result=$(cat $File_dir| sed -n 150p|awk -F ': ' '{print $2 }')

echo $result

;;

physicaldrive_2_Maximum_Temperature)

result=$(cat $File_dir| sed -n 151p |awk -F': ' '{print $2 }')

echo $result

;;

physicaldrive_3)

result=$(cat $File_dir| sed -n 162p|awk -F ': ' '{print $2 }')

[ $result = OK ] && echo 133 ||echo 0

;;

physicaldrive_3_Current_Temperature)

result=$(cat $File_dir| sed -n 171p|awk -F ': ' '{print $2 }')

echo $result

;;

physicaldrive_3_Maximum_Temperature)

result=$(cat $File_dir| sed -n 172p|awk -F ': ' '{print $2 }')

echo $result

;;

physicaldrive_4)

result=$(cat $File_dir| sed -n 183p|awk -F ': ' '{print $2 }')

[ $result = OK ] && echo 134 ||echo 0

;;

physicaldrive_4_Current_Temperature)

result=$(cat $File_dir| sed -n 192p|awk -F ': ' '{print $2 }')

echo $result

;;

physicaldrive_4_Maximum_Temperature)

result=$(cat $File_dir| sed -n 193p|awk -F ': ' '{print $2 }')

echo $result

;;

*)

echo "Usage:$0(status)"

;;

esac

编写raid信息收集脚本:

vimcollect_raid_info.sh

#!/bin/bash

echo $(hpssaclictrl all show config detail>/tmp/hpssacli)

加入定时任务:

#收集raid状态信息

*/10 * * **  root /bin/bash  /usr/local/src/collect_raid_info.sh

在zabbix_agentd加入parameter脚本:

vim/usr/local/zabbix/etc/zabbix_agent.conf

UserParameter=raid.status[*], /usr/local/src/check_raid_status/raid_status.sh $1

重新启动服务:

servicezabbix_agentd restart

在服务端加入监控item:

Zabbix监控服务器硬件RAID阵列卡状态

zabbix服务端监控效果图:

Zabbix监控服务器硬件RAID阵列卡状态

Zabbix监控服务器硬件RAID阵列卡状态


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mission Python

Mission Python

Sean McManus / No Starch Press / 2018-9-18 / GBP 24.99

Launch into coding with Mission Python, a space-themed guide to building a complete computer game in Python. You'll learn programming fundamentals like loops, strings, and lists as you build Escape!, ......一起来看看 《Mission Python》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具