还在使用 MRTG 吗?虽然 MRTG 是一套非常好用的软件,但是它毕竟是一套很旧的软件了,其作者在多年前已经开发出RRDTool 代替该软件,现在已经发展的很成熟了,但由于RRDTool 的指令非常复杂,对于使用者非常的麻烦,幸运的是有一套软件 Cacti 的发展就是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。本文就介绍了该软件在Windows 2003 SP1上安装全过程。
系统环境:windows 2003 sp1
安装包:
apache_2.2.4-win32-x86-no_ssl.msi
cacti-0.8.6j.zip
cacti-cactid-0.8.6i-cygwin-1.5.21.zip
mysql-5.0.37-win32.zip
php-5.2.1-Win32.zip
rrdtool-1.2.15-cygwin-1.5.20.zip
MySQL.Front-v3.2.14.3.rar
net-snmp-5.4.0-1.win32.exe
一、安装Apache并配置PHP
安装Apache
点击安装文件apache_2.2.4-win32-x86-no_ssl.msi将apache安装在 c:\apache2 目录下(随自己喜好)。
解压安装PHP并设置环境变量
把php-5.2.1-Win32.zip解压到c:\php目录中,并设置环境变量如下图所示。

新建系统变量:变量名:MIBDIRS,变量值:c:\php\extras\mibs;

新建系统变量:变量名:PHPRC,变量值:c:\php;

编辑系统变量Path,增加“;c:\php;c:\php\ext;”
配置PHP
将c:\php目录中的php.ini-dist重命名为php.ini,编辑php.ini文件,找到extension_dir = "./" 改为 extension_dir = "c:/php/ext",找到
;extension=php_mysql.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
将';'去掉改为
extension=php_mysql.dll
extension=php_snmp.dll
extension=php_sockets.dll
配置Apache服务器
在Apache的安装目录下找到并打开conf\httpd.conf文件,
找到 #LoadModule ssl_module modules/mod_ssl.so 这行,在此行后加入一行
LoadModule php5_module c:/php/ php5apache2_2.dll,其中c:/php/ php5apache2_2.dll 为你php目录中php5apache2_2.dll所在的位置
LoadModule php5_module c:/php/ php5apache2_2.dll,其中c:/php/ php5apache2_2.dll 为你php目录中php5apache2_2.dll所在的位置
找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
AddType application/x-httpd-php .php
找到 DirectoryIndex index.html在后面加入 index.htm index.php
AddType application/x-httpd-php .php
找到 DirectoryIndex index.html在后面加入 index.htm index.php
找到 DocumentRoot "c:/Apache2/htdocs" 将其改为你的WEB目录(可不改)
测试PHP是否安装成功
此时PHP环境已经配置成功,在WEB根目录(如我的c:\website)里建一个名为test.php的文件内容如下
echo phpinfo(); ?>
重新启动apache服务
用浏览器打开 如果可以看到如下图所示的php配置输出信息就OK了。

二.安装并配置MYSQL
1.安装配置Mysql
在windows 下安装Mysql比较简单,和正常软件一样,下一步下一步就可以了,但最好把它的安装目录设置短一点,如:c:\mysql;安装成功后会有一个配置向导,如下图所示配置。










2.安装MySQL.Front-v3.2.14.3
Mysql.front是windows 下小巧的管理Mysql的应用程序.主要特性包括多文档界面,语法突出,拖拽方式的数据库和表格,可编辑/可增加/删除的域,可编辑/可插入/删除的记录,可显示的成员,可执行的SQL 脚本,提供与外程序接口,保存数据到CSV文件等。直接下一步下一步安装就可以。最后建立和本机Mysql的连接后,新建数据库cacti,并新建用户cactiuser,密码cactiuser,并给cactiuser开启cacti数据库完全管理权限。
三.安装net-snmp,rrdtool,cactid
将net-snmp安装到c:\net-snmp目录下;将rrdtool-1.2.15-cygwin-1.5.20.zip,解压到c:\rrdtool;将cacti-cactid-0.8.6i-cygwin-1.5.21.zip解压到c:\cactid目录,并从c:\rrdtool下地cygz.dll复制到c;\cactid;
四.安装配置cacti
在apache的DocumentRoot下新建cacti目录,将cacti-0.8.6j.zip解压到这个目录;在浏览器中输入,就可以进入cacti的安装界面,初始用户名和密码都为admin,第一次进入后会要求你更改默认密码,在cacti的setting设置所有工具正确的路径。
官方推荐的路径
如果使用php4的话: c:\php\php.exe
如果使用php5的话: c:\php\php-win.exe
RRDTool Binary Path:c:\rrdtool\rrdtool.exe.
SNMPGET, SNMPWALK Paths:c:\net-snmp\bin\snmpwalk.exe c:\net-snmp\bin\snmpget.exe
Cacti Logfile Path:c:\website\cacti\log\cacti.log
Cactid Path:c:\cactid\cactid.exe
5.安装后的一些配置
配置“计划任务”,将poller.php设置为每5分钟执行一次。
开始-设置-控制面板-任务计划-添加任务计划-浏览c:\php\php.exe 设置成每天执行,高级里面选每5分钟执行一次,持续24小时;再返回到属性的首页,运行(R)改成C:\php\php.exe C:/apache2/htdocs/cacti/poller.php
起始于改成C: /Apache2/htdocs/cacti
起始于改成C: /Apache2/htdocs/cacti
由于PHP 5.0的版本还有一些BUG,运行C:\php\php.exe C:/apache2/htdocs/cacti/poller.php会有一些错误,我们需要修改cacti/cmd.php文件,找到$guess = substr(__FILE__,0,2);在前面加入$guess = strtolower($guess);
六.监控windows
通过“添加/删除组件”,安装“简单网络管理协议(snmp)”,安装完Snmp以后在Windows 的服务里的Snmp Service可以看到安全选项。
选择上 发送身份验证陷阱 ,添加 团体为 public ,权限为 只读 。在下方选择 接受来自这些主机的snmp 数据包 ,添加上snmp browser 的IP地址。