Sistemes

Un vigilant de disc amb cron

Monitoritzar l''espai lliure d''un servidor amb un script i cron: silenci

2 min de lectura

Fa temps que una pregunta em ronda: com vigilar un servidor sense muntar tot un sistema de monitoratge corporatiu? Hi ha solucions per tot arreu, però per a un servidor casolà em semblen un canó per matar mosques. La meva resposta: cron (el planificador de tasques del sistema) i un script.

El problema concret

A fxserver, el disc on viu /home s'omple ràpid quan alguna automatització es descontrola —els sustos ja els vaig contar a El disc que s'omplia sol. Un disc ple és una alarma silenciosa: les bases de dades deixen d'escriure, els logs (el diari del sistema) creixen sense control i al final res funciona.

La idea

El programa és mínim: comprovar l'espai lliure, netejar cachés si cal, i avisar només si després de netejar el problema continua.

  • Si queda molt espai: silenci. No molesta.
  • Si queda poc: primer intenta netejar allò regenerable (cachés que es tornen a descarregar soles).
  • Si després de netejar encara queda poc: avís clar, amb la causa sospitosa.

El silenci és la part més important del disseny: si només parla quan hi ha problema, quan parla hi fas cas.

Per què cron i no un servei

Cron corre sol, cada 30 minuts, des de fa mesos, i no ha demanat mai res a canvi. No necessita dimonis (programes que viuen a l'ombra prestant serveis), ni dashboards, ni res que mantenir: un script en bash i una línia al crontab, el fitxer on cron apunta les seves tasques. Per a la mida del meu projecte, aquest equilibri és exactament el que tocava.

El detall que m'ha après la realitat

La primera versió oscil·lava entre el silenci i les alarmes inútils. Vaig aprendre que no és el mateix "queden 2 GB" que "he netejat i continuen baixant": el segon és una fuita real, el primer és manteniment normal. Distingir-los és la diferència entre un vigilant útil i un que acaba ignorant-se.

I una lliçó que va costar més: quan alguna cosa s'escriu a disc sota un punt de muntatge (la carpeta on connectes un disc o partició) que després s'oculta, du —l'eina que mesura què ocupa cada carpeta— no la veu però el disc sí que se n'adona. Les eines enganyen si no saps què hi ha a sota.