参考:https://blog.51cto.com/chenhao6/1249302
一、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),它能够存储的数据笔数在创建时就已经定义。
1> 配置LAMP环境
2> 安装rrdtool和net-snmp
3> 安装cacti
4>配置cacti
5> 配置cacti连接数据库
6 >配置cron计划任务
7 >配置开机自启动
8>测试
1> 配置LAMP环境
a. 安装apache
这里直接用yum装了
yum -y install httpd
c. 配置apache与php
yum -y install zlib freetype libjpeg fontconfig gd libxml2 php-gd
yum -y install php php-mysql
b.安装mysql数据库
yum -y install mysql mysql-server mysql-devel
2> 安装rrdtool和net-snmp
yum -y install perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL
yum -y install php-pdo lm_sensors net-snmp php-snmp net-snmp-utils
3. 安装cacti
下载cacti
wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz
tar -zxvf cacti-0.8.8f.tar.gz -C /usr/src/ 解压到指定目录
mv cacti-0.8.8f /var/www/html/cacti/ //将解压的cacti这个包移动到网页根目录下,改名为cacti
4> 配置cacti
a. 配置httpd服务
vim /etc/httpd/conf.d/cacti.conf
Alias /cacti /var/www/html/cacti
DirectoryIndex index.php
AllowOverride all
order deny,allow
deny from all
allow from all
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc on
php_flag track_vars on
b.配置apache
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/
vim /etc/httpd/conf/httpd.conf 配置apache
276行ServerName localhost:80
c.配置php
vim /etc/php.ini
946行date.timezone = PRC
开启服务
d. 配置 mysql并导入 cacti.sql
service mysqld start (开启服务)
create database cacti;
grant all on cacti.* to cacti@'localhost' identified by 'cacti';
GRANT 权限列表 ON 库名.表名 TO ‘用户名’@‘来源地址’【IDENTFIED BY ‘密码’】
flush privileges;
导入数据库
use cacti;
source /var/www/html/cacti/cacti.sql;
完成
e. 配置snmpd服务
vim /etc/snmp/snmpd.conf
41 行om2sec notConfigUser 127.0.0.1 public//地址自己服务器的地址,也可用127.0.0.1来表示的,后面的"public"
表示的是snmp 团体名,也可以改的,默认的就是“public”
62行access notConfigGroup "" any noauth exact all none none//把"exact"后面的单词改成"all"
85 行view all included .1 80//把这一行前面的"#"号去掉
开启服务
f.配置cacti目录权限
useradd cacti -d /var/www/html/cacti -s /sbin/nologin
chown -R root:root /var/www/html/cacti/
chown -R cacti:cacti /var/www/html/cacti/rra /var/www/html/cacti/log
5> 配置cacti连接数据库
vim /var/www/html/cacti/include/config.php
29行 $database_username = "cacti";
30行$database_password = "cacti"
6 >配置cron计划任务
crontab -u cacti –e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &>/dev/null
每5分钟 运行一次
7> 配置完成,设置服务开机自启动
chkconfig httpd 35 on
chkconfig mysqld 35 on
systemctl enable snmpd
8>开始测试
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
客户端IE浏览器中输入网址:http://IP/cacti/
默认用户名和密码都是admin
集中监测完成!