一、Cacti的安装
基础应用:
解压到web目录下,
执行
- mysql -uroot -p cacti < cacti.sql
vi include/config.php 更改数据库的连接信息
建议新建一个用户newuser,把cacti下rrd和log目录权限给新用户,
新建任务 crontab -u newuser -e
添加下面这条
- */5 * * * * /usr/local/server/php5/bin/php /usr/local/server/www/cacti/poller.php > /dev/null 2>&1
到此,基础应用已经可以了。
另外需要配置被监控主机的snmp 密码 等信息:
- vi /etc/snmp/snmpd.conf
1、更改
- com2sec notConfigUser default public
改为:
- com2sec notConfigUser 127.0.0.1(改成监控服务器的ip) public(改成自己的密码)
2、更改
- access notConfigGroup "" any noauth exact systemview none none
改为:
- access notConfigGroup "" any noauth exact all none none
3、#view all included .1 80
将前面的 # 注释 去掉。
#p#
二、Cacti应用
1、监控windows主机:
需要在windows上面安装snmp简单网络管理协议
(1)、打开“控制面板”—“添加删除程序”—“添加删除组建”,在“管理和监视工具”中选中“简单网络管理协议(snmp)”,点击“下一步”,开始安装,在安装过程中需要i386文件
(2)、打开“开始”—“程序”—“管理工具”—“服务”,找到“snmp service”,右键打开“属性”,选择“安全”,在“接受团体名称”处,点“添加”,在“团体名称”处写入你的cacti使用的community,选中“接受来自这些主机的snmp数据包”,默认值为“localhost”,点击“编辑”,将“localhost”改为cacti监控服务器的实际 ip地址
2、监控linux主机
需要修改net-snmp的配置文件:否则不能取到CPU和系统负载的数据
Linux(RedHat)的配置
打开默认的/etc/snmp/snmpd.conf文件,更改如下配置:
(1)、查找以下字段:
- # sec.name source community
- com2sec notConfigUser default public
将"comunity"字段改为你要设置的密码.比如"public".
将“default”改为你想哪台机器可以看到你的snmp信息,如10.10.10.10。
(2)、查找以下字段:
- # group context sec.model sec.level prefix read write notif
- access notConfigGroup "" any noauth exact all none none
将"read"字段改为all.
(3)、查找以下字段:
- ## incl/excl subtree mask
- #view all included .1 80
将该行前面的"#"去掉.
保存关闭.
(4)、运行/etc/init.d/snmpd start命令运行snmpd.
***运行netstat -ln查看161端口是否打开了.
3、FreeBSD
如果使用port安装net-snmp,默认的配置文件应该是在/usr/local/share/snmp/snmpd.conf(没有默认的文件)。
可以建立一个简单的配置文件,如:
- syslocation YourDefineName
- syscontact YourEmailAddress
- sysservices 77
- rocommunity public (请更改)
- load 12 12 12
然后运行snmpd,netstat 看是否打开了161端口。
4、监控squid服务器:
(1).最开始,要让squid支持snmp。编辑squid.conf
- #vi /etc/squid/squid.conf
- acl CactiServer src 127.0.0.1 //写本机,因为要用net-snmp做代理
- acl SNMP snmp_community passwd
- snmp_port 3401
- snmp_access allow SNMP CactiServer
- snmp_access deny ALL
- #squid -k reconfigure
重新载入配置
使用netstat -tunlp |grep squid
查看是否监听3401端口。
测试一下squid的snmp是不是正常,要安装一个snmp的工具包
- #yum install -y net-snmp-utils
- #snmpwalk -v 1 -c passwd localhost:3401 .1.3.6.1.4.1.3495.1
这个有数据出来才对,没有的话,检查上面的配置.
(2).在snmpd.conf中代理squid的snmp
- #vim /etc/snmp/snmpd.conf
添加以下行至snmpd.conf
- #proxy -v 1 -c passwd 127.0.0.1:3401 .1.3.6.1.4.1.3495.1
测试一下.看看有没有数据
- #snmpwalk -v 1 -c passwd localhost:161 .1.3.6.1.4.1.3495.1
(3).在cacti中导入别人写好的squid模板
1)把以下文件拷贝到此目录
- webcache_squid_core.xml
- webcache_squid_median.xml
2)在Cacti的配置界面“Import Templates”中导入cacti_host_template_webcache_squid_server_snmp.xml
(4).squid的所有信息都能画出图来。
安装就完成了。
1)在“Devices”选项中添加新主机,注意“Host Template”选择"squid sever"。就是导入进的那个.并注意填写以下内容:
- SNMP Community = passwd
- SNMP Version = 1
- SNMP Port = 3401
2)在Cacti的"settings"里面, poller页的"Downed Host Detection"选择 Ping, 不要选择带有snmp字样的会出错.
在你的设备主机的最下面会见到
- WebCache - Squid Statistics - Core (Verbose Query) Uptime Goes Backwards Success [1 Item, 1 Row]
- WebCache - Squid Statistics - Median Based (Verbose Query) Uptime Goes Backwards Success [3 Items, 3 Rows]
#p#
注意:
1.提示:"No SNMP data returned"
可以尝试改变这个设置
- view systemview included .1.3.6.1.2.1.1
为
- view systemview included .1.3.6.1.2.1
2.Cacti不能生成图象.
注意,主机设置中,一定是要活的。也就是讲icmp之类一定要能ping通.
也可以尝试禁用掉存活检查。
附:测试snmp抓取数据的方法:
测试普通数据:
snmpwalk -v 1 -c passwd 127.0.0.1:161 if
snmpwalk -v 2c -c passwd 127.0.0.1:161 if
测试squid数据:
snmpwalk -v 1 -c passwd 127.0.0.1:3401 1.3.6.1.4.1.3495.1
snmpwalk -v 2c -c passwd 127.0.0.1:3401 1.3.6.1.4.1.3495.1
5、增加cacti插件的方法
为cacti系统安装Thold、Monitor等插件
插件下载地址:http://cactiusers.org/downloads/
注意下载时注意相应版本,版本不对会产生问题。
monitor插件,提供更简略、直观的设备状态图示;
thold插件,提供设备异常预警。
安装thold、monitor插件:注意要先备份一下
【编辑推荐】