Sie haben Gmail erwähnt, Sie könnten also an googlecl interessiert sein, das Ihnen Befehlszeilensteuerelemente für Google Kalender und Google Docs zur Verfügung stellt. Leider unterstützen sie Google Mail noch nicht. Wenn Sie jedoch langfristig ein Gmail-Konto als Mittelpunkt Ihrer Statusberichte verwenden möchten, ist googlecl möglicherweise die beste Option.
Kurzfristig können Sie googlecl jetzt mit den Befehlen für Kalender, Blogger oder Google Docs ausprobieren, die alle bereits unterstützt werden. Diese Befehle fügen beispielsweise Ereignisse zu Google Kalender hinzu:
google calendar add --cal server1 "I'm still alive at 13:45 today"
google calendar add "Server 1 is still alive at 2011-02-08 19:43"
...und diese Befehle abfragen, um den Kalender:
google calendar list --fields title,when,where --cal "commitments"
google calendar list -q party --cal ".*"
Kommen Sie, daran zu denken, können Sie auch, dass die Kalender finden, Blogger oder Docs sind ein geeigneterer Ort als Google Mail für Status-Updates zu verfolgen. Zum Beispiel sollte ein Tabellenkalkulations- oder Kalenderformat es einfacher machen, eine grafische Darstellung zu erzeugen, wenn ein bestimmter Dienst hoch oder runter war.
Sie müssen noch ein kleines Programm schreiben, das googlecl verwendet, um den Kalender (oder Blog, oder docs oder was auch immer) abzufragen, aber sobald Sie einfache Befehlszeilen zur Verfügung haben, sollte der Rest ziemlich einfach sein. Hier ist ein Link zu weiteren Informationen über googlecl:
http://code.google.com/p/googlecl/
Wenn Sie wirklich von Google Mail verwenden möchten, und verwenden Sie es gerade jetzt, sie bieten eine IMAP-Schnittstelle. Mithilfe von IMAP können Sie zahlreiche einfache Vorgänge ausführen, z. B. bestimmen, ob eine Nachricht vorhanden ist, die eine angegebene Betreffzeile enthält. Hier ist ein guter Platz, um die Details zu erfahren:
http://mail.google.com/support/bin/answer.py?hl=en&answer=75725
Hier ist ein kurzes Beispiel, das IMAP und Python verwendet die zehn meist letzten E-Mails zur Liste, die eine gegebene Gmail „Label“ haben:
import getpass, imaplib
# These gmail_* utilties are from https://github.com/drewbuschhorn/gmail_imap
import gmail_mailboxes, gmail_messages, gmail_message
# Update these next lines manually, or turn them into parms or somesuch.
gmail_account_name = "[email protected]" # Your full gmail address.
mailbox_name = "StatusReports" # Use Gmail "labels" to tag the relevant msgs.
class gmail_imap:
def __init__ (self, username, password):
self.imap_server = imaplib.IMAP4_SSL("imap.gmail.com",993)
self.username = username
self.password = password
self.loggedIn = False
self.mailboxes = gmail_mailboxes.gmail_mailboxes(self)
self.messages = gmail_messages.gmail_messages(self)
def login (self):
self.imap_server.login(self.username,self.password)
self.loggedIn = True
def logout (self):
self.imap_server.close()
self.imap_server.logout()
self.loggedIn = False
# Right now this prints a summary of the most-recent ten (or so) messages
# which have been labelled in Gmail with the string found in mailbox_name.
# It won't work unless you've used Gmail settings to allow IMAP access.
if __name__ == '__main__':
gmail = gmail_imap(gmail_account_name,getpass.getpass())
gmail.messages.process(mailbox_name)
for next in gmail.messages:
message = gmail.messages.getMessage(next.uid)
# This is a good point in the code to insert some kind of search
# of gmail.messages. Instead of unconditionally printing every
# entry (which is what the code below does), issue some sort of
# warning if the expected email (message.From and message.Subject)
# did not arrive within the expected time frame (message.date).
print message.date, message.From, message.Subject
gmail.logout()
Wie in den Codekommentaren erwähnt, könnten Sie sie anpassen, um eine Art Warnung auszugeben, wenn die letzten Nachrichten in diesem Postfach keine erwartete Nachricht enthalten. Führen Sie dann das Python-Programm einmal pro Tag (oder in dem von Ihnen gewünschten Zeitraum) aus, um festzustellen, ob die erwartete E-Mail-Nachricht nie empfangen wurde.
Sehr interessant, danke. Ich war selbst in den Google Mail Atom Reader. Werde es ausprobieren. Nagios schien ein bisschen kompliziert zu sein in (?) – joeriks
@joeriks Nun, es gibt immer einen Kompromiss zwischen Ihren Anforderungen und einem Tool, aber ich hatte Nagios auf einem debian VPC in 30 Minuten und hatte es Spam mein ganzes Team innerhalb die Stunde ... – rene