Cacti的搭建与应用
一、搭建Cacti监控服务器
1.1 准备安装环境
[root@server cacti]# rpm -q httpd php php-mysql mysql-server mysql
yum -y install httpd
yum -y install php php-mysql
yum -y install mysql-server mysql
echo 123 > /var/www/html/index.html
[root@server html]# /etc/init.d/httpd start;chkconfig httpd on
[root@server html]# /etc/init.d/mysqld start ; chkconfig mysqld on
[root@server cacti]# mysqladmin -hlocalhost -uroot password "123"
[root@server cacti]# mysql -uroot -p123
mysql> show databases;
mysql> create database cactidb;
mysql> grant all on cactidb.* to plj@"localhost" identified by "123456";
mysql> quit
[root@server cacti]# mysql -uplj -p123456
mysql> show databases;
vim /var/www/html/linkdb.php
<?php
$linkdb=mysql_connect("localhost","plj","123456")
if($linkdb){
echo "linkdb ok";
}else{
echo "linkdb no";
}
?>
[root@server html]# /etc/init.d/httpd restart
[root@server html]# elinks --dump http://localhost/linkdb.php
1.2 安装cacti
[root@server html]# tar zxvf cacti-0.8.7g.tar.gz -C /var/www/html/
[root@server html]# cd /var/www/html/
[root@server html]# mv cacti-0.8.7g cacti
[root@server html]# chown -R apache:apache cacti/
修改配置文件指定使用的数据库
vim /var/www/html/cacti/include/config.php
26 $database_type = "mysql";
27 $database_default = "cactidb";
28 $database_hostname = "localhost";
29 $database_username = "plj";
30 $database_password = "123456";
31 $database_port = "3306";
创建存储配置信息表
[root@server ~]# cd /var/www/html/cacti/
[root@server cacti]# ls *.sql
cacti.sql
[root@server cacti]# mysql -hlocalhost -uplj -p123456 cactidb < cacti.sql
[root@server cacti]# mysql -hlocalhost -uplj -p123456 cactidb
mysql> show databases;
mysql> show tables;
在浏览器里访问url地址安装
ping 192.168.4.77
http://192.168.4.77/cacti
FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'
[root@server ~]# rpm -qa |grep -i rrdtool
[root@server ~]# yum list |grep -i rrdtool
[root@server ~]# yum -y install rrdtool
[root@server ~]# rpm -qa |grep -i snmp
[root@server ~]# yum list |grep -i snmp
[root@server ~]# yum -y install net-snmp net-snmp-*
[root@server ~]# mysql -uroot -p123
mysql> show databases;
mysql> use cactidb;
mysql> show tables;
mysql> desc user_auth;
mysql> select username,password from user_auth;
二、配置
2.1 监控远端服务器 192.168.4.67
配置被监控端
1、运行snmpd服务,并允许监控服务器监控自己
yum -y install net-snmp net-snmp-*
[root@web1 ~]# sed -n '41p;62p;85p' /etc/snmp/snmpd.conf
com2sec notConfigUser 192.168.4.77 public
access notConfigGroup "" any noauth exact all none none
view all included .1 80
[root@web1 ~]# /etc/init.d/snmpd status
snmpd 已停
[root@web1 ~]# /etc/init.d/snmpd start;chkconfig snmpd on
正在启动 snmpd: [确定]
[root@web1 ~]# netstat -anptu|grep snmpd
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 1962/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 1962/snmpd
配置监控服务器
1 添加监控主机并选择监控模板
2 创建图像
3 创建图像树,并把创建的图像添加到图像树里。
4 收集监控数据 rrdtool
[root@server ~]# php /var/www/html/cacti/poller
poller_commands.php poller_export.php poller.php
[root@server ~]# php /var/www/html/cacti/poller.php
[root@server ~]# ls /var/www/html/cacti/rra
[root@server ~]# crontab -l
*/3 * * * * php /var/www/html/cacti/poller.php
[root@server ~]# /etc/init.d/crond status
[root@server ~]# ls /var/www/html/cacti/rra
[root@server ~]# sed -n '946p' /etc/php.ini
date.timezone = Asia/Chongqing
5 查看监控信息
+++++++++++++++++++++++++++++++++++++++++++=
2.2 监控本机 192.168.4.77
运行snmpd服务
yum -y install net-snmp net-snmp-*
[root@server ~]# sed -n '41p;62p;85p' /etc/snmp/snmpd.conf
com2sec notConfigUser 192.168.4.77 public
access notConfigGroup "" any noauth exact all none none
view all included .1 80
[root@server ~]# /etc/init.d/snmpd status
snmpd 已停
[root@server ~]# /etc/init.d/snmpd start;chkconfig snmpd on
正在启动 snmpd: [确定]
[root@server ~]# netstat -anptu|grep snmpd
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 1962/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 1962/snmpd
1 添加监控主机并选择监控模板
2 创建图像
3 创建图像树,并把创建的图像添加到图像树里。
4 收集监控数据 rrdtool
5 查看监控信息
+++++++++++++++++++++++++++++++++++++++++++
2.3 监控报警(报警功能使用插件实现)
1 启用插件功能
[root@server cacti]# which patch
[root@server cacti]# yum -y isntall patch
[root@server ~]# cd cacti
[root@server cacti]# tar -zxvf cacti-plugin-0.8.7g-PA-v2.9.tar.gz
[root@server cacti]# mv cacti-plugin-arch/ /var/www/html/cacti/
[root@server cacti]# cd /var/www/html/cacti/
[root@server cacti]# patch -N -p1 < ./cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.9.diff
[root@server cacti]# sed -n '42p' /var/www/html/cacti/include/config.php
$url_path = "/cacti/";
[root@server cacti]# cd cacti-plugin-arch/
[root@server cacti-plugin-arch]# mysql -uplj -p123456 cactidb < pa.sql
console-->User Management-->admin--> Plugin Management
Plugin Management
2 安装插件
[root@server cacti]# tar -zxvf monitor-v1.3-1.tgz
[root@server cacti]# mv monitor /var/www/html/cacti/plugins
[root@server cacti]# tar -xf settings-v0.71-1.tgz
[root@server cacti]# mv settings /var/www/html/cacti/plugins
[root@server cacti]# tar -xf thold-v0.4.9-3.tgz
[root@server cacti]# mv thold /var/www/html/cacti/plugins
3 配置做监控报警(默认报警方式是发送报警邮件)
监控本机登录的用户数
大于3 warring
大于5 ERROR
达到监控阀值时,给cactiuser@localhost 邮箱发送邮件
useradd cactiuser
/etc/init.d/postfix start
发件人 cactiuser@localhost
收件人 root@localhost
邮件服务器 localhost
[root@server ~]# /etc/init.d/postfix status
[root@server ~]# useradd cactiuser
[root@server ~]# id cactiuser
[root@server ~]# mail -s "aaa" cactiuser < /etc/hosts
[root@server ~]# su - cactiuser
[cactiuser@server ~]$ mail
1、创建邮箱列表 mailusers
2、配置监控报警
3、指定发送邮件的邮件服务器
4、查看监控报警