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、前端配置