我在使用 Nagiosgraph 时遇到问题。我创建了一个 nagios 检查,它通过 SNMP 监视服务器/工作站上的流量,检查的输出是一个长字符串,如下所示:
OK - traffmon eth0:incoming:170KB:outgoing:1606KB eth1:incoming:1576KB:outgoing:170KB eth2:incoming:156:outgoing:0|lo;incoming;25;outgoing;25 tunl0;incoming;0;outgoing;0 gre0;incoming;0;outgoing;0 sit0;incoming;0;outgoing;0 eth0;incoming;170KB;outgoing;1606KB eth1;incoming;1576KB;outgoing;170KB eth2;incoming;156;outgoing;0
我对前三个接口感兴趣,这就是为什么我用接口(我认为是性能数据)将 eth0、eth1、eth2 从整个字符串中分离出来,并且我按照http://www.novell.com/上的说明进行操作coolsolutions/feature/19843.html我的 service.cfg 中有
define serviceextinfo{
host_name workstation
service_description Throughput Monitor
action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$&db=eth0,incoming,outgoing,&geom=500x100&rrdopts%3D-l%200%20-u%2010000%20-t%20Traffic
}
在我的地图文件中,我写了这个来匹配我感兴趣的东西:
/output:.*traffmon ([0-9]+), ([0-9]+), ([0-9]+), ([0-9]+), ([0-9]+), ([0-9]+), ([0-9]+), ([0-9]+), ([0-9]+)/
and push @s, [ 'eth0',
['incoming', 'GAUGE', $2],
['outgoing', 'GAUGE', $3] ],
[ 'eth1',
['incoming', 'GAUGE', $5],
['outgoing', 'GAUGE', $6] ],
[ 'eth2',
['incoming', 'GAUGE', $8],
['outgoing', 'GAUGE', $9] ];
我想创建三个表(eth0、eth1、eth2),其中包含两列(传入、传出),然后尝试很好地表示它们。问题是通常我的 rrd 文件是自动创建的,但是为此检查 rrd 文件夹中带有工作站名称的文件夹没有创建,.rrd 文件也没有创建,我觉得它有事情要做使用地图文件,可能匹配不起作用或什么(我这么说是因为我现在不使用 perl)。任何建议表示赞赏。谢谢