Hai menzionato Gmail, quindi potresti essere interessato a googlecl, che ti offre i comandi da riga di comando per elementi come Google Calendar e Documenti. Purtroppo non supportano ancora Gmail, ma se la tua preferenza a lungo termine è quella di utilizzare un account Gmail come hub dei tuoi rapporti di stato, googlecl potrebbe essere la soluzione migliore.
A breve termine, puoi provare googlecl adesso utilizzando i comandi per Calendar, Blogger o Documenti, che sono già supportati. Ad esempio, questi comandi aggiungono eventi a Google Calendar:
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"
...e questi comandi interrogare il calendario:
google calendar list --fields title,when,where --cal "commitments"
google calendar list -q party --cal ".*"
Vieni a pensarci bene, si può anche scoprire che Calendar, Blogger o Docs sono un luogo più appropriato di Gmail per il monitoraggio aggiornamenti di stato. Ad esempio, un foglio di calcolo o un formato di calendario dovrebbe facilitare la generazione di una rappresentazione grafica di quando un determinato servizio era attivo o inattivo.
È ancora necessario scrivere un piccolo programma che utilizza googlecl per interrogare il calendario (o blog, o documenti, o qualsiasi altra cosa), ma una volta che avete a disposizione semplici righe di comando, il resto dovrebbe essere piuttosto semplice. Ecco un link per ulteriori informazioni su GoogleCL:
http://code.google.com/p/googlecl/
Se davvero si vuole utilizzare Gmail, e usarlo in questo momento, offrono un'interfaccia IMAP. Utilizzando IMAP, è possibile eseguire numerose semplici operazioni, ad esempio determinare se esiste un messaggio che contiene una riga dell'oggetto specificata. Ecco un buon posto per conoscere i dettagli:
http://mail.google.com/support/bin/answer.py?hl=en&answer=75725
Ecco un rapido esempio che utilizza IMAP e Python per elencare i dieci messaggi di posta elettronica più-recenti che hanno un determinato "Etichetta" Gmail:
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()
Come indicato nei commenti del codice, è possibile adattarlo per emettere una sorta di avviso se i messaggi più recenti in quella cassetta postale non contengono un messaggio previsto. Quindi esegui il programma Python una volta al giorno (o qualsiasi altro periodo di tempo richiesto) per vedere se il messaggio email previsto non è mai stato ricevuto.
Molto interessante, grazie. Anch'io ero nel lettore di atomi di Gmail. Proveremo. Nagios è sembrato un po 'complicato immergersi in (?) – joeriks
@joeriks Beh, c'è sempre un compromesso tra le tue esigenze e uno strumento, ma ho avuto nagios attivo e funzionante su un debian vpc in 30 minuti e ho fatto spam a tutto il mio team all'interno l'ora ... – rene