如何使用munin监控nginx的HTTP响应错误代码?

我正在开始使用Munin来监视一个正在生产的Nginx服务器。 有一件事我特别感兴趣的是错误率 – 代码在50x范围内的HTTP响应。 我想知道是否:

  1. 有一个现有的插件来做到这一点?
  2. 或者,编写我自己的插件最好的方法是什么? 访问日志parsing?

那么,这样的动物不存在,所以我变出了它 。

您将在要点中find最新的代码。 请享用。

我不知道任何开箱即用的OSS解决scheme。 我个人写这种插件,但不能共享代码。 这是两个阶段:

  1. loggingparsing器收集新鲜的统计信息(如tail -f )。 由于您可以定义Nginx日志格式,因此您可以自由logging所需的值,例如状态码,上游请求时间等。
  2. 穆宁插件向穆宁报告统计。

你将不得不分享这两部分之间的状态。 有一些select:在内存中(我的日志parsing器的实现是事件驱动守护进程存储内存中的所有统计信息); MongoDB的; Redis的; 传统的MySQL; 共享内存; 等等

所以这个链接是在munin仓库中的nginx插件。 (非常简短)search之后,找不到任何明显的东西,或者网上的任何东西。

我写了几个munin插件,并没有那么难。 你应该可以写一个来达到你想要的。 我只会计算当前日志中的50个错误的数量,并将其作为DERIVEtypes返回,最小值为0.这样,您可以返回一个值,并且如果rrdtool增加,就可以运行rrdtool。 注意 – 如果在一天结束时你有130个50x的错误,并且日志被旋转,并且直接得到了131个错误,那么这将会是个问题,图表会认为这个值是1。

另一个选项是跟踪日志文件名,并返回实际增加值,并在日志旋转时将其重置。