郑重声明如有雷同纯属巧合,本人自学的没有任何编程经验 ,写的不好 随便喷 。废话不多说,直接上代码。
实验环境:
Cent OS 6.5
python 2.7
########################################################################################################################
#coding:utf-8
import socket
import time
import psutil
import json
import urllib
import urllib2
import getpass
#url webhook的地址 就是你钉钉群里自定义机器人webhook地址
url = "webhook地址"
headers = {
"Content-Type":"application/json",
"Charset":"utf8"
}
content_type = []
#获取IP地址
def get_ip():
try:
csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
csock.connect(('8.8.8.8', 80))
(addr, port) = csock.getsockname()
csock.close()
return addr
except socket.error:
return "127.0.0.1"
#获取主机的信息
def details(interval=1):
cpu_status = psutil.cpu_percent(interval)
host_name = socket.gethostname()
ip_addr = get_ip()
mem_status = psutil.virtual_memory().percent
return ip_addr,cpu_status,mem_status
try:
while 1:
content_type = details()
c = int(content_type[1])
m = int(content_type[2])
if c >= 80 or m >= 80:
#发送的内容及格式
data = {
"msgtype": "text",
"text": {
"content": content_type
},
"at": {
"atMobiles": [
"",
],
#是否@所有人 False|True
"isAtAll": True
}
}
sendData = json.dumps(data)
request = urllib2.Request(url,data = sendData,headers = headers)
urllib2.urlopen(request)
#等待5秒
interval = 5
except (KeyboardInterrupt, SystemExit):
pass