自制python脚本监控EMC VNXe 3200存储硬盘
admin
2023-02-26 22:21:53
0

自制python脚本监控EMC VNXe 3200存储硬盘
[root@localhost libexec]# vi vnxe.py
#!/usr/bin/env python
import commands
import os
#0 ok; 1 warning; 2 critical; 3 unknown
os.chdir("/usr/local/nagios/libexec/")
(status, output) = commands.getstatusoutput("uemcli -d 10.10.1.11 -u admin -p Password /env/ps show | grep 'Health state'| awk '{print $4}' | wc -l")
if int(output) == 2:
print "VNXe 3200 harddisk ok"
else:
print "VNXe 3200 harddisk fail"

测试运行结果
[root@localhost libexec]# ./vnxe.py
VNXe 3200 harddisk ok

先在commands.cfg中添加命令。
[root@localhost libexec]# vi /usr/local/nagios/etc/objects/commands.cfg
define command {
command_name vnxe
command_line $USER1$/vnxe.py
}

在nagios.cfg中添加以下内容
[root@localhost libexec]# vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/VNXe.cfg

定义主机和服务:在/usr/local/nagios/etc/objects中新建VNXe.cfg
[root@localhost libexec]# vi /usr/local/nagios/etc/objects/VNXe.cfg
define host{
use EMC VNXe 3200
host_name EMC VNXe 3200
alias EMC VNXe 3200
address 10.10.1.11
}

define service{
use generic-service
host_name EMC VNXe 3200
service_description EMC VNXe 3200
check_command vnxe
notifications_enabled 1
}

然后必须在templates.cfg中添加以下内容
[root@localhost libexec]# vi /usr/local/nagios/etc/objects/templates.cfg
define host{
name EMC VNXe 3200 ; The name of this host template
use generic-host ; This template inherits other values from the generic-host template
check_period 24x7 ; By default, EMC VNXe 3200 hosts are checked round the clock
check_interval 5 ; Actively check the host every 10 minutes
retry_interval 1 ; Schedule host check retries at 10 minute intervals
max_check_attempts 10 ; Check each EMC VNXe 3200 host 10 times (max)
check_command check-host-alive ; Default command to check EMC VNXe 3200 hosts
notification_period workhours ; EMC VNXe 3200 admins hate to be woken up, so we only notify during the day
; Note that the notification_period variable is being overridden from
; the value that is inherited from the generic-host template!
notification_interval 120 ; Resend notifications every 2 hours
notification_options d,u,r ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}

放入Nagios测试后,结果出错,(没有任何报错信息)始终找不到问题。原因是Nagios中的 command_line $USER1$/vnxe.py是以nagios账号来运行脚本vnxe.py,抓取不到正确的python脚本结果(前面我们是用root来运行,所以才能得到正确的结果)。以下解决问题。
[root@localhost libexec]# visudo
nagios ALL=(ALL) NOPASSWD:/usr/local/nagios/libexec/vnxe.py
#Defaults requiretty

在commands.cfg中修改命令。
[root@localhost libexec]# vi /usr/local/nagios/etc/objects/commands.cfg
define command {
command_name vnxe
command_line sudo $USER1$/vnxe.py

重启 Nagios生效
[root@localhost libexec]# systemctl restart nagios.service

相关内容

热门资讯

茅台集团总经理王莉已回归工作,... 5月6日晚,据贵州茅台微信公众号消息,当日,“五一”假期后的首个工作日,茅台集团党委书记、董事长陈华...
一句“将军”,他喊了67年 澎湃新闻记者 何锴 柳婧文 编辑 彭玮 设计 王璐瑶9岁爱上象棋,一句“将军”,伴随着他此后的人生。...
探秘AI新势力|一台国产科学计... 开栏的话: “十五五”规划纲要明确提出,全面实施“人工智能+”行动。从新质生产力构建到现代化产业体系...
来自毫克级月球样品,铈嫦娥石发... 近日,我国宣布发现三种月球新矿物:铈嫦娥石、镁嫦娥石、铈镁嫦娥石。发现新矿物,究竟难在哪里?科研团队...
7个项目停6个?“智慧城市”项... 7个项目停6个?“智慧城市”项目为啥“投入即浪费” 西部某县“智慧城市”综合管理中心内散落的办公...
对标OpenClaw!谷歌秘密... 快科技5月6日消息,据媒体报道,谷歌正加快进军“代理型AI”(Agentic AI)赛道。多位知情人...
特朗普突然叫停“自由计划”内幕... 为打破伊朗对霍尔木兹海峡的封锁,美国总统特朗普日前宣布了一项“自由计划”,但是随后又突然叫停了该行动...
美军舰载机战斗机用机炮炸坏伊朗... 据凤凰卫视报道,霍尔木兹海峡通航持续受阻。美国中央司令部5月6日表示,伊朗一艘空载油轮当天试图突破美...
转移余废药物、加固受损房屋 浏... 5月4日,湖南长沙浏阳市华盛烟花制造燃放有限公司车间发生爆炸。事故发生后,湖南省烟花爆竹企业全面停产...
从OTA数据看河南文旅 多项消... 5月5日,“五一”假期收官。全国文旅消费迎来周期、结构、场景的全方位革新,错峰宽峰出行、文化深度体验...