I'm trying to use the Percona Apache Monitoring [Cacti] Template for Memcached.
They do indeed warn that you can't use the openbsd version of the package and provide a solution for Ubuntu/Debian users, i.e.:
You need nc on the server. Some versions of nc accept different command-line options. You can change the options used by configuring the PHP script. If you don’t want to do this for some reason, then you can install a version of nc that conforms to the expectations coded in the script’s default configuration instead. On Debian/Ubuntu, netcat-openbsd does not work, so you need the netcat-traditional package, and you need to switch to /bin/nc.traditional...
Since the RHEL 6.x version indeed comes from openbsd (confirmed by rpm -qi nc
) how does one go about getting this installed on RHEL/CentOS?
Anyone else running these Percona templates on RHEL/CentOS? What did you do? alien
the Debian package?
Update 1: FWIW, I tried to use GNU netcat by compiling it from source but it doesn't seem to have the exact options required by the Cacti template either (i.e. there is no analogy for -C or -q1 so it seems)
Update 2: I alien[ed] the netcat-traditional_1.10-38_amd64.deb package to make a .tgz and it does produce a binary "nc.traditional" and that version has the -q option but no -C
Update 3: I alied[ed] netcat-openbsd_1.89-3ubuntu2_amd64.deb as suggested by cjc and although it provides the -C and -q options it does not appear to work with the template. I also removed the -q1 option from the nc_cmd as suggested by quanta. Still doesn't graph or produce output from the commandline.
Update 4: I built the source RPM as suggested by dmourati and left out the -q1 as suggested by quanta and still it doesn't graph or produce output from the commandline. Maybe the source RPM solution and/or not passing -q1 works on RHEL 5.x, I dunno. At this point I admit defeat.
Cheers
please install package the called nmap-ncat and check it.
Here's a partial (and opposite) solution that addresses the -C but not the -q.
I started here:
http://www.reidea.hu/netcatcrlf/
That at least explains what the -C option is supposed to do, provide a CRLF.
That page lead me to an ancient bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=203931
There you can find a patched SRPM for the -C issue.
https://bugzilla.redhat.com/attachment.cgi?id=134827
Download that SRPM, rebuild it (works fine in my CentOS 6 RPM build environment) and you can install the resulting nc. Check the man page, voila, support for -C.
-C Send CRLF as line-ending
For my own edification, what does the -q1 option do?
EDIT: Ah, I see the -q1 is to quit after 1 second. For the netcat above, the option is "-w" for timeout. You may be able to make that simple change to the percona script and get your graphs working. Pass a EOF as necessary.
On my Ubuntu 10.04 box, I see that the version that has both "-C" and "-q1" is the openbsd one, version 1.89-3ubuntu2. The nc.traditional one in fact does not.
Try to alien netcat-openbsd package, maybe?
Interestingly, the various sources for netcat around the Internet don't have the complete featureset offered by the Ubuntu version. I haven't looked at the Ubuntu package manifest to see what they did.
Alternatively you can write your own wrapper what use the correct options and ignore all the other. Saving it and use it in the percona monitoring plugins. How does it sounds ?
and change the script if you need it