zabbix使用python自定义key

1、写好脚本

[root@xxx monitor]# cat dir_exist.py
#!/usr/bin/env python
#coding:utf-8
"""
目录存在返回1,目录不存在返回-1
"""
import os
from os.path import join ,getsize
try:
dir = os.sys.argv[1]
if os.path.exists(dir):
print 1
else:
print 0
except IndexError:
print "用法: python dir_exist.py 目录"

  

 

[root@xxx monitor]# cat dir_size.py 
#!/usr/bin/env python
#coding:utf-8

"""
1、先判断目录是否存在
如果存在就计算出目录大小
如果不存在就返回-1
"""
import os
from os.path import join ,getsize

def getdirsize(dir):
size = 0
for dirs,root,files in os.walk(dir):
for file in files:
path = join(dirs,file)
size += getsize(path)

return size


if __name__ == '__main__':
try:
dir = os.sys.argv[1]
if os.path.exists(dir):
filesize = getdirsize(dir)
filesize = filesize / 1024
print filesize
#print 'There are %.2f ' %(filesize/1024),'Kb in /home/bruce/Downloads'
else:
print 0
except IndexError:
print "用法: python dir_size.py 目录"

 

  

2、修改zabbix_agentd.conf配置文件

[root@xxx monitor]# egrep -v "^$|^#" /etc/zabbix/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=192.168.xx.xx
ServerActive=192.168.xx.xx
Hostname=xxx
UserParameter=dir_exists[*],python /home/zabbix/monitor/dir_exist.py $1     #这个是可以接参数的
UserParameter=dir_size[*],python /home/zabbix/monitor/dir_size.py $1

  

 

3、前端配置

 

posted @ 2016-02-17 09:58  fish01  阅读(611)  评论(0)    收藏  举报