一、cacti介绍

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

二、环境准备

[root@localhost ~]# service iptables stop       关闭防火墙
[root@localhost ~]# setenforce 0                关闭selinux
[root@localhost ~]# yum -y install httpd* mysql* php* libart_lgpl* net-snmp* libtool gcc gcc-c++ vim*            安装所需软件包
[root@localhost ~]# yum install -y cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel      安装所需软件包
[root@localhost ~]# service snmpd start    启动snmp
[root@localhost ~]# service httpd start    启动apache
[root@localhost ~]# service mysqld start   启动mysql
[root@localhost tmp]# chkconfig --level 2345 snmpd on      设置snmp启动项
[root@localhost tmp]# chkconfig --level 2345 httpd on      设置http启动项
[root@localhost tmp]# chkconfig --level 2345 mysqld on     设置mysql启动项
[root@localhost tmp]#wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz     下载cacti-spine
[root@localhost tmp]#wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz     下载cacti主文件

三、安装cacti

lyum安装rrdtool

添加yum源(直接复制到命令行内):

echo "[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" > /etc/yum.repos.d/dag.repo

安装rrdtool

[root@localhost tmp]# yum -y install rrdtool

l安装cacti-spine

[root@localhost tmp]# tar zxvf cacti-spine-0.8.8b.tar.gz
[root@localhost tmp]# cd cacti-spine-0.8.8b
[root@localhost tmp]# ./configure && make && make install
[root@localhost tmp]# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf

l安装cacti

[root@localhost ~]# useradd -d /var/www/html/cacti cacti
[root@localhost tmp]# tar zxvf cacti-0.8.8b.tar.gz
[root@localhost tmp]# mkdir -pv /var/www/html/cacti
[root@localhost tmp]# mv -f cacti-0.8.8b/* /var/www/html/cacti
[root@localhost tmp]# chown cacti:cacti -R /var/www/html/cacti
[root@localhost tmp]# chmod 755 -R /var/www/html/cacti

设置定时任务(直接在命令行内输入):

#echo "*/5 * * * *  /usr/bin/php /var/www/html/cacti/poller.php > /var/log/cacti.log 2>&1" > /var/spool/cron/cacti
echo "*/5 * * * *  /usr/bin/php /var/www/html/cacti/poller.php" > /var/spool/cron/cacti

修改php.ini时区(不修改后面显示图错误)

[root@localhost ~]# vim /etc/php.ini
date.timezone = Asia/Chongqing

l导入数据库

[root@localhost ~]# service mysqld restart    启动数据库
[root@localhost ~]# mysql      进入数据库
mysql> create database cacti;    创建cacti数据库
mysql> grant all on cacti.* to cactiuser@localhost identified by "cactiuser";     给权限
mysql> use cacti   切换数据库
mysql> source /var/www/html/cacti/cacti.sql    导入cacti数据库
mysql> quit     退出

四、web界面配置cacti

上面安装配置成功后,cacti的安装就算完成。下面进入web界面配置cacti。在浏览器中数据http://172.24.7.55/cacti,会弹出界面。

191105652.jpg

点击next,

192349355.jpg

默认新的安装,点击next

192351394.jpg

检查状态,全部OK,点击finish

192353673.jpg

第一次,输入用户名admin密码admin

192355753.jpg

第一次需要修改密码,完成后点击save

192357277.jpg

配置完成后进入主界面。

192359709.jpg

配置spine,settings > Paths > Spine Poller File Path中写入 /usr/local/spine/bin/spine

192401750.jpg

配置spine,settings >Poller >   PollerType > spine


web页面配置cacti至此就完成了。

五、添加客户端

l删除被监控端

由于是在测试环境中,机器的配置比较低,不能开虚拟机了,就拿本机作为客户端吧。因为在上面安装cacti的时候系统会自动添加本机,所以需先删除本机。

192403806.jpg

选中左面的Devices,

192406182.jpg

在localhost后面打上勾,Choose an action项选择:delete,点击Go

192408898.jpg

点击continue,这样一个被监控端就删除了。

l添加被监控端

首先要配置snmp


cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.`date +"%Y-%m-%d_%H-%M-%S"`    备份snmp的配置文件


写入snmp的配置信息(直接在命令行内输入,第一行default后面的cacti是密码公共体名称可以自己自定义,在下面web界面配置是会用到):

echo "com2sec notConfigUser  default       cacti" > /etc/snmp/snmpd.conf
echo "group   notConfigGroup v1           notConfigUser" >> /etc/snmp/snmpd.conf
echo "group   notConfigGroup v2c           notConfigUser" >> /etc/snmp/snmpd.conf
echo "view    systemview    included   .1.3.6.1.2.1.1" >> /etc/snmp/snmpd.conf
echo "view    systemview    included   .1.3.6.1.2.1.25.1.1" >> /etc/snmp/snmpd.conf
echo "access  notConfigGroup \"\"      any       noauth    exact  all none none" >> /etc/snmp/snmpd.conf
echo "view all    included  .1                               80" >> /etc/snmp/snmpd.conf
echo "syslocation Unknown (edit /etc/snmp/snmpd.conf)" >> /etc/snmp/snmpd.conf
echo "syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)" >> /etc/snmp/snmpd.conf

重新启动snmp:

[root@localhost ~]# service snmpd restart

下面web界面添加被监控端:

192410534.jpg

一样选中左侧的Devices,

192412802.jpg

点击Add,

192414989.jpg

填写一些基本信息,详细说明在图中,点击Create

192416112.jpg

创建成功后,会出现上图中的字样,点击Create Graphsthis Host

192418223.jpg

勾选要监控的一些信息,可以全选,点击Create

192420163.jpg

选择左侧的Graph Trees,

192422886.jpg

点击Default Tree,

192425389.jpg

点击Add,

192427157.jpg

选择Tree Item Type中的Host,填写ip,其他默认,点击Create

192429245.jpg

点击Save,

192431642.jpg

点最上面的graphs,选择Host:本地,稍等片刻就会出图了。

如果愿花时间等,可以在强制执行脚本,操作如下:

[root@localhost ~]# su– cacti

-bash-4.1$ crontab -l

*/5 * * * *  /usr/bin/php /var/www/html/cacti/poller.php

/usr/bin/php/var/www/html/cacti/poller.php –force

这样既可。


cacti的安装至此就结束了。此安装较为详细,专为cacti初学者准备,希望可以帮到大家,如果上面有什么问题,麻烦各位前辈指点一二。