Nagios Warnungen per Telefon?

16

Ich habe ein paar Nagios-Server, die mich derzeit per SMS und E-Mail benachrichtigen, aber ich möchte dazu ausgehende Anrufe hinzufügen. Die ideale Lösung wäre, wenn die Nagios-Geräte mein Handy anrufen und während des Anrufs eine MP3 / WAV-Datei abspielen, um mich darauf hinzuweisen, dass etwas nicht stimmt. Mein einziges Problem ist, dass ich nicht sicher bin, wie ich das erreichen soll.

Ich vermute, dass ich dafür eine PBX-Karte kaufen muss, aber ich hatte gehofft, dass jemand hier etwas Ähnliches mit einem normalen Modem und einer handelsüblichen Software gemacht hat. Irgendwelche Ideen oder Hinweise?

Matt Simmons
quelle
1
Lassen Sie es Ihre Admins um 3 Uhr morgens mit Modemgeräuschen anrufen. Das bringt ihnen bei, Systeme richtig einzurichten!
Pause

Antworten:

12

Asterisk ist Overkill - würde aber problemlos funktionieren. Sparen Sie etwas Zeit und erwerben Sie ein sprachfähiges Modem und verwenden Sie vgetty.

Hier ist ein Tutorial, das ein 11-zeiliges Perl-Skript zum Abspielen einer Nachricht über einen ausgehenden Anruf zeigt:

http://www.webreference.com/perl/tutorial/14/2.html

Steven
quelle
Die vgetty-Dokumentation enthält die fehlenden Teile der Programme und Verfahren zum Erstellen der Sprachdateien. Es gibt auch Beispiele, die nur Shell-Skripte anstelle von Perl verwenden.
Allen
2
Viele gut gemeinte Poster unten empfehlen SIP- oder Sternchenkonfigurationen. Asterisk ist wunderbar, kann hier aber zu viel heißen, wenn man bedenkt, dass man wirklich ein tatsächliches Modem verwenden möchte, wenn dies möglich ist. Auf diese Weise erhalten Sie auch dann eine Benachrichtigung, wenn Ihr Netzwerk offline ist (etwas, über das Sie benachrichtigt werden möchten).
Kyle Hodgson
4

Sie sollten sich Asterisk ansehen, eine Open-Source-Telefonanlage

http://www.asterisk.org/

Sie sollten sich die vorinstallierten Distributionen ansehen, anstatt von vorne zu beginnen, da Asterisk durchaus konfigurierbar ist und den Neuling auf einer niedrigen Ebene entmutigen kann (ähnlich wie bei Apache httpd).

Um die von Ihnen beschriebenen Warnungen zu senden, würde ich vorschlagen, die Konfiguration der Spooldatei zu verwenden. Erstellen Sie einen Wählplan, der beim Aufrufen die entsprechende Nummer wählt und die richtige Datei wiedergibt. Sobald dies funktioniert, können Sie Dateien in ein Asterisk-Verzeichnis ablegen, wodurch dieser Teil Ihres Wählplans aufgerufen wird. Sie können Parameter und dergleichen in die Spooldateien übergeben, sodass Sie nicht jede Nachricht von Grund auf neu erstellen müssen. Sie können den Server Buchstabe für Buchstabe auslesen oder die Integration in mehrere TTS-Engines verwenden, um zu versuchen, die zu sagen Servername.

Sie benötigen eine ausgehende Terminierung, um den Anruf an das öffentliche Telefonnetz weiterzuleiten. Es gibt jedoch viele Anbieter solcher Dienste. Bei den meisten Angeboten zahlen Sie eine geringe Grundgebühr für das Konto und anschließend eine geringe Gebühr für ausgehende Anrufe (in der Größenordnung von Cent pro Minute).

Ich hoffe, das hilft.

James F
quelle
Ein bisschen Overkill.
Allen
3

Wenn Sie immer noch nach einer Lösung suchen, sollten Sie sich PagerDuty ansehen. PagerDuty sammelt Warnungen von jedem Überwachungssystem, das E-Mails (einschließlich Nagios) senden und Anrufe und SMS-Nachrichten an eine Liste von Personen senden kann, die Sie bereitstellen. Sie können damit auch Bereitschaftspläne und Eskalationsketten erstellen.

