python自动化脚本nginx_status
短信预约 -IT技能 免费直播动态提醒
运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_status脚本,大神轻喷
#!/usr/bin/python
# coding: utf-8
import urllib.request
import socket
#自动获取主机ip地址
myname = socket.getfqdn(socket.gethostname())
myaddr = socket.gethostbyname(myname)
class MonitorNginx(object):
def __init__(self):
self.URL = 'http://' + str(myaddr) + '/nginx_status'
self.ActiveCconnections = ''
self.Reading = ''
self.Writing = ''
self.Waiting = ''
self.dict_nginx = {}
self.run()
def run(self):
response = urllib.request.urlopen(self.URL)
html = response.readlines()
self.ActiveCconnections = int(str(html[0]).split(':')[1].split(' ')[1])
self.Reading = int(str(html[-1]).split(':')[1].split(' ')[1])
self.Writing = int(str(html[-1]).split(':')[2].split(' ')[1])
self.Waiting = int(str(html[-1]).split(':')[3].split(' ')[1])
self.dict_nginx['ActiveCconnections'] = self.ActiveCconnections
self.dict_nginx['Reading'] = self.Reading
self.dict_nginx['Writing'] = self.Writing
self.dict_nginx['Waiting'] = self.Waiting
print(self.dict_nginx)
if __name__ == '__main__':
st = MonitorNginx()
应该看到的结果
{'Waiting': 0, 'ActiveCconnections': 41, 'Writing': 41, 'Reading': 0}
这里面的值就是nginx_status上面的显示结果
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341