Publico un script per actualitzar twitter des de la línia de comandes. He integrat aquest script amb twitter perquè envii les alarmes. Primer creem el contacte al nagios, afegim el contacte al fitxer: /etc/nagios3/conf.d/contacts_nagios2.cfg define contact{ contact_name twitter alias Twitter service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,r service_notification_commands notify-service-by-twitter host_notification_commands notify-host-by-twitter } També afegim el contacte en el mateix fitxer al grup de administrators perquè ens enviï l'alarma: define contactgroup{ contactgroup_name admins alias Nagios Administrators members root,jose,twitter } Després definim que comanda llençar quan arribi una alarma de servei i de host. Podem canviar el text de l'alarma jugant amb les variables $NOTIFICATIONTYPE$,etc.... Afegim el contacte al fitxer /etc/nagios3/commands.cfg: # Twitter: define command { command_name notify-service-by-twitter command_line /usr/lib/nagios/plugins/send_twitter "$NOTIFICATIONTYPE$ Servei $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ Address: $HOSTADDRESS$ Data: $LONGDATETIME$" >> /var/log/nagios3/twitter.log 2>&1 } define command { command_name notify-host-by-twitter command_line /usr/lib/nagios/plugins/send_twitter "$NOTIFICATIONTYPE$ Servidor $HOSTNAME$ esta $HOSTSTATE$ Data: $LONGDATETIME$" >> /var/log/nagios3/twitter.log 2>&1 } I aquest es l'script: /usr/lib/nagios/plugins/send_twitter que es llença: /usr/lib/nagios/plugins/send_twitter "aquesta es alarma de twitter" No està gaire depurat, així que aneu en compte en ficar caràcters extranys al missatge, executar-ho mes d'un cop al mateix temps... #/bin/bash usuari="usuari_twitter" contrasenya="contrasenya_twitter" #Canvio els espais del missatge per %20 per poder fer el post texto=`echo $1 | sed s/" "/%20/g` #Fico la data i el missatge pel log echo `date +%H:%m" "%d/%m/%Y`" "$texto #Obro la web de twitter i guardo la cookie curl -o "/tmp/auth_token_twitter" -s -c /tmp/twitter_cookie.txt -A "Mozilla/5.0" "https://mobile.twitter.com/session/new" #Trec la variable oculta auth_token_twitter que pasa per post al logar-se auth_token=`cat /tmp/auth_token_twitter | grep "input name=\"authenticity_token\" type=\"hidden\"" | awk -F\" {'print $12'}` #Faig login curl -o /dev/null -s -b /tmp/twitter_cookie.txt -c /tmp/twitter_cookie.txt -A "Mozilla/5.0" -d "authenticity_token="$auth_token"&username="$usuari"&password="$contrasenya -L "https://mobile.twitter.com/session" sleep 2 #Faig el post curl -o /dev/null -s -b /tmp/twitter_cookie.txt -c /tmp/twitter_cookie.txt -A "Mozilla/5.0" -d "authenticity_token="$auth_token"&tweet%5Btext%5D="$texto"&tweet%5Bin_reply_to_status_id%5D=&tweet%5Blat%5D=&tweet%5Blong%5D=&tweet%5Bplace_id%5D=&tweet%5Bdisplay_coordinates%5D=" -L "http://mobile.twitter.com/" rm /tmp/auth_token_twitter rm /tmp/twitter_cookie.txt