Cacti是一款优秀的开源监控软件,使用php实现,主要特点是使用snmp服务获取数据,然后用rrdtool存储和更新数据,当用户查看数据的时候,rrdtool生成图表呈现给用户。在CentOS7后,默认数据库为MariaDB,其为MySQL的一个分支,用其存储变量并进行调用。MariaDB数据库并不存储snmp捕获到的数据,snmp捕获到的数据,存在于rrdtool生成的rrd文件中,这些文件位于cacti目录下的rra目录中。
一、相关软件的安装
多数使用yum即可安装:
yum install httpd* ----安装Web服务器Apache相关服务
yum install php* ----安装PHP相关服务
yum install mariadb* ----安装MariaDB数据库相关服务
yum install net-snmp* ----安装SNMP相关服务
yum install rrdtool rrdtool-devel rrdtool-php rrdtool-perl ----安装rrdtool以生成图像
yum install gd gd-devel php-gd ---rrdtool绘制图像需要的图形库
二、配置SNMP
vi /etc/snmp/snmpd.conf
①将41行(各有不同,请自行查找)下的default更改为127.0.0.1
②将62行(各有不同,请自行查找)下的systemview更改为all
③将85行(各有不同,请自行查找)下的#注释掉
④启动snmp
systemctl start snmpd.service
三、MariaDB数据库配置
①启用MariaDB数据库
systemctl start mariadb.service
②为root用户设置密码(以wang为例),并修改登录权限,默认密码为空
#mysql –u root –p 回车后输入密码(空)
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user set password=password( ‘wang‘) where user=‘root‘;
MariaDB [mysql]>grant all privileges on *.* to root@localhost identified by ‘wang’ with grant option;
MariaDB [mysql]>flush privileges;
③添加cacti用户和cacti数据库,并为其设置权限
MariaDB [mysql]>create database cacti default character set utf8; ##数据库字符集设置utf8,否则乱码
MariaDB [mysql]>grant all privileges on cacti.* to cacti@localhost identified by ‘cacti’ with grant option;
MariaDB [mysql]>flush privileges;
四、Cacti配置
①下载cacti
wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz ##下载cacti
tar -zxvf cacti-0.8.8f.tar.gz ##解压cacti
mv cacti-0.8.8f /var/www/html/cacti ##移动至/var/www/html/cacti下
②将cacti的表内容导入创建的数据库
cd /var/www/html/cacti
mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
③分别编辑两个.php文件
vi /var/www/html/cacti/include/config.php
vi /var/www/html/cacti/include/global.php
修改内容相同,内容如下:
④修改文件属性:
useradd –r –M cacti
chown –R cacti /var/www/html/cacti/rra/
chown –R cacti /var/www/html/cacti/log/
⑤建立调度任务:
#crontab –e 【输入以下内容】
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
⑥启用http服务
systemctl start httpd.service
⑦浏览器输入 http://localhost/cacti或者127.0.0.1/cacti 访问cacti管理页面
如出现:
Forbidden
You don‘t have permission to access /cacti on this server.
这是因为开启了SeLinux导致权限问题
1).查看SELinux状态:
# /usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
# getenforce ##该命令也可检查
2).关闭SELinux:
a、临时关闭(不用重启机器):
# setenforce 0 ##设置SELinux 成为permissive模式 (关闭SELinux)
# setenforce 1 ##设置SELinux 成为enforcing模式 (开启SELinux)
b、修改配置文件需要重启机器:
# vi /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
重启机器即可
再次输入 http://localhost/cacti,进入Web安装,安装完成后,如没有图像显示,是rrdtool没有安装完整的缘故,如不能出图,可能是时钟问题,如下:
本文出自 “记事本” 博客,请务必保留此出处http://wangzhijian.blog.51cto.com/6427016/1680278
原文地址:http://wangzhijian.blog.51cto.com/6427016/1680278