nagios通过python获取ESXi硬盘SMART信息

简介:

ESXi可以在相关面板上看见smart信息, 我这边公司用的是组装的服务器,然后不支持,只好用SSH的办法去获取了。
Nagios监控是按退出的状态代码来显示相关信息的。
退出代码如下:
0 ok; 1 warning; 2 critical; 3 unknown

python可以用 paramiko 去实现SSH连接并执行命令这一过程。
paramiko 下载位置
pypi.python.org/pypi/paramiko

#!/usr/bin/env python
import paramiko
import re
import sys
#0 ok; 1 warning; 2 critical; 3 unknown

user, passwd = "root", "123"

def get_disk_status(ip,username,passwd):
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(ip,22,username,passwd)
    stdin, stdout, stderr = ssh.exec_command('for i in `esxcli storage core device list | grep "Local ATA Disk" | sed  "s/.*(\|)//g"`; do esxcli storage core device smart get -d "$i" | grep Health ; done')
    d = stdout.read()
    ssh.close()
    if len(re.findall('OK', d)) == len(re.findall('Health', d)):
        print "Dist Smart OK"
        sys.exit(0)
    else:
        print "Disk Smart Fail"
        sys.exit(2)

if __name__ == '__main__':
    get_disk_status(sys.argv[1],user, passwd)

上面的代码 直接保存到 nagios安装位置下面的 libexec 下面。 然后在监控那边添加服务

define service{
        use                             one-day-service
        host_name                       ESX_100_3
        service_description             Disk_Smart
        check_command                   check_esxi
        }

重启nagios搞定



本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1639566,如需转载请自行联系原作者

相关文章
|
1月前
|
数据挖掘 数据安全/隐私保护 开发者
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
75 0
|
2月前
|
数据可视化 数据挖掘 开发工具
【办公自动化】用Python批量从上市公司年报中获取主要业务信息
【办公自动化】用Python批量从上市公司年报中获取主要业务信息
61 0
|
3月前
|
开发者 Python
京东商品类目信息数据接口python
京东商品类目信息数据接口python
26 0
|
3月前
|
API Python
1688公司档案信息数据接口Python
1688公司档案信息数据接口Python
32 1
|
4月前
|
关系型数据库 MySQL Docker
利用docker 开发 信息系统,python + mysql + flask + jquery
利用docker 开发 信息系统,python + mysql + flask + jquery
59 2
|
5月前
|
Python
145 python网络编程 - UDP绑定信息
145 python网络编程 - UDP绑定信息
33 0
|
5月前
|
API Python
获取虾皮全网站的商品详情信息的Python代码
获取虾皮全网站的商品详情信息的Python代码
|
12天前
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息
|
13天前
|
机器学习/深度学习 数据可视化 数据挖掘
用Python进行健康数据分析:挖掘医疗统计中的信息
【4月更文挑战第12天】Python在医疗健康数据分析中扮演重要角色,具备数据处理、机器学习、可视化及丰富生态的优势。基本流程包括数据获取、预处理、探索、模型选择与训练、评估优化及结果可视化。应用案例包括疾病预测、药物效果分析和医疗资源优化,例如使用RandomForestClassifier进行疾病预测,Logit模型分析药物效果,以及linprog优化医疗资源配置。
|
1月前
|
数据采集 存储 自然语言处理
使用Python分析网易云歌曲评论信息并可视化处理
在数字化时代,音乐与我们的生活紧密相连,而网易云音乐作为国内知名的音乐平台,拥有庞大的用户群体和丰富的歌曲评论信息。这些评论信息不仅反映了用户对于歌曲的情感态度,还蕴含着大量的有价值的数据。通过对这些评论信息进行分析和可视化处理,我们可以更好地理解用户的喜好、情感变化以及歌曲的影响力。
40 0

热门文章

最新文章