清除Nginx Vhost Traffic Status页面多余Server Zone

在使用Nginx VT Module模块对Nginx做状态监控时,VTS页面会有非常多不想要的Server Zones信息,特别是页面内容特别多的时候,这个会拖慢我们快速找到想要数据的进度。

如何对不想要的数据做删除呢?

官方文档提供了删除接口:

GitHub - vozlt/nginx-module-vts: Nginx virtual host traffic status module

例如:删除www.abc.com这个zone

使用浏览器访问或者使用curl 命令执行

http://<替换IP>/vt_status/status/control?cmd=delete&group=server&zone=www.abc.com

$ curl http://<IP>/vt_status/status/control?cmd=delete&group=server&zone=www.abc.com

上面是单个删除,那要批量全部删除呢?

首先,先将当前VTS页面转成JSON格式,将JSON内容保存下来,比如:ngx_vs.json

其次,写一段Python程序,读入JSON,获取当前JSON里面serverZones块里面的serverzone名称,比如:www.bwtpeh.com

import json
import urllib3

if __name__ == '__main__':
    with open('ngx_vs.json', 'r') as read_content:
        obj = json.load(read_content)
        obj_str = json.dumps(obj)
        obj_dict = json.loads(obj_str)
    http_client = urllib3.PoolManager()

    serverZones = obj_dict['serverZones']
    for sz in serverZones:
        print(sz)
        url = 'http://<替换IP>/vt_status/status/control?cmd=delete&group=server&zone='+sz
        r = http_client.request('GET', url)
        print(r.data)
        #break

这时候,再去查看VTS页面就会发现非常干净整洁。可以将该脚本放到定时任务,定期执行清理。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值