python stub_Python获取NGINX连接数(ngx_stub_status)

最近在写网站的自动化运营平台,其中有一个CC攻击报警的系统,需要获取到网络服务器实时的连接数来判断是否遭受到攻击。

因为服务器资源还是比较充裕,所以只需要获取当前的并发连接数即可。

但有一个问题,ngx_stub_status插件是以http页面的形式输出的。而且内容还是非json格式。

于是就用到urllib模块,对监控地址进行请求

import urllib.parse

import urllib.request

def data_re():

url = "https://youdomain.com/your-url"

headers = {

# 存储任意的请求头信息

'User-Agent': 'Automated_blog_server_monitoring_platform version1.0.0',

'Referer':url

}

request = urllib.request.Request(url=url, headers=headers)

response = urllib.request.urlopen(request)

the_page = response.read().decode("unicode_escape").splitlines()

#从http读取目标页面的数据分行存入List变量中

connect = int(str(the_page[0]).split(':')[1].strip())

#处理链接数为int类型的变量

print(connect)

可以同理获取到队列等待数等。

代码原理:首先请求页面获取页面内容,然后对页面内容进行拆行解析。每一行为一个元素。使用split()对字符串进行二次拆解分割。最终去除多余的空格,解析出ngx_stub_status的Active connections

同理可以略微改动代码获取到总处理数,队列等待数等数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值