通过nagios监控虚拟主机(apache)带宽和访问者?

我已经安装了Nagios和Centreon,并且希望监控Apache服务器中每个VirtualHost的带宽和访问者数量。 我find了check_http,但是只有在虚拟主机在线时才会检查。

谢谢

容易问这个问题,答案有点棘手,执行起来还是比较困难的。

拥有虚拟主机的主要原因之一就是你可以有多个站点运行相同的IP地址 – 所以为了测量实际的带宽,你需要一个像PasTMon这样的有状态的分组监视系统, /整合。

更简单的解决scheme是将值写入Apache日志文件(%I,%O)以及虚拟主机(%v)。

为了统计访问者,您需要mod_usertrack – 并loggingusertrack cookie的值(默认为%{Apache})。 请注意,浏览器接受/呈现Cookie是可选的。 当通过负载平衡代理连接时,单个用户的会话可能会出现在多个远程主机上,而有可能多个用户可能通过相同的代理访问站点 – 所以远程主机(%h)不是一个准确的指标 – 但是你可能会考虑使用这个对于所报告的cookie始终为空的情况。

您还需要一些工具来parsing日志,并将原始数据转换为更有意义的内容。 但是,在perl或awk(或…?)中实现这一点是微不足道的。 您可以将Apacheconfiguration为将日志直接传送到程序或写入文件,然后尾部文件送入变压器。

Nagios是一个实时系统监视器 – 并不理想适用于监视/报告这类数据。 你可能想看看AWStats – 虽然这只适用于离线数据。

也可以看看

http://httpd.apache.org/docs/2.0/mod/mod_usertrack.html

http://httpd.apache.org/docs/2.0/mod/mod_log_config.html