Fa uns dies comentàvem com plantejar-se un plugin per al seu posterior desenvolupament, avui anem amb la classe pràctica: el twitter

- Necessitat. Val el més important abans de llançar-nos a fer un plugin és preguntar-nos ens fa falta? Bé, en aquest cas si (o deixem ja el blog).

- Què? Bo podem monitorar munts de coses, però en el nostre exemple farem només dues coses: el número de twits i el nombre de seguidors.

- Com? Perquè ho farem senzill. Mirarem la URL del compte que vulguem monitorar.

- Tecnologia? Com anem al senzill ens farem un senzill bash.

Comencem les proves:

Per a accedir a la web un simple CURL (amb un -s perquè sigui silenciós).

Busquem la línia que contingui la cadena 'data-nav="followers"' que és on estan el nostre seguidors.

Amb un segon grep triem només els números.

En casos de més de 999 twitter ens retorna el nombre de seguidors en dues cadenes. Les ajuntem amb TR.

Finalment eliminem espais en blanc.

Aquí teniu la cadena i el resultat.

# curl -s https://twitter.com/SIM_technical | grep 'data-nav="followers"' | grep -E -o "[0-9]" | tr 'n' ' ' | sed "s/ //g"

220

Val, ja tenim la primera part, ara si canviem els “followers” per “tuits” obtindrem el nombre de tuits pujats en el compte. Aquí va el resultat.

# curl -s https://twitter.com/SIM_technical | grep 'data-nav="tweets"' | grep -E -o "[0-9]" | tr 'n' ' ' | sed "s/ //g"

67

Ara fiquem tot això en un script:

#cat check_twitter.sh

#!/bin/bash

followers=(`curl -s https://twitter.com/$1 | grep 'data-nav="followers"' | grep -E -o "[0-9]" | tr 'n' ' ' | sed "s/ //g"`)

tweets=(`curl -s https://twitter.com/$1 | grep 'data-nav="tweets"' | grep -E -o "[0-9]" | tr 'n' ' ' | sed "s/ //g"`)

echo "OK: Cuenta @$1 tiene $tweets tweets y $followers followers | tweets=$tweets followers=$followers"

exit 0

Tenim que $1 serà el valor (nom del compte), i que “exit 0” indica a Nagios que el resultat del plugin és sempre OK.

# ./check_twitter.sh SIM_technical

OK: Cuenta @SIM_technical tiene 67 tweets y 219 followers | tweets=67 followers=219

# ./check_twitter.sh Solucions_im

OK: Cuenta @Solucions_im tiene 279 tweets y 29 followers | tweets=279 followers=29

Com podeu veure és un script molt senzill que només ens retorna els seguidors i tuits d'un compte, i que no té més opcions configurables, ni tan sols és possible posar alarmes. És un script merament informatiu.

Ja continuarem afegint coses al plugin. Aquí el resultats en Nagios.

El pitjor que tot és que he perdut un seguidor mentre preparava l'article. Ànims a tots.

"