Archivi tag: web content

Nagios e contenuti Web: script per verificare il codice HTML del nostro sito Internet

In questo blog ho dedicato diversi post a Nagios, essendo, a mio avviso, uno dei migliori NMS open source in circolazione. Tra i vari plugin messi a disposizione dal suddetto software di monitoraggio vi è check_http, il quale è in grado di inviare delle richieste apposite al sito Web che intendiamo monitorare, segnalando eventuali problemi di connessione o errori di protocollo (401, 403, 404, 500, ecc.).

nagiosSpesso, però, si rende necessario verificare anche che il contenuto del sito Web sia effettivamente visualizzato dall’utente finale (cosa non sempre vera, soprattutto quando si ha un’infrastruttura costituita na N frontend che contattano N server API per “popolare” la pagina Web da offire ai client). Per questo motivo ho deciso di creare il seguente script, in grado di saggiare il contenuto del sito Web:

#!/bin/bash

if [ -n "$1" ];then
 result=`curl -s $1 | grep ng-controller=\"Main\"`
 if [ -n "$result" ]; then
       echo "OK"
       exit 0
 else
       echo "CRITICAL"
       exit 2
 fi
else
      echo "Usage: check_content <URL>"
fi

exit 0

Il suo funzionamento è abbastanza banale. Sostanzialmente esegue una chiamata curl al sito target, cercando un determinato pattern nel sorgente della pagina Web (in questo caso la stringa cercata è ng-controller=\”Main\”).

Se il suddetto pattern viene trovato, l’eseguibile esce con status 0 (OK), altrimenti restituisce un errore di tipo CRITICAL (exit 2).

Ovviamente occorre scegliere la stringa da cercare molto attentamente, ovvero deve essere qualcosa che non varia in base alle eventuali modifiche del codice HTML (release).

Spero che il suddetto script possa tornarvi utile.

Alla prossima.