安装Cacti监控服务及其使用

                                                          **安装Cacti监控服务及其使用**

   Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。Cacti是通过 snmp get来获取数据,使用 RRDtool绘画图形。Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。 rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件,文件时间会发生变化。

##Cacti安装涉及的所有安装包及插件(系统版本为RHEL7.1):
系统yum 自带的安装包:httpd 、php 、php-mysql php-ldap php-xml mariadb mariadb-server mariar-devel
mairadb-bench net-snmp* lm_sensors rrdtool
cacti和插件:cacti-0.8.8h.tar.gz
cacti-spine-0.8.8h.tar.gz
monitor-v1.3-1.tgz
thold-v0.5.0.tgz
settings-v0.71-1.tgz
一、搭建Cacti监控服务器 (服务器IP 192.168.4.7)
1、部署监控服务的运行环境
1.1 装包: #yum -y install httpd php php-mysql php-ldap php-xml lm_sensors
#yum -y install mariadb mariadb-server mariadb-devel mariadb-bench
查看安装情况: #rpm -qa httpd php mariardb rrdtool net-snmp*
1.2 启服务: #systemctl start httpd mariadb
设为开机自启 :#systemctl enable httpd mariadb
1.3.1设置数据库管理员本机登陆密码
#mysqladmin -hlocalhost -uroot password “123456”
#mysql -uroot -p123456
>quit;
1.3.2 创建存储cacti配置信息的库,连接时的连接用户
[创建用户,并设置对数据库的访问权限
grant all on 数据库名.* to ‘用户名’@‘主机名’ identified by ‘密码’ ;]
#mysql -uroot -p123456
> create database cactidb;
>grant all on cactidb.* to yaya@localhost identified by “123456”;
>quit
#mysql -hlocalhost -uyaya -p123456;
>show grants;
>quit;
1.3.3 测试php是否连接本机的数据库服务
#vim /var/www/html/linkdb.php
<? php
d b = m y s q l c o n n e c t ( &quot; l o c a l h o s t &quot; , &quot; y a y a &quot; , &quot; 123456 &quot; ) ; i f ( db=mysql_connect(&quot;localhost&quot;,&quot;yaya&quot;,&quot;123456&quot;); if( db){echo “ok”;}else{echo “err”;}
?>
#firefox http://192.168.4.7/linkdb.php
若是空白页则#systemctl restart httpd 重新读入网页
2.1 安装Cacti cacti-0.8.8h.tar.gz
#tar -zxf cacti-0.8.8h.tar.gz -C /var/www/html 解压到网页文件下
#cd /var/www/html
# mv cacti-0.8.8h/ cacti 修改cacti-0.8.8h/ 文件名为cacti
#chown -R apache:apache cacti 修改进程的所属人和组
2.2 初始化配置
2.2.1 准备初始化配置
#cd /var/www/html/cacti
#ls .sql
#mysql -hloaclhost -uyaya -p123456 cactidb < cacti.sql (导入cacti数据库文件)
#mysql -hloaclhost -uyaya -p123456 cactidb
mysql >show tables;
mysql >quit;
2.2.2 修改配置文件,指定调用的数据库及用户
#vim /var/www/html/cacti/include/config.php
$database_type=“mysql”;
$database_default=“cactidb”;
$database_hostname=“localhost”;
$database_username=“yaya”;
$database_password=“123456”;
$database_port=“3306”;
$database_ssl=“false”;
2.2.3 安装绘图工具rrdtool 和简单网路管理协议 snmp
#yum -y install net-snmp

#yum -y install rrdtool
3.1 登录cacti监控页面
#firefox http://192.168.4.7/cacti &
首次登录用户名、密码都是admin ,登录后强制修改密码(自己设,以后登录都是该密码)。
3.2 cacti软件的使用
3.2.1 查看可以使用的监控模板
3.2.2 查看监控的主机
3.2.3 查看已有的监控图像和图像树
3.2.4 查看监控信息
3.3 安装数据高速采集器 spine
#rpm -q mariadb-devel (这里要确保安装了mariadb-devel不然会有报错cannot find mysql headers)
#tar -zxf cacti-spine-0.8.8h.tar.gz
#cd cacti-spine-0.8.8h
#./configure --with-mysql
#make && make install
#ls /usr/local/spine
#ls /usr/local/spine/bin
#ls /usr/local/spine/bin/spine (spine 的执行文件)
#ls /usr/local/spine/etc (spine.conf.dist 为模板文件)
#cp /usr/local/spine/etc//usr/local/spine/etc /etc/spine.conf (拷贝配置文件)
3.4 修改配置文件
#vim /etc/spine.conf
DB_Host localhost
DB_Database cactidb
DB_User yaya
DB_Pass 123456
DB_Port 3306
3.5 登录cacti管理页面配置,使用spine采集器程序
/usr/local/spine/bin/spine
console----configure-----setting----paths-----spine poller file path ----poller----第二项–spine
二、配置被cacti监控端
1、监控远端主机 (192.168.4.51 192.168.4.55 192.168.4.56)
1.1 配置被监控主机
安装SNMP服务:装包、修改配置文件、启动服务、查看端口号
#yum -y insatall net-snmp*
#systemctl start snmpd ; #systemctl enable snmpd
#ps -C snmpd ; # netstst -antulp |grep snmpd (tcp :199 ; udp:161)
#sytemctl stop firewalld ; #setenforce 0 (默认情况下防火墙和selinux都不允许snmpd服务)
#vim /etc/snmp/snmpd.conf
#sed -i ‘41s/default/192.168.4.7/’ /etc/snmp/snmpd.conf
#sed -n ‘41p’ /etc/snmp/snmpd.conf
#sed -i ‘62s/systemview/all’ /etc/snmp/snmpd.conf (监控访问权限)
#sed -n ‘62p’ /etc/snmp/snmpd.conf
#sed -i ‘85s/^#//’ /etc/snmp/snmpd.conf
#sed -n ‘85p’ /etc/snmp/snmpd.conf (搜索方式)
1.2 配置监控服务器cacti软件设置
1.2.1 登录管理界面
1.2.2 添加监控新主机,并选择监控模板和监控项
1.2.3 给监控项创建图像
1.2.4 创建图像树,并把图像树添加到图像处理中
1.2.5 编写抓取数据的计划任务
抓取数据的脚本放在:/var/www/html/cacti/poller.php
运行脚本:php /var/www/html/cacti/poller.php
**这里需要在php主配置文件中修改时区,不然容易出错
#vim /etc/php.ini
878行:date.timezone=Asia/Shanghai
** 通过snmp抓到的数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中
#ls /var/www/html/cacti/rra
**周期性计划任务: #crontab -e
*/5 * * * * php /var/www/html/cacti/poller.php &>/dev/null
#systemctl enable crond
1.2.6 查看监控信息
console ----device-----被监控主机----Add
Graph Trees-----add (创建图像树)
##
2、监控本机:同监控远端主机一样修改配置文件
#vim /etc/snmp/snmpd.conf
41行 :default 改为127.0.0.1
3、监控报警配置
(例子:要求对本机登录的用户数做监控报警 >1 警告;>2 报错
监控到警告或者错误状态时发邮件给cactiuser@localhost)
3.1 安装插件 :monitor-v1.3-1.tgz
thold-v0.5.0.tgz
settings-v0.71-1.tgz
#tar -zxf monitor-v1.3-1.tgz -C /var/www/html/cacti/plugins
#tar -zxf thold-v0.5.0.tgz -C /var/www/html/cacti/plugins
#tar -zxf settings-v0.71-1.tgz -C /var/www/html/cacti/plugins
到cacti—console–Plugin Managemet ----激活插件monitor settings thold
3.2 准备邮件服务器:(在192.16.4.本机做邮件服务器locahot;
收件人:cactiuser@localhost ; 发件人:root@localhost )
#systemctl restart postfix
#systemctl enable postfix
#netstat -antulp | grep :25
#grep cactiuser /etc/passwd
#useradd cactiuser
#echo 123456 |passwd --stdin cactiuser
#mail -s “test” cactiuser > /etc/hosts
#su - cactiuser
$ mail
3.3 配置监控报警
3.3.1 创建消息队列,名称 sendmail
Management-----Notification list -----add ----消息
3.3.2 创建监控报警项
3.3.3 指定发邮件服务和收件人(默认就是本机作邮件服务器)
3.3.4 测试监控报警配置

猜你喜欢

转载自blog.csdn.net/weixin_41072205/article/details/89483843