Netcat (nc) traditionelles Paket für RHEL 6.x?

12

Ich versuche, die Percona Apache Monitoring [Cacti] -Vorlage für Memcached zu verwenden .

Sie warnen in der Tat, dass Sie die openbsd-Version des Pakets nicht verwenden können und bieten eine Lösung für Ubuntu / Debian-Benutzer, dh:

Du brauchst nc auf dem Server. Einige Versionen von nc akzeptieren unterschiedliche Befehlszeilenoptionen. Sie können die verwendeten Optionen ändern, indem Sie das PHP-Skript konfigurieren. Wenn Sie dies aus irgendeinem Grund nicht tun möchten, können Sie stattdessen eine Version von nc installieren, die den in der Standardkonfiguration des Skripts festgelegten Erwartungen entspricht. Unter Debian / Ubuntu funktioniert netcat-openbsd nicht, daher benötigen Sie das Paket netcat-traditional und müssen zu /bin/nc.traditional wechseln ...

Da die RHEL 6.x-Version tatsächlich von openbsd stammt (bestätigt durch rpm -qi nc), wie geht man vor, um diese auf RHEL / CentOS zu installieren?

Jemand anderes, der diese Percona-Vorlagen unter RHEL / CentOS ausführt? Was hast du getan? aliendas Debian-Paket?

Update 1 : FWIW, ich habe versucht, GNU Netcat zu verwenden, indem ich es aus dem Quellcode kompilierte, aber es scheint auch nicht die genauen Optionen zu haben, die von der Cacti-Vorlage benötigt werden (dh es gibt keine Analogie für -C oder -q1, so wie es scheint)

Update 2 : Ich habe das netcat-traditional_1.10-38_amd64.deb-Paket verfremdet, um eine .tgz-Datei zu erstellen, und es wird eine binäre "nc.traditional" -Version mit der Option -q, aber ohne -C erzeugt

Update 3 : Ich beendete [ed] netcat-openbsd_1.89-3ubuntu2_amd64.deb wie von cjc vorgeschlagen und obwohl es die Optionen -C und -q bietet, scheint es nicht mit der Vorlage zu funktionieren. Ich habe auch die Option -q1 aus nc_cmd entfernt, wie von quanta vorgeschlagen. Zeichnet oder erzeugt keine Ausgabe über die Befehlszeile.

Update 4 : Ich habe das Quell-RPM wie von dmourati vorgeschlagen erstellt und das -q1 wie von quanta vorgeschlagen weggelassen. Trotzdem werden keine Grafiken oder Ausgaben von der Kommandozeile erzeugt. Vielleicht funktioniert die Quell-RPM-Lösung und / oder die Nichtübergabe von -q1 auf RHEL 5.x, keine Ahnung. Zu diesem Zeitpunkt gebe ich Niederlage.

Prost

HTTP500
quelle
Hmm. Hier ist eine "herkömmliche" Netcat- Drehzahl für 5.x: rpm.pbone.net/index.php3/stat/4/idpl/2392833/dir/redhat_5.x/com/… Möglicherweise können Sie etwas mit dem SRPM tun. in Bezug auf den Aufbau auf RHEL / CentOS 6.x.
CJC
@cjc, siehe mein Update 2 Ich erwarte das gleiche Problem mit diesem RPM.
HTTP500,
hmm, wenn ich mir den auf meiner Ubuntu 10.04-Box installierten nc genauer ansehe, sehe ich, dass die Version, die sowohl "-C" als auch "-q1" enthält, die openbsd-Version 1.89-3ubuntu2 ist. Das nc.traditional nicht. Versuchen Sie vielleicht, netcat-openbsd außerirdisch zu machen?
CJC
4
Es ist fast so, als würden die Schablonenbauer absichtlich trollen. "Das Installieren dieser Vorlage ist ganz einfach! Stellen Sie einfach sicher, dass auf Ihrem Netcat die Optionen -C und -q verfügbar sind. <Böses Grinsen>"
Janne Pikkarainen

Antworten:

2

Bitte installieren Sie das aufgerufene nmap-ncat-Paket und überprüfen Sie es.

Manoj K
quelle
-1

Hier ist eine teilweise (und entgegengesetzte) Lösung, die sich mit -C befasst, nicht jedoch mit -q.

Ich habe hier angefangen:

http://www.reidea.hu/netcatcrlf/

Dies erklärt zumindest, was die Option -C tun soll, und liefert eine CRLF.

Diese Seite führte mich zu einer alten Bugzilla:

https://bugzilla.redhat.com/show_bug.cgi?id=203931

Dort finden Sie ein gepatchtes SRPM für das -C-Problem.

https://bugzilla.redhat.com/attachment.cgi?id=134827

Laden Sie dieses SRPM herunter, erstellen Sie es neu (funktioniert in meiner CentOS 6 RPM-Build-Umgebung einwandfrei), und Sie können das resultierende NC installieren. Überprüfen Sie die Manpage, voila, support for -C.

-C Sende CRLF als Zeilenende