http://www.pagerduty.com

[Haftungsausschluss: Ich bin einer der Leute, die an PagerDuty arbeiten, also bin ich vielleicht ein bisschen voreingenommen: P]

Andrew Miklas
quelle
Cool. Das einzige Problem dabei ist, dass ich nicht zur Pager-Pflicht komme, wenn ich Anrufe tätigen muss, weil meine Netzwerkverbindung unterbrochen ist. Huhn / Ei ;-) Ordentlich. Vielen Dank!
Matt Simmons
2
Ja, das ist ein kleines Problem mit dem System. Eine Möglichkeit besteht darin, einen PagerDuty-Alarm hinzuzufügen, der bei einigen Ping-Diensten ausgelöst wird. Ich mag BasicState ( basicstate.com ) (es ist kostenlos), aber auch Pingdom und Pingability sind eine gute Wahl. Auf diese Weise erhalten Sie Warnungen sowohl zu Netzwerkfehlern als auch zu Fehlern, die Nagios erkennt. Aber ja ... wir möchten bald einen in PagerDuty integrierten Ping-Test oder Heartbeat-Monitor erhalten.
Andrew Miklas
2

Schauen Sie sich Nagast an. Das ruft Sie bei Problemen an und meldet die Bestätigung an Nagios. Es wird auch ein Anruf erzeugt, wenn die Nagiosbox für eine bestimmte Zeit kein Ping (nicht ICMP, sondern Nagast-Ping) gesendet hat. https://github.com/tuxis-ie/nagast

Mark Schouten
quelle
1

Ich bin mir nicht sicher, was das Hinauswählen angeht, aber ich gehe davon aus, dass Sie Festival verwenden könnten, um den Text für den Sprachsynthese-Teil davon zu machen.

http://www.cstr.ed.ac.uk/projects/festival/

Dave Wongillies
quelle
0

vielleicht wäre ein sip befehlszeilen client wie hier beschrieben hilfreich? es kommt sehr darauf an, was du überwachst, wie zuverlässig dein sip-anbieter wäre und so weiter. Ich habe noch mehr Vertrauen in Hardware-SMS-Gateway. vorausgesetzt, Sie überwachen nicht die Infrastruktur für den Internetzugang oder Ihr Nagios-Server verfügt über eine separate, unabhängige Internetverbindung - dies könnte tatsächlich funktionieren.

pQd
quelle
0

Wenn Sie ein kleines Plugin selbst programmieren möchten, bietet Twilio eine leistungsstarke und äußerst einfach zu implementierende API zum Tätigen von Anrufen mit Text-to-Speech, Benutzereingaben, Sprachaufzeichnung usw.

ceejayoz
quelle
0

Es gibt Dienste wie email2phone , die E-Mail-Nachrichten in Telefonanrufe umwandeln. Diese Einstellungen sind im Allgemeinen trivial und erfordern keine anderen Änderungen an Ihrem Nagios-Setup als das Hinzufügen einer neuen E-Mail-Adresse. Ihre Möglichkeiten sind begrenzt, aber für eine schnelle Lösung könnte es bei Ihnen funktionieren. Wenn Sie mehr Flexibilität und Entwicklungsfähigkeiten wünschen, ist Twilio ebenfalls eine gute Option.

Sowohl diese als auch die lokalen sip-basierten Optionen können Probleme verursachen, wenn die Verbindung vollständig unterbrochen wird. Dazu benötigen Sie entweder eine separate Verbindung für Benachrichtigungen (z. B. eine PSTN-Leitung) oder verwenden Nagios zusammen mit einem Überwachungsdienst eines Drittanbieters, um Sie auf einen vollständigen Verbindungsverlust aufmerksam zu machen.

Jason Abate
quelle
Wir haben eine primäre Site und eine sekundäre Site, und die Nagios-Maschinen an jeder Site überwachen sich gegenseitig (die Links der anderen Sites). Vielen Dank!
Matt Simmons