我已经设置了 Munin,到目前为止,我很喜欢它。我设置了一些基本的 Nginx 监控,并且能够监控 Nginx 的状态和 RAM 使用情况(将 stub_status 编译到 Nginx 中并在配置中激活)。然而,在我设置 Munin 和 Nginx 以执行此操作的过程中,我发现了 nginx_traffic Munin 插件。我在 Munin 中启用了它,就像我对 nginx_status 和 nginx_request 所做的那样,但我的 vhost 流量图表仍然是空白的。
munin-node-configure --suggest
显示 nginx_request 和 nginx_status 已激活并推荐,但没有显示任何其他 nginx_* 插件(虽然我有 nginx_memory,并且它已成功绘制图表)。
有人能至少告诉我如何正确设置这个插件吗?我很乐意使用它。
答案1
我希望 munin 插件需要 nginx 的状态模块。默认情况下不会将其编译进去,即使将其编译进去也不会自动提供。
使用 --with-http_stub_status_module 标志编译 nginx。
确保您已经在server {}
这样的块内启用了存根状态:
location /nginx_status {
stub_status on;
access_log off;
}
重新启动 nginx 以使您的更改生效。
curl
http://yourdomain.example.com/nginx_status验证 nginx 确实返回数据。
确保 munin 知道你的 nginx_status URL 的完整路径。
答案2
我用nginx_vhost_traffic插件。您需要让 nginx 为您想要监控的每个 vhost 生成一个“流量日志”,但这可能比重新编译 nginx 更可行。