作为一名Linux SA,日常最重要的就是保证网站正常稳定的运行,我们需要实时监控网站、服务器的运行状态,这时需要借助开源软件(cacti、nagios、zabbix等)监控来实现。
Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。
Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下,一般以rra为后缀名称)。简单原理图如下:
环境:CentOS 6.5_86_X64 已yum安装lamp平台,且整合正常,hostname为lamp
IP地址为192.168.1.3 防护墙和Selinux关闭
1、cacti服务器的安装
官网下载cacti相关软件,一共需要两个软件,下载地址分别如下:
/downloads/cacti-0.8.8a.tar.gz
2、安装rrdtool采集工具
安装rrdtool之前需要安装相应的lib库,如下安装:[root@lamp~]#yum-yinstallcairo-devellibxml2-develpangopango-devel
[root@lamp~]#yum-yinstallgcc
[root@lamp~]#ls
cacti-0.8.8a.tar.gzrrdtool-1.4.5.tar.gz
[root@lamp~]#tar-zxfrrdtool-1.4.5.tar.gz
[root@lamp~]#cdrrdtool-1.4.5
[root@lamprrdtool-1.4.5]#./configure--prefix=/usr/local/rrdtool&&make&&makeinstall
[root@lamp~]#ln-s/usr/local/rrdtool/bin/*/usr/local/bin/
[root@lamp~]#
如果make报perl错误,请执行yum install perl-devel
3、安装SNMP服务[root@lamp~]#yum-yinstallnet-snmpnet-snmp-utils
[root@lamp~]#/etc/init.d/snmpdrestart
停止snmpd:[失败]
正在启动snmpd:[确定]
[root@lamp~]#chkconfigsnmpdon
[root@lamp~]#
4、安装cacti主程序[root@lamp~]#ls
cacti-0.8.8a.tar.gzrrdtool-1.4.5rrdtool-1.4.5.tar.gz
[root@lamp~]#tarzxfcacti-0.8.8a.tar.gz
[root@lamp~]#ls
cacti-0.8.8acacti-0.8.8a.tar.gzrrdtool-1.4.5rrdtool-1.4.5.tar.gz
[root@lamp~]#mvcacti-0.8.8a/var/www/html/cacti
[root@lamp~]#ls/var/www/html/
cacti
[root@lamp~]#
5、创建cacti数据库mysql>createdatabasecacti;
QueryOK,1rowaffected(0.01sec)
mysql>grantalloncacti.*tocacti@'localhost'identifiedby'hi';
QueryOK,0rowsaffected(0.00sec)
mysql>flushprivileges;
QueryOK,0rowsaffected(0.00sec)
mysql>
mysql配置完毕后,把cacti数据导入cacti数据库[root@lamphtml]#mysql-ucacti-phicacti
[root@lamphtml]#
配置完mysql后,我们需要设置cacti 中的rra、log 目录的权限,这里设置为777[root@lamp~]#cd/var/www/html/cacti/
[root@lampcacti]#chmod-R777rralog
[root@lampcacti]#ll-drralog
drwxrwxrwx.21000users40964月4log
drwxrwxrwx.21000users40964月4rra
[root@lampcacti]#
6、修改cacti全局配置文件[root@lamp~]#vim/var/www/html/cacti/include/config.php
7、更改时区[root@lamp~]#vim/etc/php.ini
重启httpd服务[root@lamp~]#/etc/init.d/httpdrestart
停止httpd:[确定]
正在启动httpd:[确定]
[root@lamp~]#
8、添加Rrdtool抓图任务计划[root@lamp~]#yum-yinstallcrontabs
[root@lamp~]#servicecrondrestart
正在启动crond:[确定]
[root@lamp~]#chkconfigcrondon
[root@lamp~]#echo"*/5****/usr/bin/php/var/www/html/cacti/poller.php>>/tmp/cacti_rrdtool.log2>&1">>/var/spool/cron/root
[root@lamp~]#crontab-l
*/5****/usr/bin/php/var/www/html/cacti/poller.php>>/tmp/cacti_rrdtool.log2>&1
[root@lamp~]#
9、Cacti安装完毕,测试访问
新安装
确保是OK状态,然后Finish(如路径不一样需要在这里更改)
初始账号密码 admin admin Login
第一次登录需要修改密码然后save
点graphs,无图
手动执行或者等待下一次周期计划执行,只有执行过后才会出图。只有过一段时间后才会有数据(如果不出图,检查snmp服务是否启动、检查rra和log是否有可写权限,)
[root@lamp ~]# php/var/www/html/cacti/poller.php
如果依旧不出图 需要更改SNMPVersion Vsrsion 2 (会在后续章节说明)