(因为我是新手,在安装时有很多大大小小的问题,我都在这里备注上了,欢迎萌新们参考)

Cacti功能

Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。

它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板。除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

Cacti简介

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量

snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学 

系统的安装及基本网络配置

操作系统的安装不写了,我个人用的是CentOS 6.5最小化安装

装好系统以后关闭防火墙和selinux

#service iptables stop       //关闭防火墙服务

#chkconfig iptables off       //永久性关闭

#vi /etc/sysconfig/selinux      //把SELINUX=enforcing改为SELINUX=disabled

安装Cacti依赖的软件

yum install mysql mysql-server mysql-devel php-mysql httpd php php-pdo lm_sensors net-snmp net-snmp-devel openssl-devel php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL net-snmp-libs php-gd 

SNMP配置

1、修改snmp配置文件

#vim /etc/snmp/snmpd.conf       //进入snmpd.conf修改配置文件   

1)将41行中的default改为127.0.0.1

更改前:com2sec notConfigUser default public

更改后:com2sec notConfigUser 127.0.0.1 public   

2)将62行中的systemview改为all

更改前:access notConfigGroup "" any noauth exact systemview none none   

更改后:access notConfigGroup "" any noauth exact all none none  

3)将85行的注释"#"号去掉

更改前:#view all included .1 80

更改后:view all included .1 80

4)保存(:wq)

 

2、启动snmpd/httpd/mysql服务

#service snmpd start              //开启snmp服务 

#chkconfig snmpd on               //设置snmp为开机启动

#service httpd start              //开启http服务

#chkconfig httpd on               //设置http为开机启动

#service mysqld start             //开启mysql服务

#chkconfig mysqld on              //设置mysql为开机启动

#Snmpwalk -v 2c -c public localhost   //测试snmpd是否正常启动

设置 mysql数据库

#mysql -uroot -p  //新装的mysql没有密码,直接回车进入mysql数据库

(注:进入mysql后每次输入命令后结尾都要加“;”结束符,命令才能成功输入)

mysql> create database cacti;   //首先创建cacti数据库  

mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti';

 //创建cacti用户并授权

(格式:grant all privileges on 数据库名.* to 用户名@主机名 identified by '密码';)

mysql>use cacti;                               

mysql>source /var/www/html/cacti/cacti.sql;    //导入cacti数据库文件

mysql>exit

CACTI安装与配置

1、cacti的安装

wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz

tar zxvf cacti-0.8.8b.tar.gz         

mv cacti-0.8.8b /var/www/html/cacti

//将cacti-0.8.8b文件夹移到/var/www/html目录下,并将cacti-0.8.8b重命名为cacti

(注:wget时有可能因ssl连接不成功而下载失败,此时应该用root权限桌面模式,浏览器登入www.cacti.net/downloads,下载并解压cacti-0.8.8b.tar.gz到/var/www/html目录,然后把文件夹重命名为cacti)

 

2、配置cacti

#vim /var/www/html/cacti/include/config.php

$database_type = "mysql";          //连接数据库类型

$database_default = "cacti";       //cacti监控服务的数据库

$database_hostname = "localhost";  //数据库的主机

$database_username = "cactiuser";  //数据库用户名,这里改为“cacti”

(因为先前在数据库建的是"cacti"用户,所以这里默认的"cactiuser"要改为"cacti")

$database_password = "cactiabc";   //数据库密码,这里改为“cacti”

(这里默认的密码我们也要改为

$database_port = "3306";         //数据库端口

$database_ssl = false;             //是否启用ssl连接数据库

然后保存退出(:wq)

 

3、增加 cacti 用户以用来写入rrd和log目录的数据,否则就会生成不了图片

#cd /var/www/html/cacti

#useradd cacti

#cd /var/www/html/cacti

#chown -R cacti rra/ log

(注意log前有空格)


添加任务计划

具体多长时间让cacti生成一次监控图表自己决定,这里以cacti的默认时间5分钟生成一次为例

#cd /var/www/html/cacti

#crontab -e 

*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

(加入这一行保存即可)

 

配置好之后重启进入桌面输入http://ip/cacti,如下图所示

centos下安装slurm centos下安装cacti_ldap

 

点击NEXT

centos下安装slurm centos下安装cacti_mysql_02

 

点击NEXT

centos下安装slurm centos下安装cacti_mysql_03

 

直接选择finish即可

如果出现“NOT FOUND”的红色字样这需要手动指定路径

 


第一次登陆的用户名和密码都是admin

centos下安装slurm centos下安装cacti_mysql_04

 

第一次登陆会令你强制修改密码

centos下安装slurm centos下安装cacti_ldap_05

 

点击console->configuration->setting 右边勾选Structured RRA Path

centos下安装slurm centos下安装cacti_数据库_06

 

因为该版本在删除设备时无法同时删除RRD数据库,选择该选项后方便以后删除host同时在linux 下删除相应hostid的RRD文件。

安装提高效率加载spine插件

wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7i.tar.gz    

//下载spine文件                    (注:若wget不了可以进入桌面并登入网址下载)

tar zxvf cacti-spine-0.8.7i.tar.gz            //解压spine压缩包

cd cacti-spine-0.8.7i                     

./configure                            //配置源代码包

make&&make install                       //编译安装

cd /usr/local/spine/etc                   

cp spine.conf.dist spine.conf                //重命名配置文档

 

vi spine.conf                          //修改配置文档

DB_Host         localhost

DB_Database         cacti

DB_User         cacti

DB_Pass         cacti

DB_Port         3306

DB_PreG         0

:wq                      //这里的信息要和mysql的信息一致                                     

在cacti内 console->configuration->settings Paths内的spine poller file path 添加/usr/local/spine/bin/spine如下图所示

centos下安装slurm centos下安装cacti_centos下安装slurm_07

centos下安装slurm centos下安装cacti_php_08

 

 

在cacti内添加各种插件

Thold:用于设备异常预警、阀值报警

Settings:用于邮件报警 

Monitor:以图形方式显示设备状态  

Rrdclean:rrd辅助工具(不太懂)

 

进入console->User Managerment  点击admin

centos下安装slurm centos下安装cacti_centos下安装slurm_09

 

选择Plugin Managerment然后保存,即可看到左边setting的下方出现plugin managerment

centos下安装slurm centos下安装cacti_mysql_10

 

 

接下来下载插件安装包依次为:settings、monitor、thold和rrdclean,并修改文件名

wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz -O settings.tgz

wget http://docs.cacti.net/_media/plugin:monitor-v1.3-1.tgz -O monitor.tgz

wget http://docs.cacti.net/_media/plugin:thold-v0.5.0.tgz -O thold.tgz

wget http://docs.cacti.net/_media/plugin:rrdclean-v0.41.tgz –O rrdclean.tgz

 

解压安装包

tar zxvf settings.tgz

tar zxvf monitor.tgz

tar zxvf thold.tgz

tar zxvf rrdclean.tgz

 

把插件放进plugins目录

mv settings monitor thold rrdclean /var/www/html/cacti/plugins/

 

进入cacti console->configure->plugin managerment 即可看到刚放进去的插件

centos下安装slurm centos下安装cacti_mysql_11

  

点击actions 安装和应用,即安装好相对应的插件

centos下安装slurm centos下安装cacti_centos下安装slurm_12

 

插件安装成功!


转载于:https://blog.51cto.com/12885491/1965189