首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python自动化脚本nginx_status

python自动化脚本nginx_status

作者头像
py3study
发布2018-08-02 15:32:18
发布2018-08-02 15:32:18
6410
举报
文章被收录于专栏:python3python3

运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_status脚本,大神轻喷

代码语言:javascript
复制
#!/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上面的显示结果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/12/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档