首页 > 代码库 > cacti安装和第三方模块的导入

cacti安装和第三方模块的导入

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂Scripts 及加上 Templates 来作出各式各样的监控图。

安装cacti的准备条件:
wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
LAMP环境,并且要开启gd库的支持,lamp环境的安装这里不再给出
mysql-cacti-templates并不是必须的,只是为了后面方便演示第三方模板时候使用

一.安装snmp服务
[root@test1 ~]# yum install net-snmp*
[root@test1 ~]# chkconfig snmpd on
[root@test1 ~]# service snmpd restart
[root@test1 ~]# vi /etc/snmp/snmpd.conf

修改如下内容:
 41行下的 com2sec notConfigUser  default       public
       com2sec notConfigUser  127.0.0.1  public

 62行下的access  notConfigGroup ""      any       noauth    exact  systemview none none
      access  notConfigGroup ""      any       noauth    exact  all           none none

 85行下的#view all    included  .1                               80
        view all    included  .1                               80
[root@test1 ~]# service snmpd restart

二.安装rrdtool
[root@test1 ~]# tar xf rrdtool-1.4.7.tar.gz
[root@test1 ~]# cd rrdtool-1.4.7
[root@test1 rrdtool-1.4.7]# ./configure --prefix =/usr/local/rrdtool
[root@test1 rrdtool-1.4.7]# make && make install

三.安装cacti
[root@test1 ~]# tar xf cacti-0.8.8b.tar.gz -C /usr/local/apache/htdocs
[root@test1 ~]# cd /usr/local/apache/htdocs
[root@test1 ~]# cd /usr/local/apache/htdocs
[root@test1 ~]# mv cacti-0.8.8b cacti
进入数据库中创建一个cacti的数据库:
mysql> create database cacti;
mysql> grant all on cacti.* to cacti@localhost identified by ‘cacti‘;
mysql> grant all on cacti.* to cacti@127.0.0.1 identified by ‘cacti‘;
mysql> flush privileges;

编辑/etc/crontab,加入如下内如:
*/1 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php &> /dev/null

修改cacti的目录权限:
[root@test1 cacti]# chown -R root.root cacti/

导入cacti数据库:
[root@test1 cacti]# /usr/local/mysql/bin/mysql -ucacti -p cacti < cacti.sql

编辑cacti配置文件,改成如下内容:
[root@test1 cacti]# cd include
[root@test1 cacti]# vi config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;

在浏览器中输入以下地址:http://192.168.1.145/cacti/install/index.php,就会看到cacti的安装了,点击next会发现默认情况下cacti的路径和php的路径是不正确的,只需要把路径改了就可以。rrdtool改成:/usr/local/rrdtool/bin/rrdtool;php改成:/usr/local/php/bin/php

弄好点击下一步,就可以来到cacti的登陆界面了,默认的cacti的登陆用户和密码为:admin admin,输入完成以后会提示我们修改新的密码,直接改成你需要的密码即可,然后执行/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php,多执行几次,再进入cacti打开graphs可以看到图片已经出来。

安装过程中可能遇到的问题:
1.执行/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php报时间错误,这是因为php.ini中没有设置时间,在php.ini中加入date.timezone = "Asia/Shanghai"
2.流量图出来不到,rra文件下没有文件。这种原因可能很多,首先检查运行cacti的用户进程是否对rra目录具有相应的权限;执行snmpwalk -v 2c -c public yourIP if看到是否有相应的信息返回;检查settings中的相应配置是否正确。


cacti的默认情况下的模板和图像是很有限的,基本的流量监控操作也很简单。但是大多数情况下,我们需要的流量监控不止这点点,所以需要安装第三方模板,这里以mysql为例来安装一个第三方的模块监控
[root@test1 ~]# wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
[root@test1 ~]# tar –xvf better-cacti-templates-1.1.8.tar.gz
[root@test1 ~]# cd better-cacti-templates-1.1.8
[root@test1 better-cacti-templates-1.1.8]# cp scripts/ss_get_mysql_stats.php /usr/local/apache/htdocs/cacti/scripts/
[root@test1 better-cacti-templates-1.1.8]# cd /usr/local/apache/htdocs/cacti/scripts/
[root@test1 scripts]# vi ss_get_mysql_stats.php
修改
$mysql_user = ‘cactiuser‘;
$mysql_pass = ‘cactiuser‘;

$mysql_user = ‘cacti‘;
$mysql_pass = ‘cacti‘;
再次进入cacti的管理界面的Import Templates下导入/better-cacti-templates-1.1.8/templates/cacti_host_template_x_mysql_server_ht_0.8.6i-sver1.1.8.xml,然后在device设备下就可以看到许多新的模板图了。在被监控主机上执行:grant all on *.* to ‘cacti‘@‘%‘ identified by ‘cacti‘;flush privileges;以后,其余的操作就给普通的操作一样。