0
点赞
收藏
分享

微信扫一扫

centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态

花明 2022-05-25 阅读 44

参考地址:

  https://yq.aliyun.com/articles/457140

下载地址:https://www.broadcom.com/site-search?q=LSIUtil_1.62

  lsiutil -p 1 -a 21,2,0,0,0 — 查看物理硬盘状态

  centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态_触发器

  我们遍历所有硬盘的online信息,如果每块硬盘的状态如果是online的话,就是数字0,如果不是online就是数字1,我们把所有硬盘放到一个python列表里面,算总和,如果等于0,就说明所有硬盘都是online,如果有一块有问题,那就是1,两块有问题就是2,这些值可以在每台机器上单独设置触发器。

  代码如下:

centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态_自定义_02centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态_自定义_03

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
import os
import time

disk_all_info = []


def disk_list_info():
info_all = os.popen("sudo /opt/MegaRAID/MegaCli/lsiutil -p 1 -a 21,2,0,0")
for i in info_all.readlines():
disk_all_info.append(i.strip())
return True

def pydisk_info():
total = 0
disk_status = []
for i in disk_all_info[13:-3]:
if i.startswith("PhysDisk State"):
status = i.strip()
if status[15:].strip() != "online":
disk_status.append(1)
else:
disk_status.append(0)
for j in disk_status:
total += j
print(total)


if __name__ == '__main__':
if disk_list_info():
pydisk_info()

disk-smart-health.py


   安装方式

   1、首先我们要下载lsiutil工具,放到自己喜欢的位置,然后修改脚本中的执行的绝对路径。

   2、给脚本755执行权限。

  3、部署zabbix监控环境(Linux)

    3.1修改zabbix_agentd的配置文件,开启自定义脚本监控开关。

    vim   /etc/zabbix/zabbix_agentd.conf

        增加下面两项,开启自定义脚本开关,并制定脚本位置。

Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters=1

    cd  /etc/zabbix/zabbix_agentd.conf.d

    vim disk-smart-health.conf

    增加下面一行内容

UserParameter=disk.status,/etc/zabbix/scripts/disk-smart-health.py

    mkdir -p /etc/zabbix/scripts/

    cd  /etc/zabbix/scripts/

     vim disk-smart-health.py

    将前面的代码复制粘贴进去保存退出。

   4、设置sudo权限,设定zabbix用户免密以sudo权限执行:

echo "zabbix ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/zabbix

  5、重启zabbix,理论只需重启agent端即可:

service zabbix_agentd restart

  6、我这里用的是zabbix分布式监控,所以我在代理的服务器上用zabbix_get检测,对不对。

/usr/local/zabbix-3.2.6/bin/zabbix_get -s 172.16.200.101  -p 10050 -k "disk.status"

  能够正常获取到值,代表正常。  

centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态_vim_04


   7、zabbix添加监控项和触发器。

  centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态_触发器_05

  触发器这里我们设置,只要它返回的值不等于0就说明它故障了。 

 centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态_vim_06






举报

相关推荐

0 条评论