希望有人能帮助我进行故障排除。我正在尝试使用调用 Perl 脚本的自定义图形模板绘制 2 个 Dell Powerconnect 8024F 交换机的 CPU 利用率图表。从命令行调用时,该脚本运行良好,但无法在 Cacti 中创建图表。描述该问题的日志消息如下:
POLLER:Poller[0] 警告:Poller 输出表不为空。发现问题:6,数据源:(DS[134])、(DS[135])、(DS[136])、(DS[137])、(DS[138])、(DS[139])
(顺便说一句,RRD 文件不会被创建;必须有 6 个这样的文件 - 我们的 2 个交换机各有 3 个)其他不使用脚本的图表不会发生此问题。
最初的轮询器是 Spine,后来改为 cmd.php,没有任何区别。我尝试过:1) 将轮询间隔改为 1 分钟(在 Cacti 的 GUI 和 crontab 中);2) 通过调试数据源手动创建 RRD 文件。图表出现了,但值为 NaN,RRD 文件从未更新。3) 手动截断表“poller_output”。它在下一个周期被填充。4) 将数据输入方法中的字符串从
perl <path_cacti>/scripts/62xx_cpu.pl -H <ip> -C <co> -version <ve> -port <port> -domain <do> -user <user> -pass <pass> -authprotocol <ap> -privatepassword <pp> -privateprotocol <ppo> -timeout <ti>
到
perl /usr/share/cacti/scripts/62xx_cpu.pl -H <ip>
甚至
/usr/bin/perl /var/lib/cacti/scripts/62xx_cpu.pl -H <ip>
(消除隐式路径和链接)
(我已直接在脚本中添加了我的社区字符串;从命令行调用时,脚本会返回值。)5)将 PHP 内存限制从 64M 更改为 1024M;6)将轮询器从 Spine 更改为 cmd。
到现在为止还没有运气。
以下是有关我的设置的一些信息:
技术支援
一般信息日期 2016 年 12 月 12 日星期一 11:55:47 +0400 Cacti 版本 0.8.8h Cacti OS unix SNMP 版本 NET-SNMP 版本:5.7.2 RRDTool 版本 RRDTool 1.4.x 主机 3 图表 69 数据源 脚本/命令:11 SNMP:6 SNMP 查询:59 总计:76
轮询器信息间隔 300 类型 cmd.php 项目操作[0]: 124 操作[1]: 11 总计: 135 并发进程数 1 最大线程数 1 PHP 服务器数 1 脚本超时 25 最大 OID 10 上次运行统计时间:1.0357 方法:spine 进程数:1 线程数:1 主机数:4 每个进程的主机数:4 数据源:131 已处理的 RRD 数:66
PHP 信息 PHP 版本 5.4.16 PHP 操作系统 Linux PHP uname Linux SRV-GILAN-LOG02 3.10.0-327.el7.x86_64 #1 SMP 星期四 11 月 19 日 22:10:57 UTC 2015 x86_64 PHP SNMP 已安装 max_execution_time 30 memory_limit 1024M
请指教 - 下一步我应该尝试什么?提前感谢您的任何帮助。
答案1
我自己解决了。以下是详细信息的链接: http://forums.cacti.net/viewtopic.php?f=21&t=56659