微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – Cacti如何使用脚本收集数据?

我们知道Cacti使用SNMP来查询和收集数据.据我所知,SNMP管理器使用对象ID(OID)来查询某个对象,并从SNMP代理获取有关该OID的响应.

令我困惑的是Cacti如何使用例如perl或python脚本来收集数据?那么它使用SNMP吗?如果是这样,协议如何工作呢?

解决方法

使用Cacti,您不仅限于SNMP查询.

您可以选择运行您自己的任何脚本作为数据输入方法.它可以是Perl,PHP,Python,Bash或其他.只需选择脚本/命令输入类型:

您的脚本必须输出至少一个值.此值将附加到Cacti中的输出字段,稍后用于创建最终图形.

如果您只需要一个输出字段,只需按原样(例如12)打印该值而不用任何其他内容(例如ms,%):

#!/bin/sh
ping -c1 host | grep rtt | cut -d"=" -f2 | cut -d"/" -f2

如果您必须检索多个值,则输出格式必须为:

field1:value1 field2:value2 field3:value3

然后每个字段将附加到输出字段.

#!/bin/sh
result=$(ping -c1 host | grep rtt | cut -d"=" -f2)
min=$(echo $result | cut -d"/" -f1)
avg=$(echo $result | cut -d"/" -f2)
max=$(echo $result | cut -d"/" -f3)
echo "min:$min avg:$avg max:$max"

您可以在此处找到进一步的解释和示例:

> http://www.cacti.net/downloads/docs/html/making_scripts_work_with_cacti.html
> http://forums.cacti.net/viewtopic.php?t=11288(不再由作者维护,但仍未弃用).

原文地址:https://www.jb51.cc/linux/397541.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