I am LAZY bones? AN ancient AND boring SITE

2009年 09月 25日 的归档

ubuntu下,给现有网站加个简单的流量监控的方法

这里假设你已经用LAMP或者其他东西建立好了一个网站,并可以正常访问了。比如我的ubuntu源
在这样的基础上,如果你要给你的站加一个流量监控的功能的话。可以选择最基础的mrtg
mrtg是一个基于snmp的web监控软件,可以生成系统信息的图表结果,这个“系统信息”其实不仅包括网络流量,还可以是CPU/负载/内存等其他信息。如果你想监控更多信息,可以参考这个页面
我这里只以我需要的网络流量为例。
安装必要的包:

sudo apt-get install snmpd mrtg

再修改snmpd的配置,编辑 /etc/snmp/snmpd.conf ,找到以下几行,改成这样:

#       sec.name  source          community
#com2sec paranoid  default         public   #注释掉这行
com2sec readonly  default         public    #再把这行打开
#com2sec readwrite default         private

这样,其他进程就可以通过snmp读取相关信息了。记得修改完配置需要

sudo /etc/init.d/snmpd restart

重启一下snmpd。

接下来要修改mrtg的配置了。mrtg的配置文件是 /etc/mrtg.cfg ,他的格式比较复杂。所以mrtg提供了专门的命令行工具──cfgmaker──来生成它的配置文件,你只需要通过给cfgmaker传入特定的参数,即可生成相应的配置。
还是以我的简单应用为例:

cfgmaker --global "WorkDir: /data/mirrors/mrtg" public@localhost | sudo tee /etc/mrtg.cfg

这样就把生成的配置文件写入了 /etc/mrtg.cfg,你也可以再打开确认一下是否符合你的要求。
下一步是生成mrtg的index.html文件,方法如下:

sudo indexmaker /etc/mrtg.cfg | sudo tee /data/mirrors/mrtg/index.html

注意了,这个index.html文件只需要手工生成一次,以后就都是静态的了,除非你修改过 /etc/mrtg.cfg 就不用再次生成了。但是这个html文件会引用其他的图片之类的,就需要重新生成了,默认ubuntu的mrtg已经把这个任务加进crontab了,5分钟执行一次,所以稍等片刻,你就可以访问了。
我配置的mrtg访问地址是http://ubuntu.srt.cn/mrtg/

另外也参考其他类似的流量统计软件 awstats