Failloop

Jag satt och skrev på en plugin för Icinga, och gjorde världens dundertabbe, för dig som nu tänker “åh den jävlen drop:ade hela databasen och rm -rf:ade /”, så har du fel! Det var inte riktigt så roligt.

Bakgrund
Icinga lagrar aktuell data om alla hostar i en databastabell som heter “hosts” och datan om deras status i tabellen “hoststatus”. Jag har definierat upp en check i icinga som kollar så att hosten är online, resultatet av det här scriptet lagras i tabellen “hoststatus”.

Kontentan
Mitt script kontrollerade statusen på hosten i tabellen “hoststatus” och reflekterade ut den statusen i Icinga.

Resultatet av detta? Det blev en loop där jag kollade statusen, som skrev till databasen och sen läste av värdet igen, en fin Failloop :)

Lösning
Jag skulle ha läst ur tabellen “servicestatus” istället…