通过仙人掌远程haproxy数据收集失败

所以请原谅我,如果我的问题听起来很愚蠢,我已经尽了最大努力find问题的解决scheme,但仍然需要帮助。 我想从远程前端(FE)计算机收集haproxy.log文件中的行数,我已经在cacti中成功添加了此设备,并且正在绘制像load average的graphics。 我遵循这个: http : //www.cacti.net/downloads/docs/html/how_to.html使用shell脚本添加一个graphics到这个设备,我添加了一个数据input方法select脚本/命令作为inputtypes和/ home / ubuntu / script.sh作为inputstring,也添加了一个输出字段。 接下来,我添加了一个模板的数据源,并selectFE作为主机,然后如链接中所述,我添加了graphics,事情看起来很好,直到现在,问题是没有任何东西被绘制在graphics,cacti日志文件(debugging模式)显示如下:

CMDPHP:轮询[0]主机[5] DS [29] CMD:/home/ubuntu/script.sh,输出:U 12/30/2011 12:35:07 AM – CMDPHP:轮询[0]主机[5] DS [29]警告:来自CMD的结果无效。 部分结果:U

现在我知道脚本应该只打印输出,因为这是一个输出字段,我的脚本包含以下内容

temp = $(sudo ssh -i /home/ubuntu/key.pem [email protected]'/var/log/haproxy.log | wc -l')echo $ temp

该脚本是由Ubuntu的拥有,因为在仙人掌服务器上没有仙人掌用户,其他人安装了仙人掌服务器,我现在被要求照顾它。

如果我从cacti服务器命令行执行该脚本,它工作正常,我只执行它作为用户Ubuntu的。

请帮助我我不知道我哪里错了。

谢谢

从内存中,cacti轮询器作为www-data用户运行,因此将不具有读取您的私钥的权限。

SSH并不是让cacti从远程机器获取数据的绝妙方式。 有很多的select,但我已经成功的使用SNMP从远程主机的数据返回到仙人掌。

ubuntu上的SNMP守护程序可以使用execconfiguration来执行脚本以响应特定的SNMP查询。 在Ubuntu的snmpd.conf给出的例子是这样的:

 exec .1.3.6.1.4.1.2021.53 mailq /usr/bin/mailq 

这将返回当前的mailq输出到任何查询.1.3.6.1.4.1.2021.53客户端。 您应该能够设置类似的东西,并将cacticonfiguration为使用简单的SNMP查询来接收数据。

在我看来,这比通过自定义脚本input来得容易很多。