Server Monitoring mit apybot: Unterschied zwischen den Versionen
(initial) |
(Kategorien eingefügt) |
||
Zeile 54: | Zeile 54: | ||
[In Arbeit] | [In Arbeit] | ||
+ | |||
+ | [[Category: Programmierung]] | ||
+ | [[Category: Systemadministration]] |
Version vom 27. April 2015, 16:52 Uhr
Motivation
Nach einem unbemerkten Ausfall eines unserer Server, gab es den Wunsch nach einer einfachen Überwachung/Benachrichtigung im Falle eines Ausfalls.
Diese soll auf unserem LTSP Server laufen, da wir diesen praktisch ständig benutzen und so einen Ausfall sofort bemerken.
Ich habe mich entschlossen dies mittels einem Python Script umzusetzen. So entstand der apybot.
Zuerst hatte ich die Idee im Falle eines Ausfalls Mails zu verschicken. Falls nun aber der Mailserver ausfällt funktioniert dies nicht. Nicht nur können dann keine Mails verschickt werden. Es können auch keine empfangen werden. Da wir auf freenode.net den IRC Channel #revamp haben, und dort auch present sind, entstand die Idee, statt der Mails, einen IRC Bot zu verwenden.
Über apybot
apybot ist ein einfacher IRC Bot, geschrieben in Python 3. Grundsätzlich kann dieser verschiedene Aufgaben übernehmen. Nicht zuletzt kann er als einfaches Beispiel für asynchrone Programmierung in Python 3 dienen.
Siehe dazu auch die Python Referenz (englisch): https://docs.python.org/3/library/asyncio.html
Weiterführende Dokumente zur asynchronen Programmierung in Python:
- ?LINK?
Der source code des apybot ist in meinem git repository: ?LINK?
Features/Vorteile
- Asynchrones IO (asyncio) / Ressourcenschonend
- Reaktion auf private messages im IRC
- Periodische ausführung von Funktionen
- Einfachste Konfiguration
- Einfach erweiterbar/anpassbar
- Saubere moderne Programmierung
- keine weiteren Abhängkeiten (für die Grundfunktion)
Konfiguration
IRC Netzwerk, Channel und gewünschter Nick werden direkt in der Python Datei angepasst.
[In Arbeit: Liste zu prüfender hosts.]
Anwendung
Befehle können dem apybot im IRC als private Nachricht geschickt werden:
\msg <nick_vom_apybot> <befehl>
Zur Zeit versteht der apybot die folgenden Befehle:
quote Schickt ein Zitat zurück (Verwendet fortune, fortune muss auf dem System auf dem der Bot läuft, installiert sein.)
Verwendung in der Revamp-it
[In Arbeit]
Vergleich C++ vs. Python
[In Arbeit]