编写python3脚本监控Nginx服务状态

本是古典 何须时尚 2022-09-11 00:06 249阅读 0赞

nginx自定义json格式日志

  1. #注意:此指令只支持http块,不支持server块
  2. log_format access_json '{"@timestamp":"$time_iso8601",'
  3. '"host":"$server_addr",'
  4. '"clientip":"$remote_addr",'
  5. '"size":$body_bytes_sent,'
  6. '"responsetime":$request_time,' #总的处理时间
  7. '"upstreamtime":"$upstream_response_time",'
  8. '"upstreamhost":"$upstream_addr",' #后端应用服务器处理时间
  9. '"http_host":"$host",'
  10. '"uri":"$uri",'
  11. '"xff":"$http_x_forwarded_for",'
  12. '"referer":"$http_referer",'
  13. '"tcp_xff":"$proxy_protocol_addr",'
  14. '"http_user_agent":"$http_user_agent",'
  15. '"status":"$status"}';
  16. access_log /apps/nginx/logs/access_json.log access_json;

编写py3脚本实现json 格式的日志访问统计

  1. #python3
  2. #!/usr/bin/env python3
  3. #coding:utf-8
  4. status_200= []
  5. status_404= []
  6. with open("access_json.log") as f:
  7. for line in f.readlines():
  8. line = eval(line)
  9. if line.get("status") == "200":
  10. status_200.append(line.get)
  11. elif line.get("status") == "404":
  12. status_404.append(line.get)
  13. else:
  14. print("状态码 ERROR")
  15. print((line.get("clientip")))
  16. f.close()
  17. print("状态码200的有--:",len(status_200))
  18. print("状态码404的有--:",len(status_404))

发表评论

表情:
评论列表 (有 0 条评论,249人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nginx服务状态监控

    [Nginx服务状态监控][Nginx]   在Nginx的插件模块中有一个模块stub\_status可以监控Nginx的一些状态信息,默认安装可能没有这个模块,手动编

    相关 zabbix 监控nginx状态

    很久没有写博客了,今天遇到个麻烦事,网站的访问量突然加大,监控报警是把我的机房带宽全部跑满了,最后把硬件防火墙的策略改动之后才恢复正常。然后负责人要关于nginx网站,和带宽的

    相关 zabbix 监控nginx状态

    很久没有写博客了,今天遇到个麻烦事,网站的访问量突然加大,监控报警是把我的机房带宽全部跑满了,最后把硬件防火墙的策略改动之后才恢复正常。然后负责人要关于nginx网站,和带宽的