作为一名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相关软件,一共需要两个软件,下载地址分别如下:
http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz
2、安装rrdtool采集工具
安装rrdtool之前需要安装相应的lib库,如下安装:
|
1
2
3
4
5
6
7
8
9
|
[[email protected] ~]# yum -y install cairo-devellibxml2-devel pango pango-devel
[[email protected] ~]# yum -y install gcc
[[email protected] ~]# ls
cacti-0.8.8a.tar.gz rrdtool-1.4.5.tar.gz
[[email protected] ~]# tar -zxfrrdtool-1.4.5.tar.gz
[[email protected] ~]# cd rrdtool-1.4.5
[[email protected] rrdtool-1.4.5]# ./configure--prefix=/usr/local/rrdtool && make && make install
[[email protected] ~]# ln -s/usr/local/rrdtool/bin/* /usr/local/bin/
[[email protected] ~]#
|
如果make报perl错误,请执行yum install perl-devel
3、 安装SNMP服务
|
1
2
3
4
5
6
|
[[email protected] ~]# yum -y install net-snmpnet-snmp-utils
[[email protected] ~]# /etc/init.d/snmpd restart
停止 snmpd: [失败]正在启动 snmpd: [确定][[email protected] ~]# chkconfig snmpd on
[[email protected] ~]#
|
4、 安装cacti主程序
|
1
2
3
4
5
6
7
8
9
|
[[email protected] ~]# ls
cacti-0.8.8a.tar.gz rrdtool-1.4.5 rrdtool-1.4.5.tar.gz
[[email protected] ~]# tar zxf cacti-0.8.8a.tar.gz
[[email protected] ~]# ls
cacti-0.8.8a cacti-0.8.8a.tar.gz rrdtool-1.4.5 rrdtool-1.4.5.tar.gz
[[email protected] ~]# mv cacti-0.8.8a/var/www/html/cacti
[[email protected] ~]# ls /var/www/html/
cacti[[email protected] ~]#
|
5、 创建cacti数据库
|
1
2
3
4
5
6
7
|
mysql> create database cacti;
Query OK, 1 row affected (0.01 sec)Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> |
mysql配置完毕后,把cacti数据导入cacti数据库
|
1
2
|
[[email protected] html]# mysql -ucacti -phi cacti< /var/www/html/cacti/cacti.sql
[[email protected] html]#
|
配置完mysql后,我们需要设置cacti 中的rra、log 目录的权限,这里设置为777
|
1
2
3
4
5
6
|
[[email protected] ~]# cd /var/www/html/cacti/
[[email protected] cacti]# chmod -R 777 rra log
[[email protected] cacti]# ll -d rra log
drwxrwxrwx. 2 1000 users 4096 4月 4 2012 log
drwxrwxrwx. 2 1000 users 4096 4月 4 2012 rra
[[email protected] cacti]#
|
6、修改cacti全局配置文件
|
1
|
[[email protected] ~]# vim/var/www/html/cacti/include/config.php
|
7、更改时区
|
1
|
[[email protected] ~]# vim /etc/php.ini
|
重启httpd服务
|
1
2
3
4
|
[[email protected] ~]# /etc/init.d/httpd restart
停止 httpd: [确定]正在启动 httpd: [确定][[email protected] ~]#
|
8、添加Rrdtool抓图任务计划
|
1
2
3
4
5
6
7
8
|
[[email protected] ~]# yum -y install crontabs
[[email protected] ~]# service crond restart
正在启动crond: [确定][[email protected] ~]# chkconfig crond on
[[email protected] ~]# echo "*/5 * * * */usr/bin/php /var/www/html/cacti/poller.php >>/tmp/cacti_rrdtool.log2>&1" >>/var/spool/cron/root
[[email protected] ~]# crontab -l
*/5 * * * * /usr/bin/php/var/www/html/cacti/poller.php >>/tmp/cacti_rrdtool.log 2>&1
[[email protected] ~]#
|
9、Cacti安装完毕,测试访问
输入http://192.168.1.3/cacti 点Next
新安装
确保是OK状态,然后Finish(如路径不一样需要在这里更改)
初始账号密码 admin admin Login
第一次登录需要修改密码然后save
点graphs,无图
手动执行或者等待下一次周期计划执行,只有执行过后才会出图。只有过一段时间后才会有数据(如果不出图,检查snmp服务是否启动、检查rra和log是否有可写权限,)
[[email protected] ~]# php/var/www/html/cacti/poller.php
如果依旧不出图 需要更改SNMPVersion Vsrsion 2 (会在后续章节说明)
本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1635794,如需转载请自行联系原作者