码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-12-02 10:30:57      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:nop   监控项   zab   硬盘   添加   disk   eve   问题   rest   

参考地址:

  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 型号硬盘状态

标签:nop   监控项   zab   硬盘   添加   disk   eve   问题   rest   

原文地址:https://www.cnblogs.com/lei0213/p/11969162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!