#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import psutil
import requests
import json
disk_limit = 80
disk_path = "/"
def dingding_alert():
url = 'https://oapi.dingtalk.com/robot/send?access_token='
headers = {
"Content-Type": "application/json",
"Chartset": "utf-8"
}
request_data = {
"msgtype": "text",
"text": {
"content": "alert office test server 192.168.50.192 disk usage more than 80% "
},
"at": {
"atMobiles": [],
"isAtAll": False
}
}
send_data = json.dumps(request_data)
response = requests.post(url=url, headers=headers, data=send_data)
content = response.content.decode()
print(content)
def monitor_disk():
global disk_limit
global disk_path
disk_percent = psutil.disk_usage(disk_path).percent
if disk_percent > disk_limit:
dingding_alert()
else:
print("Disk space usage: {}%".format(disk_percent))
if __name__ == '__main__':
monitor_disk()
定时任务
*/10 * * * * /usr/bin/python /home/diskcheck.py
参考文档:
https://www.cnblogs.com/you-men/p/13514532.html
https://www.daimajiaoliu.com/daima/4870a70c7900408
https://www.361way.com/dingding-zabbix-webhook/5526.html