Posts Tagged ‘cacti’

Sonntag, 9. Juni 2013

RAM-Speicherauslastung unter Mac OS X über SNMP auslesen

Ich habe heute Sonntag ein wenig Zeit in dieses Projekt investiert und stelle die Scripts, Konfigurationsanpassungen und Installationsanleitung über GitHub zur Verfügung:

macosx-memory-snmp

Tags: , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Montag, 13. Juni 2011

cacti pingt nicht mehr

Heute habe ich mich endlich einem Problem angenommen, das mich mit meiner Cacti-Installation seit mehr als einem Jahr plagt: Die Ping-Werte für Google werden nicht mehr aufgezeichnet.

Nachdem ich unter

  1. Console
  2. System Utilities
  3. View Cacti Log File

nach „ping“ gesucht hatte und feststellen musste, dass das Script ~/cacti/scripts/ping.pl permanent „U“ als Wert zurücklieferte, begann das Debugging.

Auch die manuelle Ausführung von

~/cacti/scripts/ping.pl www.google.com

brachte ein „U“ als Resultat hervor. Was cheibs?

Im Grunde ruft das Perl-Script folgenden Kommandozeilenbefehl auf und filtert im Anschluss den Rückgabe wert:

ping -c 1 www.google.com | grep icmp_seq | grep time

Als ich dies auf der Kommandezeile ausführte, wurde ein leerer Wert zurückgegeben.

Nachdem ich ein Blick auf das Resultat von

$ ping -c 1 www.google.com
PING www.l.google.com (74.125.79.104) 56(84) bytes of data.
64 bytes from ey-in-f104.1e100.net (74.125.79.104): icmp_req=1 ttl=53 time=34.6 ms

--- www.l.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 34.695/34.695/34.695/0.000 ms

geworfen hatte, war mir sofort klar, was das Problem war: grep nach icmp_seq kann nicht von Erfolg gekrönt sein, weil hier offenbar icmp_req steht.

Das Problem ist im ping.pl does not account for ping using icmp_req rather than icmp_seq in some versions of ping festgehalten: Offenbar gab es bei ping irgendwann einmal eine Anpassung am Code, die nur noch diese Ausgabe zur Folge hatte.

Nach einem Blick auf den Patch nahm ich die Anpassung an ~/cacti/scripts/ping.pl selber vor — irgendwie einfach ein wenig anders als vorgeschlagen:

...
open(PROCESS, "ping -c 1 $host | grep -E 'icmp_(r|s)eq' | grep time |");
...

Damit klappte es wieder.

Nachtrag

Unter einer Synology DiskStation klappt es auch trotz dieser Anpassung nicht. Der Ping-Befehl gibt folgendes aus:

ping -c 1 192.168.8.8
PING 192.168.8.8 (192.168.8.8): 56 data bytes
64 bytes from 192.168.8.8: seq=0 ttl=64 time=0.223 ms

Keine Spur von icmp_seq, stattdessen steht dort nur seq. Somit passt man das Script finalerweise folgendermassen an:

...
open(PROCESS, "ping -c 1 $host | grep -E '(r|s)eq' | grep time |");
...

Tags: , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 3. Mai 2009

cacti-Verzeichnis zügeln

In den letzten Tagen habe ich die Verzeichnisstruktur auf meinem lokalen Web-Server angepasst. Unter anderem war von dieser Säuberungsaktion auch meine cacti-Installation betroffen.

Nachdem ich mich einige Stunden über nicht aktualisierte Graphen geärgert hatte, fand ich zu später Stunde dann endlich die Lösung des Problems:

UPDATE poller_item SET rrd_path = REPLACE(rrd_path,'/var/www/cacti/','/var/www/system/cacti/')
UPDATE poller_item SET arg1 = REPLACE(arg1,'/var/www/cacti/','/var/www/system/cacti/')

Offensichtlich ist die Software nicht derart intelligent programmiert, dass Verzeichniswechsel reibungslos über die Bühne gehen. Wieso Script-Pfade absolut und nicht wie beispielsweise die RRAs relativ in der Datenbank abgelegt werden, ist mir ein Rätsel.

Schriften

Als nützlicher Nebeneffekt konnte ich in diesem Anlauf in der Administrationsoberfläche auch endlich anständige Schriften definieren – vorher wurden Graphen in einer wüsten Serifenschrift ausgegeben. In Debian ist die wohl beste Schrift für RRD-Graphen die DejaVu Sans, welche unter folgendem Pfad liegt:

/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf

Tags:
Labels: IT, Linux, Web

Keine Kommentare | neuen Kommentar verfassen

Montag, 23. Februar 2009

Mit Cacti SNMP-fähige Netzwerkdrucker abfragen

Auf der Arbeit verwende ich cacti nicht nur, um Kennwerte von Linux-, Mac OS X- und Windows-Servern abzufragen und zu speichern (Prozessorauslastung, Festplattenplatz etc.), sondern frage damit auch SNMP-fähige Drucker ab.

Meistens handelt es sich dabei um netzwerkfähige HP (Color) Laserjets, doch auch Drucker anderer Hersteller liefern per SNMP die drei grundlegenden Parameter Page Count und Page Output. Wenn man Glück hat, kann per SNMP sogar der Tonerstand graphisch ausgewertet werden.

Die dafür nötigen Templates habe ich aus verschiedenen Quellen zusammengestibitzt und veröffentliche diese in diesem Blog-Artikel als ZIP-Datei:

cacti-snmp-printer-templates.zip

Die Templates importiert man über die cacti-Administrationsoberfläche unter dem Menupunkt Import Templates. Anschliessend erfasst man die Hosts und weist diesen die Templates dann manuell zu, oder baut sich ein Host Template bestehend aus den drei Templates zusammen.

Tags: , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen