2012-04-05 12 views

Antwort

3

Nach Wikipedia InterMapper unterstützt SNMP. pgsnmpd ist ein SNMP-Agent für PostgreSQL leicht verfügbar. Sie können beide direkt aus der Box (en) verbinden.

Ansonsten: InterMapper soll in Java geschrieben werden. Es speichert auch seine eigenen Daten in PostgreSQL. Diese CALLS für entweder eine generische JDBC-Probe oder mindestens eine für PostgreSQL von Anfang an. Also ist es die beste Lösung, sie anzurufen und sie dazu zu überreden, eine solche Sonde standardmäßig zur Verfügung zu stellen - wenn sie das nicht schon irgendwo tun.

Bezüglich Plan B: Die support page hat ein Dokument beschreibt den Prozess für die Erstellung von kundenspezifischen Sonden. Ein kurzer Blick über es läßt drei Möglichkeiten:

  • Ihren eigenen Sondentyp definieren - durch einig XML-Hacking
  • Verwendung „Befehlszeile Sonden“, die im Grunde ein externes Programm aufruft. Unter Linux/Unix schreiben Sie ein Skript mit psql, um eine Verbindung zur DB herzustellen und einen dummen Befehl auszugeben, scheint auch nicht kompliziert zu sein.
  • Sie haben Nagios-Unterstützung für Kommandozeilen-Sonden und es gibt viele Nagios-PostgreSQL Plugins zur Verfügung.

Und natürlich können Sie die contributed probes Seite verwenden, um genügend Beispiele zu erhalten - die MS-SQL-Sonde in dem „Application Monitoring Probes“ Abschnitt könnte ein guter Anfang sein.

1

Ich kann dir nicht helfen, mit InterMapper heute, aber die Programmierung hängt teilweise auf das, was „am Leben und kick'n“ für Sie bedeutet.

Ein ziemlich kugelsicher Weg, es zu programmieren, wäre einen cron-Job zu haben, schreiben Sie eine Zeile in eine Tabelle in einer Transaktion, und es zurück in einer anderen Transaktion lesen. Sie benötigen möglicherweise nicht mehr als einen Zeitstempel. Dies sollte von einem Client-Computer ausgeführt werden, nicht auf dem Server selbst.

Ein fehlgeschlagener Schreibvorgang sollte einen Fehler auslösen, aber ich stelle mir vor es könnte einige esoterische Fehlerszenarien geben, wo das nicht passieren könnte. Die gleiche Reihe zu lesen, sollte jedoch ein solider Beweis für das Leben sein.

Ein Programm wie das sagt, dass der dbms läuft und Verarbeitung, und dass eine bestimmte Datenbank ist online. Du brauchst vielleicht mehr als das. Einige Leute müssen vielleicht wissen, wie lange es dauerte, diese SQL-Anweisungen zu verarbeiten, und zwar mit einer unangemessen langen Zeit, was bedeutet, dass Ihre Aufmerksamkeit benötigt wird, bevor die Benutzer anrufen.

Änderungen an Datenbankberechtigungen können zu einer falschen Warnung führen. Wenn beispielsweise ein Upgrade auf ein Knochenkopf Ihre Berechtigungen zum Schreiben in die Heartbeat-Tabelle widerruft, sollte ein Programm, das in diese Tabelle schreibt, mit einem Berechtigungsfehler fehlschlagen.

Wenn Ihre Anforderungen weniger streng sind, können Sie einfach überprüfen, für einen laufenden Server-Daemon.

All diese Dinge können mit einem Cron-Job durchgeführt werden, mit E-Mail oder SMS bei einem Fehler gesendet.