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

Posted lei0213

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态相关的知识,希望对你有一定的参考价值。

参考地址:

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

  https://www.cnblogs.com/zhangxinglong/p/5983376.html

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

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

  技术图片

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

  代码如下:

技术图片
#!/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"

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

技术图片

 

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

  技术图片

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

 技术图片

 

  

以上是关于centos7之zabbix使用 lsiutil监控SAS 6/iR 型号硬盘状态的主要内容,如果未能解决你的问题,请参考以下文章

4.LNPP源码搭建Zabbix5.0.3之CentOS7.6下源码安装zabbix5.0.3

centos7之zabbix监控mysql(mariadb)数据库

Zabbix之CentOS7.3下yum安装Zabbix3.5

centos7.x之yum安装zabbix

centos7之zabbix的web检测

CentOS7.3下Zabbix3.5之邮件报警配置