err23211 发表于 2015-1-29 08:32:21

cacti监控与邮件报警

cacti是使用PHP语言开发到性能流量检测工具。可以监控linux、windows、路由交换。
cacti本是web界面管理套件,因此需要搭建好LAMP平台。通过使用net-snmp工具来采集数据,并结合DDRtool轮巡。
1
# yum install http* mysql* php* -y




安装net-snmp-utils软件包
1
# yum install net-snmp-utils* net-snmp-* net-snmp-libs* lm_sensors* -y




安装rrdtool软件包。
1
2
3
4
# yum install -y pango*
# tar zxf rrdtool-1.4.5.tar.gz
# cd rrdtool-1.4.5
# ./configure —prefix=/usr/local && make && make install




部署cacti,设置数据库链接。注意补丁放的目录,例如放在/root目录下
1
2
3
4
5
6
7
8
9
10
# tar zxf cacti-0.8.7g.tar.gz
# mv cacti-0.8.7g/ /var/www/html/cacti
# cd /var/www/html/cacti
# patch -p1 -N < ~/data_source_deativate.patch
# patch -p1 -N < ~/graph_list_view.patch
# patch -p1 -N < ~/html_output.patch
# patch -p1 -N < ~/ldap_group_authenication.patch
# patch -p1 -N < ~/ldap_group_authenication.patch
# patch -p1 -N < ~/script_server_command_line_parse.patch
# patch -p1 -N < ~/ping.patch





1
# patch -p1 -N < ~/poller_interval.patch




添加一个用于读写检测数据到用户,runct。并调整子目录rra/和log/
1
2
3
# useradd runct
# chown -R root.root ./
# chown -R runct.runct rra/ log/




建立数据库,表结构。
1
2
3
4
# mysql -uroot
mysql > CREATE DATABASE cactidb DEFAULT CHARACTER SET utf8;
mysql > GRANT all ON cactidb.* TO ‘cactiuser’@’localhost’ IDENTIFIED BY ‘123456’;
mysql > quit;




调整cacti配置文件。位于源码目录中到include文件夹下到config.php
1
# vim include/config.php




$database_type = "mysql";                //数据库类型
$database_default = "cactidb";            //数据库名称
$database_hostname = "localhost";      //数据库地址
$database_username = "cactiuser";    //授权用户
$database_password = "123456";      //授权密码
$database_port = "3306";                //端口
$config['url_path'] = "/";      //cacti源码相对于网站根目录的位置。
保存退出。
cacti初始化安装。
调整httpd配置
1
# vim /etc/httpd/conf/httpd.conf




DocumentRoot "/var/www/html/cacti"      //cacti源码作为网站根目录
<Directory "/var/www/html/cacti">            //设置目录访问权限
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
</Directory>
DirectoryIndex index.php index.html index.html.var      //设置PHP首页为index
保存退出。
重启httpd服务
1
# service httpd restart




在浏览器上访问本地IP进行安装,默认登录用户密码均为admin





客户机配置(被控端——snmpd)
linux被控主机到配置,需要安装net-snmp,lm_sensors软件包。然后适当修改/etc/snmp/snmpd.conf文件,启动snmpd服务即可!
1
# vim /etc/snmp/snmpd.conf




找到并修改:
com2sec notConfigUser172.16.208.130   public    //服务器IP和共同体名
accessnotConfigGroup ""      any       noauth    exactall none none
view all    included.1                               80      //去掉注释
保存退出
1
# service snmpd start




window被控端配置
安装好SNMP服务。然后设置SNMP服务,启动并重新启动。


Cacti的使用及插件
在cacti的web管理页面中
添加被控端:
Management——>Devices,右上角有Add,主机描述,地址,轮巡,共同体名等填写完整,create完成添加。



设置监控项目。
在刚才创建好的主机,页面下有木块可以添加。针对linux被控端可以应该在Associated Graph Templates添加Unix - Processes。



生成监控图像:
Create——>New Graphs可以选择监控的主机,包括监控主机的设备。
添加图像到检测树。
Management——>Graph Trees,页面有个Default Tree,单击进去有Add添加!!


定期采集检测树据。
需要使用PHP程序解析执行poller.php页面来采集数据,因此做成任务计划。
1
2
3
# su - runct
$ php /var/www/html/cacti/poller.php
$crontab -e




*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null
保存退出
1
2
$ exit
# service crond start




等一会就可以看到结果!!


添加Monitor、Thold插件
安装PA补丁及monitor、thold插件包
1
2
3
4
# tar zxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
# mysql -u cactiuser -p cactidb < cacti-plugin-arch/pa.sql
# cd /var/www/html/cacti/
# patch -p1 -N < ~/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff




安装monitor、thold插件。
1
2
3
4
5
6
# cd /var/www/html/cacti/plugins
# tar zxf /root/monitor-0.8.2.tar.gz -C /var/www/html/cacti/plugins/
# tar zxf /root/setting-0.5.tar.gz -C /var/www/html/cacti/plugins/
# tar zxf /root/thold-0.4.3.tar.gz -C /var/www/html/cacti/plugins/
# mysql -u cactiuser -p cactidb < monitor/monitor.sql
# mysql -u cactiuser -p cactidb < thold/thold.sql




在web界面上Utilities——>System Utilities,页面中的admin,里面将所有插件勾上。


在Configuration——>Plugin Management把所有服务开启。


若在头部导航中只看到thold而没有monitor,则回到Utilities——>System Utilities,页面中的admin,里面将所有插件勾上。


使用状态见识插件—Monitor
左侧导航栏Configuration——>Settings,页面上Misc,将View设为Tiles,如图:


这样,在monitor上的监控主机就好看多了!!


使用阈值警告插件—Thold
左侧导航栏Configuration——>Settings,页面上Thresholds和Mail/DNS两项!!
设置如下图:
Thresholds


Mail/DNS:



SMTP地址解析可以用nslookup来获取。


可以用Send a Test Email测试发送邮件是否ok。

关联需要预警到检测项目:
在Templates——>Threshold Templates,页面中进行添加

例如添加内存监控:

Templates——Threshold Templates——Add——ucd/net-Memory-Free,mem_free,create。
Create——New Graphs,把监控的项选上,保存!!

头部导航:monitor——选择主机(如win2003),单击进入物理内存Physical Memory,右边有个小勾。



一旦出发阈值,就会发送邮件警报!!
cacti的图形界面友好,而且数据采集统计精细。但报警功能相对与nagios来说较弱,而且轮巡报警时间为5分钟,若要实时则需要安装新插件,这也是和nagios不可比拟的。虽然nagios本身也是依赖插件,但其报警功能强大,因此工作环境上通常是cacti与nagios整合在一起。
页: [1]
查看完整版本: cacti监控与邮件报警