有nginx Web服务器,它服务于来自不同User-Agent的API调用。我想解析nginx日志并收集有关来自不同User-Agent的API调用的统计信息。
我要编写python脚本来像这样https://gist.github.com/sysdig-blog/22ef4c07714b1a34fe20dac11a80c4e2#file-prometheus-metrics-python-py来解析nginx access.log
还有更合适的解决方案吗?
答案 0 :(得分:0)
我强烈反对这种方法。
解析日志是一项古老的任务,并且有许多工具可以有效地完成此任务。
就我个人而言,Fluentd - Open Source Data Collector取得了成功,但还有更多工具,具体取决于您的特定需求。
选择工具时,与社区有关,例如,工具的插件/附件的数量和质量。
因此,如果使用谷歌搜索fluentd prometheus可以从github和开发人员本身获得一些结果,那可能就是您正确的做法。
答案 1 :(得分:0)
当应用程序不公开白盒监视端点时,解析日志是唯一的解决方案。
在这里,您可以根据设置的规模和预算进行多种选择:
滚动自己的脚本将是万不得已的方法:如果您需要统计信息,则无法从需要提取上下文的货架工具或统计信息中获取。但这是以处理痛苦的场景为代价的。对于您而言,滚动时跟随文件可能会成为问题。