Cacti是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具。使用snmp协议监控。官网:http://www.cacti.net/。这里系统为centOS6.2,监控机IP为192.168.1.100,被监控机IP为192.168.1.200。
一、安装PHP Web Server环境及cacti所需软件包
LAMP、LNMP、LANMP都可以。这里用apache+php+mysql。
yum install httpd mysql mysql-server php php-mysql php-snmp php-pdo rrdtool net-snmp net-snmp-libs net-snmp-utils
配置LAMP过程略过。
二、建立数据库
#mysql -u root -p
mysql>create database cacti default character set utf8;
mysql>create user 'cactiuser'@'localhost' identified by '123456';
mysql>grant all privileges on cacti.* to 'cactiuser'@'localhost';
mysql>flush privileges;
mysql>\q
建立了一个数据库cacti,mysql用户cactiuser,密码为123456。
三、安装cacti
1、目前最新版是cacti-0.8.7i。
cd /tmp
wget http://www.cacti.net/downloads/cacti-0.8.7i.tar.gz
tar -zxvf cacti-0.8.7i.tar.gz
mv cacti-0.8.7i /var/www/html/cacti
chown -R apache:apache /var/www/html/cacti
chmod 777 /var/www/html/cacti/rra
2、修改配置文件:
vim /var/www/html/cacti/include/config.php
修改mysql数据库、用户名、密码:
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "123456";
$database_port = "3306";
$database_ssl = false;
3、导入cacti.sql到cacti数据库:
mysql -u root -p cacti < /var/www/html/cacti/cacti.sql
如没有导入,直接访问cacti目录会报错:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 261900 bytes) in /var/www/html/cacti/lib/adodb/adodb.inc.php on line 833
4、浏览器访问cacti
http://监控机ip/cacti
PS:要先设置好php.ini中的date.timezone值。
进入Cacti Installation Guide后,点击Next。选择New Install,点击Next。查看路径是否都为FOUND,net-snmp版本和rrdtool版本,点击Finish。输入默认用户、密码:admin admin登陆。随后会强制修改默认密码,输入admin用户新密码,点击Save。
四、被监控机器设置
1、安装snmp相关软件包
yum install net-snmp net-snmp-utils net-snmp-libs
PS:CentOS5.x要多安装一个net-snmp-devel。
2、设置snmp v3验证账户
使用安全性更好的v3验证方式。
如开启snmpd服务先要停止:
service snmpd stop
有两个方法设置验证账户。
方法一:
执行:
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
vim /etc/snmp/snmpd.conf
输入:
rouser snmpuser auth
在v3中,“rouser”用于表示只读帐号类型,随后的“snmpuser”是指定的用户名,后边的“auth”指明需要验证。
继续执行:
vim /var/lib/net-snmp/snmpd.conf
在最后加入:
createUser snmpuser MD5 7uO5ja7dO1
方法二:
使用net-snmp-config --create-snmpv3-user命令。
net-snmp-config --create-snmpv3-user -ro
-ro表示只读,username为snmpuser,密码为7uO5ja7dO1,用于加密的密码为12345678。(密码都要超过8位)
另外还有一个net-snmp-create-v3-user和这个命令功能相同。这里使用方法二创建验证账户。
3、启动snmp服务
service snmpd start
4、设置snmpd开机自启动
chkconfig --level 345 snmpd on
5、检查net-snmp
snmpwalk -v3 -u snmpuser -l auth -a MD5 -A 7uO5ja7dO1 127.0.0.1 system
命令格式:
snmpwalk -v3 -u 用户名 -l auth -a MD5 -A 密码 被监控服务器IP system
五、监控机上添加主机
1、Console -> Devices,点击Devices栏右边的Add。
如图设置好相关参数,点击Create。
上部出现SNMP Information表明添加成功:
System:Linux server01 2.6.18-274.7.1.el5.028stab095.1 #1 SMP Mon Oct 24
20:49:24 MSD 2011 i686
Uptime: 137307 (0 days, 0 hours, 22 minutes)
Hostname: server01
Location: Unknown
Contact: root@localhost
2、创建监控图形
点击Create Graphs for this Host。前面选择的模板是ucd/net SNMP Host,在ucd/net - CPU Usage、ucd/net - Load Average、ucd/net - Memory Usage、Up eth0后打上勾,监控CPU使用率、系统负载、内存信息及网卡数据流量。Select a graph type可以选择In/Out Bytes。点击下面的Create,图形创建完成。
3、将图形添加到Graph Trees
Console -> Graph Trees,点击后面的Add。输入Name,点击Create。
Console -> Graph Management,在CPU Usage、Load Average、Memory Usage、Traffic - eth0口打上勾,后面的下拉框选择“Place on a Tree (server02)”,点击Go。然后到下个页面点击Continue。
3、设置Poller
Console -> Settings -> Poller,设置Poller Interval和Cron Interval为Every Minute。
4、设置crontab
crontab -e
输入:
*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
5、清空下poller cache
Console -> System Utilities -> Rebuild Poller Cache。
都设置完后,图形上数据不会马上出来,等会儿最多半天就会有。如想要数据出来快点到Settings - Poller,将Maximum Concurrent Poller Processes调大会不会有效?
参考资料:
安装相关
http://www.php-oa.com/2008/01/12/centos5-cacti.html
http://www.centos.bz/2012/01/cacti-install-tutorials/
http://linux.chinaunix.net/techdoc/net/2009/04/26/1108992.shtml
设置相关
http://blog.csdn.net/islandstar/article/details/7200392
http://storysky.blog.51cto.com/628458/244804
(责任编辑:IT) |