python自动化脚本nginx_status

运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控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上面的显示结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

另一个强大的Visualizers :Mole For Visual Studio

前面介绍了一个 好用的WCF Visualizers ,这里有一个可以看几乎开发中应用到对象的,叫做Mole,最新版本是 4.2。安装和说明看这里:http:/...

1996
来自专栏哲学驱动设计

发布 Rafy .NET Standard 版本 Nuget 包

去年年中,Rafy 框架的源码就已经支持了 Net Standard 2.0 版本。其开源代码也已经上传到 Github 中:https://github.co...

1513
来自专栏点点滴滴

KMS激活Windows与Office vol版

1642
来自专栏一棹烟波

文件操作常用函数

文件重命名: rename(inFilePath.c_str(), outFilePath.c_str()) 文件移动(剪切): MoveFileA(inFil...

3675
来自专栏漫漫全栈路

【译】ASP.NET MVC 6路由技术

原文作者:Pramod Gawande 原文地址:https://dzone.com/articles/aspnet-mvc-6-routing-techniq...

3097
来自专栏张善友的专栏

升级个人网站框架组件IBatisNet+Castle

今天晚上花了两个小时从Castle网站拿到最新的Castle.Facilities.IBatisNetIntegration代码,将IBatisNet版本升级到...

2297
来自专栏张善友的专栏

.Net Core下通过Proxy 模式 使用 WCF

.NET Core下的WCF客户端也是开源的,这次发布.NET Core 2.0,同时也发布了 WCF for .NET Core 2.0.0, 本文介绍在.N...

2275
来自专栏跟着阿笨一起玩NET

VS扩展CodeMaid代码整理插件

本文章转载:http://www.cnblogs.com/wintersun/p/3577039.html

4491
来自专栏黑泽君的专栏

教你如何解决Sublime Text 3使用中出现的中文乱码问题

Sublime Text 3 是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦。

8503
来自专栏开发与安全

linux系统编程之进程(五):终端、作业控制与守护进程

一、终端的概念 在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal)...

2619

扫码关注云+社区

领取腾讯云代金券