cacti是使用PHP语言开发到性能流量检测工具。可以监控linux、windows、路由交换。
cacti本是web界面管理套件,因此需要搭建好LAMP平台。通过使用net-snmp工具来采集数据,并结合DDRtool轮巡。
$database_default = "cactidb"; //数据库名称
$database_hostname = "localhost"; //数据库地址
$database_username = "cactiuser"; //授权用户
$database_password = "123456"; //授权密码
$database_port = "3306"; //端口
$config['url_path'] = "/"; //cacti源码相对于网站根目录的位置。
保存退出。
cacti初始化安装。
调整httpd配置
//设置目录访问权限
Options None
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.php index.html index.html.var //设置PHP首页为index
保存退出。
重启httpd服务
客户机配置(被控端——snmpd)
linux被控主机到配置,需要安装net-snmp,lm_sensors软件包。然后适当修改/etc/snmp/snmpd.conf文件,启动snmpd服务即可!
com2sec notConfigUser 172.16.208.130 public //服务器IP和共同体名
access notConfigGroup "" any noauth exact all none none
view all included .1 80 //去掉注释
保存退出
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页面来采集数据,因此做成任务计划。
保存退出
添加Monitor、Thold插件
安装PA补丁及monitor、thold插件包
在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本是web界面管理套件,因此需要搭建好LAMP平台。通过使用net-snmp工具来采集数据,并结合DDRtool轮巡。
[root@localhost ~]# yum install http* mysql* php* -y安装net-snmp-utils软件包
[root@localhost ~]# yum install net-snmp-utils* net-snmp-* net-snmp-libs* lm_sensors* -y安装rrdtool软件包。
[root@localhost ~]# yum install -y pango* [root@localhost ~]# tar zxf rrdtool-1.4.5.tar.gz [root@localhost ~]# cd rrdtool-1.4.5 [root@localhost rrdtool-1.4.5]# ./configure —prefix=/usr/local && make && make install部署cacti,设置数据库链接。注意补丁放的目录,例如放在/root目录下
[root@localhost ~]# tar zxf cacti-0.8.7g.tar.gz [root@localhost ~]# mv cacti-0.8.7g/ /var/www/html/cacti [root@localhost ~]# cd /var/www/html/cacti [root@localhost cacti]# patch -p1 -N < ~/data_source_deativate.patch [root@localhost cacti]# patch -p1 -N < ~/graph_list_view.patch [root@localhost cacti]# patch -p1 -N < ~/html_output.patch [root@localhost cacti]# patch -p1 -N < ~/ldap_group_authenication.patch [root@localhost cacti]# patch -p1 -N < ~/ldap_group_authenication.patch [root@localhost ~]# patch -p1 -N < ~/script_server_command_line_parse.patch [root@localhost cacti]# patch -p1 -N < ~/ping.patch
[root@localhost cacti]# patch -p1 -N < ~/poller_interval.patch添加一个用于读写检测数据到用户,runct。并调整子目录rra/和log/
[root@localhost cacti]# useradd runct [root@localhost cacti]# chown -R root.root ./ [root@localhost cacti]# chown -R runct.runct rra/ log/建立数据库,表结构。
[root@localhost cacti]# 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
[root@localhost cacti]# 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配置
[root@localhost cacti]# vim /etc/httpd/conf/httpd.confDocumentRoot "/var/www/html/cacti" //cacti源码作为网站根目录
Options None
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.php index.html index.html.var //设置PHP首页为index
保存退出。
重启httpd服务
[root@localhost cacti]# service httpd restart在浏览器上访问本地IP进行安装,默认登录用户密码均为admin
客户机配置(被控端——snmpd)
linux被控主机到配置,需要安装net-snmp,lm_sensors软件包。然后适当修改/etc/snmp/snmpd.conf文件,启动snmpd服务即可!
[root@localhost ~]# vim /etc/snmp/snmpd.conf找到并修改:
com2sec notConfigUser 172.16.208.130 public //服务器IP和共同体名
access notConfigGroup "" any noauth exact all none none
view all included .1 80 //去掉注释
保存退出
[root@localhost ~]# 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页面来采集数据,因此做成任务计划。
[root@localhost ~]# su - runct [runct@localhost ~]$ php /var/www/html/cacti/poller.php [runct@localhost ~]$crontab -e*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null
保存退出
[runct@localhost ~]$ exit [root@localhost ~]# service crond start等一会就可以看到结果!!
添加Monitor、Thold插件
安装PA补丁及monitor、thold插件包
[root@localhost ~]# tar zxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz [root@localhost ~]# mysql -u cactiuser -p cactidb < cacti-plugin-arch/pa.sql [root@localhost ~]# cd /var/www/html/cacti/ [root@localhost cacti]# patch -p1 -N < ~/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff安装monitor、thold插件。
[root@localhost cacti]# cd /var/www/html/cacti/plugins [root@localhost plugins]# tar zxf /root/monitor-0.8.2.tar.gz -C /var/www/html/cacti/plugins/ [root@localhost plugins]# tar zxf /root/setting-0.5.tar.gz -C /var/www/html/cacti/plugins/ [root@localhost plugins]# tar zxf /root/thold-0.4.3.tar.gz -C /var/www/html/cacti/plugins/ [root@localhost plugins]# mysql -u cactiuser -p cactidb < monitor/monitor.sql [root@localhost plugins]# 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整合在一起。