Oct 07

Nagios external commands

Reading time: 1 – 2 minutes

Tan de temps usant nagios i mai havia tingut la necessita de recorrer als Nagios External Commands. Escencialment es tracta d’una named-pipe que usa Nagios per rebre comandes via shell.

  • Sintaxis per injectar les comandes. Per suportar aquesta funcionalitat previament cal haver-la habilitat al fitxer de configuració de nagios, això també ho trobareu a l’anterior enllaç.
  • Comandes suportades, la llista és força gran i hi podem trobar coses com ara forçar un check per host o fins hi tot deshabilitar els checks sobre un servei o un host.

A continuació adjunto la comanda que podeu llençar desdel prompt per llençar una ordre al nagios al cap de deu segons. En aquest cas forcem que es verifiquin tots els serveis d’un host.

# des del directori on hi ha la 'named-pipe' sovint anomenada 'nagios.cmd'
now=$(date +%s); next=$(expr $now + 10); echo "[$now] SCHEDULE_FORCED_HOST_SVC_CHECKS;nom_host;$next" > nagios.cmd

Per veure el resultat de la comanda i si aquesta ha estat rebuda pel nagios només cal que mirem el fitxer nagios.log. La sortida del log serà algo així:

data host_server nagios: EXTERNAL COMMAND: SCHEDULE_FORCED_HOST_SVC_CHECKS;nom_host;unix_ts
May 24

bash tip: buscant fitxers més nous que…

Reading time: < 1 minute

Petit apunt de sintaxis del find. Com buscar els fitxers creats a partir d’una data.

Primer creem un fitxer amb la data de referència a partir de la que volem fer la busqueda:

touch -t 05231500 fitxer_dataref

Ara busquem els fitxers més nous que el fitxer fitxer_dataref:

find . -newer fitxer_dataref -type f -print

Aquesta tonteria va molt bé envendir-la en petits scripts per borar els fitxers esmentats, per exemple:

for F in `find . -newer fitxer_dataref -print`; do rm $F; done