Cacti安装详细步骤

 前提LNMP或LAMP架构已搭建完成

一、cacti概述

 

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),它能够存储的数据笔数在创建时就已经定义。

二、安装rrdtool

先试试这个:

yum install rrdtool rrdtool-perl -y 

如果不行,可能是在主监控机上安装rrdtool,rrdtool依赖的包过多,所以选择增加源,然后用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安装:

三、安装配置net-snmp

3.1、安装net-snmp

yum install net-snmp net-snmp-libs net-snmp-utils

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搭建好后很久还是没出图,用这个命令试试看能否获取到数据。
正常情况下,执行完这个命令后会有很多数据出现!

四、安装cacti

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、配置计划任务

#crontab -e 
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 //让系统每5分钟收集
service crond restart 

8、完成cacti的安装

注意关闭防火墙或者允许80端口,关闭selinux
1) 在浏览器中输入:http://监控服务器IP/cacti/
默认用户名:admin 密码:admin
2)设置cacti用到的命令路径

3) 更改密码 

登陆成功户 next>>   next>> 

上图有益处红色错误,表示安装未成功

                安装成功如下:

 

如果用的是经典版的,出现了乱码

解决办法:

yum -y install fontforge 

或:

安装完cacti,刷新页面是乱码,这里记录解决问题的方法,感谢原文作者,乱码问题是因为系统少了一些字符,那我们需要下载相应的字符放在/usr/share/fonts/下即可。
这里提供一个字体simsun,下载地址如下:

这里提供一个字体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,查看页面正常显示!