一、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),它能够存储的数据笔数在创建时就已经定义。
二、常见平台
常见的服务器监控软件
cacti,流量与性能监测为主----http://www.cacti.net/
nagios,服务与性能监测为主---http://www.nagios.org/
其他相关工具
RRDtool,轮询数据工具
三、SNMP原理
四、cacti的工作结构
C/S模式,采集监控数据
B/S模式,管理监测平台
五、环境部署
环境:主机A和主机B的操作系统为CentOS6.6 x86_64,最小化安装,均关闭SELINUX和防火墙,主机A作为监控端,主机B作为被进口欧冠端,IP地址分别为192.168.131.138和192。168.131.139。
5.1 部署cacti运行环境--LANM环境
# yum -y install httpd mysql mysql-server mysql-devel php php-mysql
# yum -y install zlib freetype libjpeg fontconfig libxml2 gd php-gd
# service httpd start
# chkconfig httpd on
# service mysqld start
# chkconfig mysqld on
5.2 安装rrdtool工具
# yum -y install rrdtool rrdtool-perl
5.3 安装net-snmp
# yum -y install net-snmp net-snmp-utils net-snmp-libs
# service snmpd start
# chkconfig snmpd on
5.4 部署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、创建数据库cacti
# mysql
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by '123456';
mysql> flush privileges;
mysql> exit
3、导入数据库
mysql -uroot -p cacti < cacti.sql
# chown -R root:root /var/www/html/cacti/
# useradd cacti
# chown -R cacti:cacti /var/www/html/cacti/log/
# chown -R cacti:cacti /var/www/html/cacti/rra/注意:rra目录:保存数据文件的目录 log目录:日志目录
4、配置include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipassword";
打开注释掉的: $url_path = "/cacti/";
5、配置计划任务
#useradd cacti
#su - cacti
$crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 //让系统每5分钟收集
#service crond restart
6、修改php.ini时区 #vim /etc/php.ini
date.timezone=Asia/Shanghai
#service httpd restart
注意:不修改时区的话,执行 /usr/bin/php /var/www/html/cacti/poller.php会报错!
注意关闭防火墙或者允许80端口,关闭selinux
1) 在浏览器中输入:http://监控服务器IP/cacti/
默认用户名:admin 密码:admin
2)设置cacti用到的命令路径
3) 更改密码
在浏览器输入http://192.168.131.138/cacti/install/,进入cacti安装向导