Was macht die Option -q1 für meine eigene Erbauung?

EDIT : Ah, ich sehe das -q1 nach 1 Sekunde beendet wird. Für das obige Netcat ist die Option "-w" für die Zeitüberschreitung. Möglicherweise können Sie diese einfache Änderung am Percona-Skript vornehmen und Ihre Grafiken zum Laufen bringen. Übergeben Sie bei Bedarf einen EOF.

dmourati
quelle
1
Mein Eindruck ist, dass sich "-q1" vom "-w" -Zeitlimit unterscheidet. Letzteres ist die Zeitüberschreitung für den Verbindungsaufbau. Ersteres ist laut Dokumentation eine Verzögerung beim Schließen einer bestehenden Verbindung.
cjc
-1

Auf meiner Ubuntu 10.04-Box sehe ich, dass die Version, die sowohl "-C" als auch "-q1" hat, die openbsd-Version 1.89-3ubuntu2 ist. Das nc.traditional tut es tatsächlich nicht.

Versuchen Sie vielleicht, ein fremdes netcat-openbsd-Paket zu erstellen?

Interessanterweise bieten die verschiedenen Quellen für Netcat im Internet nicht die vollständigen Funktionen der Ubuntu-Version. Ich habe mir das Ubuntu-Paketmanifest nicht angesehen, um zu sehen, was sie getan haben.

cjc
quelle
Prämiengewährung, da sie die angegebenen Kriterien erfüllt. Beachten Sie jedoch, dass diese Lösung nicht für das allgemeine Problem geeignet ist (dh mit der Percona Cacti Memcached-Vorlage), sodass die beste Antwort nicht erteilt wird.
HTTP500,
-1

Sie können die Konfigurationsoption nc_cmd in der Vorlage verwenden, wie im Kommentar direkt über Ihrem letzten Kommentar zum Fehlerbericht im Google Code Cacti-Vorlagenprojekt angegeben, in dem Sie auf diese Frage verlinkt haben.

Außerdem sollten Sie wissen, dass Sie veraltete Vorlagen verwenden. Wie im Projekt Better Cacti Templates angegeben, wurde dieses Projekt eingestellt und ist nun Teil der Percona Monitoring Plugins. Siehe http://www.percona.com/software/percona-monitoring-plugins/ und beachten Sie, dass diese Software vollständig von Percona-Support- oder Beratungsverträgen abgedeckt wird. Dies ist eine hervorragende Möglichkeit, um Hilfe bei der Installation zu erhalten. In dem unwahrscheinlichen Fall, dass es eine echte Inkompatibilität gibt, mit der Sie die Vorlagen nicht so installieren können, wie sie sind, können Sie Fehlerbehebungen für die Software vornehmen.

Baron Schwartz
quelle
Ich bin mit der Percona Überwachung Plugins Vorlage wie in Original - Beitrag angegeben. Ich habe diesen Thread aus Frustration kommentiert, entschuldige mich. Und ich habe die Konfigurationsoption nc_cmd in der Datei ../scripts/ss_get_by_ssh.php bearbeitet. Es ist nur diese eine Vorlage, die mir Kummer bereitet hat und wahrscheinlich keinen Support- / Beratungsvertrag verdient, aber danke für den Vorschlag.
HTTP500,
Oh, mein Fehler, tut mir leid, dass ich nicht genau genug gelesen habe. Ich sprang zu einem Schluss. In jedem Fall sollte nc_cmd die richtige Lösung sein, es sei denn, an dem von Ihnen verwendeten nc liegt etwas vor, das es einfach daran hindert, tatsächlich zu funktionieren. Wenn es überhaupt funktionieren kann, sollte es darum gehen, die richtigen Optionen für Ihr nc zu finden.
Baron Schwartz
-3

Alternativ können Sie Ihren eigenen Wrapper schreiben, der die richtigen Optionen verwendet und alle anderen ignoriert. Speichern und in den Percona Monitoring Plugins verwenden. Wie hört es sich an?

Dodger Web
quelle
Ein Wrapper kann die durch diese Optionen bereitgestellten Funktionen nicht implementieren. Es sei denn, Sie schlagen vor, dass er netcat selbst neu schreibt.
Chutz
-6
yum install nc
up2date install nc

und ändern Sie das Skript, wenn Sie es brauchen

GioMac
quelle
1
Sie haben den Hinweis gelesen, in dem ich gesagt habe, dass die von Red Hat stammende Version die openbsd-Version von nc verwendet, oder?
HTTP500
"Sie können die verwendeten Optionen ändern, indem Sie das PHP-Skript konfigurieren" und das Skript bei Bedarf ändern
GioMac
Die vom Skript verwendete Option, die in der RHEL-Version nicht vorhanden ist, ist -q1. Können Sie eine oder mehrere analoge Optionen vorschlagen? Vielen Dank!
HTTP500,
Oh, wahrscheinlich würde ich den Quellcode für Netcat finden, den ich brauche, und RPM erstellen, oder es kompilieren und direkt installieren (make, make install).
GioMac