(请参阅底部的更新...)
我已经为Cacti编写了一个数据输入方法脚本(在Ruby中,以收集来自beantalkd的统计信息),并且在以cacti用户帐户(但使用Cacti工具)运行时,它可以从命令行工作(返回一个简单的整数,如此处所述)。本身不收集任何数据,并且日志中没有任何内容。
这是数据输入法设置: 仙人掌数据输入法http://img.skitch.com/20091009-gh7g1kukn9yradj6y2iqrd5qm1.jpg
这是生成的图(将其添加到主机的图表模板后,可以运行足够长的时间以收集数据): 仙人掌图http://img.skitch.com/20091009-xq1kn3qxkteb5hb11wtx6tbs8m.jpg
更新#1:看起来仙人掌可能正在剥离环境:
sudo su-cacti -c'env -i / script / beanstat --host 10.11.12.13 --port 11300 --stat current-waiting' / script / beanstat:4:`require'中:没有要加载的文件-rubygems(LoadError) 来自/ script / beanstat:4
如果是这样,我应该如何解决?
更新#2:stackoverflow.com上的此响应似乎已解决了环境问题,但图表中仍然没有数据。
更新#3:感谢@Heath的建议,我提高了轮询器的日志记录级别并发现了这一点:
警告:CMD的结果无效。部分结果:U
还没有运气谷歌搜索“部分结果:U”的意思。该脚本仅打印单个整数值。
更新#4:我终于做到了这一点。核心问题是shell脚本运行时缺少环境。我必须通过在Ruby脚本前添加以下几行来解决该问题:
#!/ bin / sh PATH = / usr / local / bin:$ PATH exec ruby -x“ /完整/路径/到/脚本/目录” $ 0“ $ @” #!/ usr / bin / env红宝石
第二个问题是数据输入方法的正确配置(即使我想要收集的每个单独的指标,即使它们都使用相同的脚本,也要针对每个单独的度量标准进行配置),该方法可以为数据源提供数据,而数据源可以为数据模板提供数据(反之亦然,我m尚不清楚),它提供了需要分配给设备然后添加到图树的图模板。总而言之,这是一个糟糕的文档崩溃,我希望再也不必这样做了。
更新#5:我已经在GitHub上共享了我的脚本http://github.com/trak3r/cacti-beanstalkd-script