cacti 安装方法
1、配置好LAMP环境 参见其他相关文章。
2、如果没有安装mysql-devel 在安装cactid的时候会报错:
configure: error: Cannot find MySQL header files
yum install mysql-devel
3、安装net-snmp-libs net-snmp net-snmp-utils 还需要安装net-snmp-devel 不然会报configure: error: Cannot find SNMP headers.错误
# sudo yum install net-snmp-*
安装好后启动snmp服务
/etc/init.d/snmpd start
测试snmp是否运作,默认密码字段为public,可更改/etc/snmp/snmpd.conf 更你为你的密码字段
snmpwalk -v 2c -c public localhost system
4、解压cacti包并把包放入apache的工作目录里
mv cacti-0.8.7d /var/www/html/cacti
5、进入mysql把cacti的数据库导入
mysql> create database cacti;mysql> use cacti;mysql> source /var/www/html/cacti/cacti.sqlmysql> grant all on cacti.* to cacti@localhost identified by 'cacti';
6、进入cactid目录(我下载的cacti包内并无configure执行文件,并未编译即可正确运行?)
./configure --prefix=/usr/local/cacti --with-mysql=/usr/ --with-net-snmp&& make && make install
7、把安装目录下生成的cactid.conf拷贝到
cp cactid cactid.conf /usr/local/cacti/bin/
8、修改config.php 在其中设置数据连接账号和密码
[root@localhost cacti]# vi /var/www/html/cacti/include/config.php
9、进入cacti页面安装cacti
http://localhost/cacti
一步一步选择next即可,但要注意在选择rrdtool等命令时要查看路径是否正确。(若不正确,会以红色显示提醒)
10、登陆cacti,默认用户名、密码都是admin
11、添加cacti用户
# useradd cactiuser# passwd cactiuser
chown -R cactiuser /var/www/html/cacti //确保cactiuser对 该目录下所有文件具有权限
12、添加计划任务,每5分钟收集一次数据。
#su cactiuser[cactiuser@localhost ~]$ /usr/bin/php /var/www/html/cacti/poller.php > /dev/null
[cactiuser@localhost ~]$ crontab -e //加入下面的语句
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null
# /etc/init.d/crond restart
-----------------------------------------------------------------------------
cacti 配置方法小结
主要参考: http://www.joecen.com/article/cacti/cactifaq/
远程机和本地机都可以采用snmp的方式来获取数据。所以,如果采用snmp的话,需要配置被监控机的snmp.conf文件:
sudo vi /etc/snmp/snmp.conf
打开默认的/etc/snmp/snmpd.conf文件,更改如下配置:
1、查找以下字段:
# sec.name source community
com2sec notConfigUser default public
将"comunity"字段改为你要设置的密码.比如"public".将“default”改为你想哪台机器可以看到你的snmp信息,如10.10.10.10。
2、查找以下字段:
##### Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notifaccess
notConfigGroup "" any noauth exact all none none
将"read"字段改为all
3、查找以下字段:
## incl/excl subtree mask
#view all included .1 80
将该行前面的"#"去掉.保存关闭.
4、运行/etc/init.d/snmpd start命令运行snmpd.最后运行netstat -ln查看161端口是否打开了.。
一般情况下,点击左上角的device 后,应该在上方显示该设备的snmp信息,同时设备状态也应该是绿色的up,其他error或unkonwn状态一般都是由于未正确配置被监控端的snmp.conf文件所致。
其他关于获取信息(如CPU,硬盘,内存等)的设置方法,网上也有很多的教程了,推荐一个网站:http://cacti.xxoo.net/ 这个网站信息还是比较全面的,我就是在上面下载了一个模板文件,解决了自己的问题呢。
几个配置的技巧:
1、使用SNMP模板收集信息的话,关键在于设定好该类设备信息的OID值(在Data Templates里可查看),关于具体信息对应的OID值,可google“常用OID值”即可。CPU、内存、硬盘使用等信息均可通过该方式获得。可使用命令来测试OID值是否有效:
$snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.4.1.2021.9.1.7.1 //查看是否输出正常的值即可
2、cacti可以定义和使用 CDEF function ,位置在左上角 Graph Management 里。其含义我自己理解大概是,你设置好了数据采集的方式,得到了数据,除了直接显示在图上外,还可以利用CDEF function来对数据进行些数学的运算和处理,然后再画在图上。(CDEF中有各类数学函数可以使用)定义好CDEF function后就可以新建Graph 了。
如 求和的话:
1、 点击 Graph Management ,点击右上方 add,不用选择,直接create;
2、输入title,其他不用填, create;
3、然后中间会出现下图所示Graph Items,点击 add:
4、选择好Data Source,为自己想要求和显示的数据项, 其他可以随便填;
5、同样的方法,再添加完别的待统计的量;
6、添加汇总求和项,此处Data Source 不填,而在CDEF function处要选择自己前面定义好的function或cacti自带的几个function中的一个。由于我此处是在求和,所以我选择的是 Total All Data Sources .
7、可以再添加几个图示(如 current、avg、max、min等)
方法均如下图所示,Item Type 处选择 GPRINT,CDEF同样选择好函数。其他不填。
附上效果图:
最近在配置这个,遇到很多细节问题,在网上查了相关资料后,算是基本解决。整理下来,留用备忘。
参考链接: