我正在尝试为Memcached使用Percona Apache Monitoring [Cacti]模板 。
他们的确提醒你不能使用openbsd版本的软件包,并为Ubuntu / Debian用户提供解决scheme,例如:
你需要服务器上的nc。 某些版本的nc接受不同的命令行选项。 您可以更改configurationPHP脚本使用的选项。 如果由于某种原因不想执行此操作,则可以安装符合脚本默认configuration中编码的期望的nc版本。 在Debian / Ubuntu上,netcat-openbsd不起作用,所以你需要netcat-traditional包,并且你需要切换到/bin/nc.traditional …
由于RHEL 6.x版本确实来自openbsd(由rpm -qi nc证实),所以如何在RHEL / CentOS上安装它?
其他人在RHEL / CentOS上运行这些Percona模板? 你做了什么? alien的Debian软件包?
更新1 :FWIW,我试图从源码编译它使用GNU netcat,但它似乎并没有Cacti模板所需的确切选项(即没有类似的-C或-q1,所以它似乎)
更新2 :我外星人[编辑] netcat-traditional_1.10-38_amd64.deb包做一个.tgz,它确实产生一个二进制“nc.traditional”,该版本有-q选项,但没有-C
更新3 :我与cjcbuild议的一样使用了netcat-openbsd_1.89-3ubuntu2_amd64.deb,尽pipe它提供了-C和-q选项,但它似乎不能与模板一起使用。 我也按照quanta的build议从nc_cmd中删除了-q1选项。 仍然不会绘制或产生命令行的输出。
更新4 :我按照dmourati的build议构build了源RPM,并且按照quanta的build议排除了-q1,并且它不会从命令行生成或生成输出。 也许源RPM解决scheme和/或不传递-q1在RHEL 5.x,我不知道。 在这一点上,我承认失败。
干杯
请安装名为nmap-ncat的软件包并检查它。
这是一个部分(和相反)的解决scheme,解决-C而不是-q。
我从这里开始:
http://www.reidea.hu/netcatcrlf/
这至less解释了-C选项应该做什么,提供一个CRLF。
那个页面引导我到一个古老的bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=203931
在那里你可以find补丁的SRPM的-C问题。
https://bugzilla.redhat.com/attachment.cgi?id=134827
下载SRPM,重build它(在我的CentOS 6 RPM构build环境中正常工作),你可以安装生成的nc。 检查手册页,瞧,支持-C。
-C发送CRLF作为行结束
对于我自己的启发,-q1选项有什么作用?
编辑 :啊,我看到-q1是1秒后退出。 对于上面的netcat,选项是“-w”超时。 您可能可以对percona脚本进行简单的更改,并使图表正常工作。 根据需要传递EOF。
在我的Ubuntu 10.04盒子上,我看到同时拥有“-C”和“-q1”的版本是openbsd版本1.89-3ubuntu2。 数控传真其实不是。
尝试外来netcat-openbsd包,也许?
有趣的是,围绕互联网的netcat的各种来源没有Ubuntu版本提供的完整function集。 我没有看Ubuntu包清单,看看他们做了什么。
您可以在模板中使用nc_cmdconfiguration选项,正如您在Google Code Cacti模板项目上的错误报告最后一个注释上方的注释中所述,您链接到此问题。
另外,您应该知道您正在使用过时的模板。 正如Better Cacti模板项目所述,该项目已经停产,现在成为了Percona监控插件的一部分。 请参阅http://www.percona.com/software/percona-monitoring-plugins/并注意,此软件完全由Percona支持或咨询合同涵盖,这是获得安装帮助的好方法。 或者,在不太可能发生的情况下,如果真的存在不兼容性,将无法让您按原样安装模板,那么您将能够修复软件错误。
或者,你可以编写你自己的包装,使用正确的选项,忽略所有其他的。 保存并在percona监控插件中使用它。 这听起来怎么样?
yum install nc up2date install nc
并在需要时更改脚本