|
感谢CU的twodog29
1、Squid准备工作:
在配置文件(squid.conf)中添加以下选项:
acl CactiServer src 127.0.0.1 //127.0.0.1改为监控主机IP
acl snmpcommunity snmp_community snmppublic //snmppublic可改为public(cacti默认是这个)
snmp_port 3401
snmp_access allow snmpcommunity CactiServer
snmp_access deny all
2、重启Squid
3、在shell中输入以下指令
export MIBFILES="/etc/squid/mib.txt"
snmpwalk -c snmppublic -v1 :3401 .1.3.6.1.4.1.3495.1 //把“hostname”改为本机ip,测试Squid的snmp工作是否正常
4、Cacti配置和导入脚本
1)把以下文件拷贝到此目录 /resource/snmp_queries:
webcache_squid_core.xml
webcache_squid_median.xml
2)在Cacti的配置界面“Import Templates”中导入cacti_host_template_webcache_squid_server_snmp.xml
3)在“Devices”选项中添加新主机,并注意填写以下内容:
SNMP Community = snmppublic
SNMP Version = 1
SNMP Port = 3401
最后可以在下面看到此内容
1) WebCache - Squid Statistics - Core (Verbose Query) Uptime Goes Backwards Success [1 Item, 1 Row]
2) WebCache - Squid Statistics - Median Based (Verbose Query) Uptime Goes Backwards Success [3 Items, 3 Rows]
其中在顶部有提示说“SNMP error”,这个无关紧要的
5、可能碰到的问题:
设置完成以后执行 poller 的时候总是无法产生 rrd 数据, 给 php 里面加 log 也没有看出来什么, google 换了很多关键词, 总算发现了原因: cacti 在进行 snmp 查询之前会先确定对方是否在运行, 他用的方法是查询 .1.3.6.1.2.1.1.3.0 这个 oid, 但是 squid 不支持这个 oid , 于是 cacti 就以为 squid down 了,不去真正查询. 临时解决方法是在 cacti 的 settings 里面, poller 页的 Downed Host Detection 选择 Ping, 不要选择带有 snmp 字样的.
|
|
|