首页 > Python > python统计nginx日志的条数及错误率
2016
08-18

python统计nginx日志的条数及错误率

以下内容为马哥教育comyn讲师讲解python的片段

目的:统计nginx日志在一定时间段内的数量和错误率,并展现出来

实现:用python脚本匹配nginx日志,计算日志条数和错误率,再借助于influxdb数据库和grafana图形展示

influxdb创建一个日志状态的数据库库

下面是python分析nginx日志脚本

yield用法可以查看此链接https://docs.python.org/3/reference/expressions.html#yieldexpr

yield from f  == for i in f:    yield i

上述python脚本 https://github.com/bbotte/bbotte.com/blob/master/nginx_log_error_rate_statistics.py,有客户端访问nginx服务生成日志,执行python脚本,

下面为grafana图形化的展示配置

浏览器打开http://IP:3000/,配置数据库

python统计nginx日志的条数及错误率 - 第1张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

python统计nginx日志的条数及错误率 - 第2张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

influxdb数据库名称写mydb,下面用户名密码就是admin,admin。数据库源添加完毕再点击dashboards–new。在出现的图表左上角,点击绿色竖条的菜单栏–Add Panel–Graph,将出现默认的一个图标样式。

python统计nginx日志的条数及错误率 - 第3张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

如上图,选择刚添加的数据名称,再编辑数据库语句python统计nginx日志的条数及错误率 - 第4张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

python统计nginx日志的条数及错误率 - 第5张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

添加3个field,count、error_rate,traffic,把group by删除就会看到图形化的展示,上面执行的数据库语句为 SELECT “count”, “error_rate”, “traffic” FROM “access_log” WHERE $timeFilter ,修改完毕保存即可。

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。