1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
先试试这个:
- yum install rrdtool rrdtool-perl -y
如果不行,可能是在主监控机上安装rrdtool,rrdtool依赖的包过多,所以选择增加源,然后用yum安装,试试下边的:
然后yum安装:
- [root@localhost /]# vi /etc/yum.repos.d/dag.repo
- [dag]
- name=Dag RPM Repository for Red Hat Enterprise Linux
- baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
- gpgcheck=1
- gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
- enabled=1
- yum install rrdtool rrdtool-perl -y
3.1、安装net-snmp
3.2、配置net-snmp
- vim /etc/snmp/snmpd.conf
- 41行 1将default 改为监控服务器ip;2 将public 改成复杂些的识别的字符串
- com2sec notConfigUser 127.0.0.1 public
- 62行 1将systemview 改为all,供所有snmp 访问权限
- access notConfigGroup "" any noauth exact all none none
- 85行 将#注释符号去掉
- view all included .1 80
3.3、测试net-snmp
- # service snmpd start
snmpd 使用 tcp/udp 161 端口,验证snmpd 服务
使用snmpwalk 命令验证
- snmpwalk -v 2c -c public 127.0.0.1
- -v是指版本,-c 是指密钥,获取到系统信息则正常!
- 如果cacti搭建好后很久还是没出图,用这个命令试试看能否获取到数据。
- 正常情况下,执行完这个命令后会有很多数据出现!
四、安装LAMP
- yum install httpd php php-mysql php-snmp php-xml php-gd mysql mysql-server
- service httpd start
- service mysqld start
- chkconfig httpd on
- chkconfig mysqld on
- mysqladmin -uroot password yourpassword
- mysqladmin --user=root --password reload
1、下载cacti
- cd /tmp
- wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
- tar xzf cacti-0.8.8a.tar.gz
- mv cacti-0.8.8a /var/www/html/cacti
- cd /var/www/html/cacti
2、创建数据库
- mysqladmin --user=root -p create cacti
3、导入数据库
- mysql -uroot -p cacti < cacti.sql
4、创建数据库用户
- shell> mysql -uroot -p mysql
- mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';
- mysql> flush privileges;
5、配置include/config.php
- $database_type = "mysql";
- $database_default = "cacti";
- $database_hostname = "localhost";
- $database_username = "cactiuser";
- $database_password = "cactipassword";
- 打开注释掉的:
- $url_path = "/cacti/";
配置include/global.php
- /* Default database settings*/
- $database_type = "mysql";
- $database_default = "cacti";
- $database_hostname = "localhost";
- $database_username = "cactiuser";
- $database_password = "cactipassword";
- $database_port = "3306";
- $database_ssl = false;
6、设置目录权限
- useradd cactiuser
- chown -R cactiuser rra/ log/
7、配置计划任务
- vi /etc/crontab
- 添加下边两行:
- */10 * * * * /usr/sbin/ntpdate ntp.sjtu.edu.cn && /sbin/hwclock -w
- */5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1
- service crond restart
8、完成cacti的安装
注意关闭防火墙或者允许80端口,关闭selinux
1) 在浏览器中输入:http://监控服务器IP/cacti/
默认用户名:admin 密码:admin
2)设置cacti用到的命令路径
3) 更改密码
yum没有安装snmpd服务前:
yum安装snmpd服务后:
因为我用的是经典版,所以出现了乱码,
解决方法:
或者:
- yum -y install fontforge
安装完cacti,刷新页面是乱码,这里记录解决问题的方法,感谢原文作者,乱码问题是因为系统少了一些字符,那我们需要下载相应的字符放在/usr/share/fonts/下即可。
这里提供一个字体simsun,下载地址如下:
http://fendou.sinaapp.com/fendou_soft/2012-07-12.simsun.ttc.zip
http://fendou.sinaapp.com/fendou_soft/2012-07-12.simsun.ttf.zip
下载这两个字体,解压,把文件放在/usr/share/fonts下,重启apache,查看页面正常显示!
原文参考http://www.lsproc.com/blog/cacti_graph_with_chinese/
官方安装原文:
http://docs.cacti.net/manual:088:1_installation.1_install_unix.5_install_and_configure_cacti