Cacti 获取 SNMP 发送的自定义信息绘图
Cacti 获取 SNMP 发送的自定义信息绘图本文以获取 squid 内存缓存命中率为例。
在 /etc/snmp/snmpd.conf 可以看到这样的样例:
# exec .1.3.6.1.4.1.2021.50 shelltest /bin/sh /tmp/shtest
可以使用自己编写的脚本,比如:
exec .1.3.6.1.4.1.2021.50 squidmemhits /usr/local/bin/squidmemhits.sh
vi /usr/local/bin/squidmemhits.sh01.#!/bin/sh
02.PATH=$PATH:/usr/local/squid/bin
03.export PATH
04.squidclient -t 1 -h localhost -p 3128 mgr:info | grep "Memory hits" | cut -d "%" -f 2 | awk '{print $5}'
05.squidclient -t 1 -h localhost -p 3128 mgr:info | grep "Memory hits" | cut -d "%" -f 3 | awk '{print $3}'
复制代码/etc/init.d/snmpd restart
检查一下能否读取到数据:snmpwalk -v 2c 192.168.0.200 -c public .1.3.6.1.4.1.2021.50
01.UCD-SNMP-MIB::ucdavis.50.1.1 = INTEGER: 1
02.UCD-SNMP-MIB::ucdavis.50.2.1 = STRING: "squidmemhits"
03.UCD-SNMP-MIB::ucdavis.50.3.1 = STRING: "/usr/local/bin/squidmemhits.sh"
04.UCD-SNMP-MIB::ucdavis.50.100.1 = INTEGER: 0
05.UCD-SNMP-MIB::ucdavis.50.101.1 = STRING: "86.0"
06.UCD-SNMP-MIB::ucdavis.50.101.2 = STRING: "86.6"
07.UCD-SNMP-MIB::ucdavis.50.102.1 = INTEGER: 0
08.UCD-SNMP-MIB::ucdavis.50.103.1 = ""
复制代码其中
UCD-SNMP-MIB::ucdavis.50.101.1 = STRING: "86.0"
UCD-SNMP-MIB::ucdavis.50.101.2 = STRING: "86.6"
这两行就是所需要的。01.snmpwalk -v 1 192.168.0.200 -c public .1.3.6.1.4.1.2021.50.101.1
02.UCD-SNMP-MIB::ucdavis.50.101.1 = STRING: "86.0"
03.snmpwalk -v 1 192.168.0.200 -c public .1.3.6.1.4.1.2021.50.101.2
04.UCD-SNMP-MIB::ucdavis.50.101.2 = STRING: "86.6"
复制代码能采集到数据,就可以配置 Cacti 来接收了。
先创建数据模板:01.
02.console -> Templates -> Data Templates -> Add ->
03.Data Templates Name: ucd/net - Squid - Memory Hits - 5 Minute
04.Data Source Name: |host_description| - Squid - Memory Hits - 5 Minute
05.Data Input Method: GET SNMP Data
06.Associated RRA's: remove Hourly (1 Minute Average)
07.Internal Data Source Name: squid_memhits_5min
08.create ->
09.OID: .1.3.6.1.4.1.2021.50.101.1
10.Save复制代码同样再创建一个 Squid - Memory Hits - 60 Minute 的数据模板。
再创建图形模板:01.console -> Templates -> Graph Templates -> Add ->
02.Name: ucd/net - Squid Memory Hits
03.Title: |host_description| - Squid Memory Hits
04.Vertical Label: percent
05.create
06.
07.Graph Template Items -> Add
08.Data Source: ucd/net - Squid - Memory Hits - 5 Minute - (squid_memhits_5min)
09.Color: FFC73B
10.Graph Item Type: AREA
11.Consolidation Function: AVERAGE
12.Text Format: 5 Minute
13.create ->
14.Graph Template Items -> Add
15.Graph Item Type: GPRINT
16.Consolidation Function: LAST
17.Text Format: Current:
18.Insert Hard Return
19.create ->
20.
21.Graph Template Items -> Add
22.Data Source: ucd/net - Squid - Memory Hits - 60 Minute - (squid_memhits_60min)
23.Color: FF0000
24.Graph Item Type: LINE1
25.Consolidation Function: AVERAGE
26.Text Format: 60 Minute
27.create ->
28.Graph Template Items -> Add
29.Graph Item Type: GPRINT
30.Consolidation Function: LAST
31.Text Format: Current:
32.Insert Hard Return
33.create -> Save复制代码然后就可以选择主机,添加图形了。
谢谢分享
页:
[1]