Change V1.0
优化
解决端口关停,无法告警
自定义port metrics时,优先创建tcp port配置文件
#!/usr/bin/python
# Create Port yaml file
import os
import re
import yaml
import psutil
import socket
server_port={}
HostIp=socket.gethostbyname(socket.gethostname())
if HostIp not in server_port:
server_port[HostIp]=[]
else:
pass
all_pid=psutil.process_iter(attrs=['pid','name'])
for pid in all_pid:
get_port_cmd = os.popen("netstat -tnlp | grep '\<{}\>'".format(pid.pid)).readlines()
for i in get_port_cmd:
port = re.sub(r' +',' ',i).split(" ")[3].split(":")[-1]
server_port[HostIp].append(port)
server_port[HostIp].append("8006")
yaml_fmt=yaml.dump(server_port)
with open(os.path.dirname(os.path.realpath(__file__))+"/port_config.yaml","w",encoding="utf8") as port_file:
port_file.write(str(yaml_fmt))