Monitorizando sistemas con Twitter

Cada administrador de sistemas utiliza un método para tener monitorizados todos los sistemas que gestiona o controla, pero nunca está de más conocer nuevos métodos de monitorización.

El 6 de diciembre aparecía un mensaje en el blog de SUN sobre twittear desde la línea de comandos con Python, poniéndonos como ejemplo:

#!/usr/bin/python
import sys
from os import popen
def tweet(user,password,message):
    print 'Hold on there %s....Your message %s is getting posted....' % (message, user)
    url = 'http://twitter.com/statuses/update.xml'
    curl = 'curl -s -u %s:%s -d status="%s" %s' % (user,password,message,url)
    pipe = popen(curl, 'r')
    print 'Done...awesome'
if __name__ == '__main__':
    if len(sys.argv) != 2:
    print "Usage: tweet.py "
    sys.exit()
    message = sys.argv[1]
    if len(message) > 140:
    print "Message too long"
    sys.exit()
    user = "barneystinson" #put your username inside these quotes
    password = "awesomeness" #put your password inside these quotes
    tweet(user,password,message)

Hoy mientras leía mis feeds, me encuentro con el siguiente script:

#!/bin/ksh

export PATH=/usr/sbin:/usr/bin

function tweet
{
        echo tweeting $1
        /usr/local/bin/tweet.py "$1"
}
function tweet_services
{
        typeset zone="$1 "
        if [[ "$1" != "global" ]]
        then
                typeset zl="pfexec zlogin $1 "
        else
                typeset zl=""
        fi
        ${zl}svcs -x | nawk '/^svc:/ { s=$0 } /^Reason:/ { print s,$0 }' | while read line
        do
                tweet "$zone$line"
        done
}
function tweet_zfs
{
        zpool list -H -o name,health | while read zfs state
        do
                [[ "$state" != "ONLINE" ]] && tweet "$zfs $state"
        done
}
function tweet_disks
{
        export IFS="    "
        kstat -p -m sderr -s "Predictive Failure Analysis" | while read err value
        do
                (( $value != 0 )) && tweet "$err     $value"
        done
}
function tweet_net
{
        typeset speed=$(dladm show-linkprop -co VALUE -p speed nge0)
        if (( $speed != 1000 ))
        then
                tweet "network running in degraded state $speed"
        fi
}
function tweet_phone
{
        if ! ping phone 1 > /dev/null 2>&1
        then
                tweet "Phone is not responding"
        fi
}

for zone in $(zoneadm list)
do
        tweet_services $zone
done
tweet_zfs
tweet_disks
tweet_net
tweet_phone

Como el día de hoy aparenta ser algo largo voy a crear mi propio script e integrarlo en los dos servidores de monitorización que tengo a día de hoy corriendo Nagios.

Sobre Bosco López

/dev/null

Te puede interesar también

Script

Script: Realizar copia de seguridad

En esta ocasión, quiero compartir un pequeño Script que realicé para hacer una copia de …

Un comentario

  1. I believe this internet web site has got really superb indited articles content material . 166065

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.