Nagios

From A-Eskwiki
Jump to: navigation, search

Nagios gebruiken we om op alle computers en virtuele machines een aantal belangrijke zaken in de gaten te houden. Het draait op de vm-nagios; op de andere machines staat nrpe geïnstalleerd om de checks te kunnen uitvoeren die niet op afstand gedaan kunnen worden.

vm-nagios

In de map /etc/nagios/conf.d/ staan de instellingen voor Nagios.
Als het goed is zijn alle hosts (computers en vm's) en services goed geordend in bestanden voor workstations (centos), server(s) en vm's.
Bij alle services staat een command om de check uit te voeren; in principe staan deze in check-commands.cfg. Als de check op de andere host uitgevoerd wordt in plaats van op vm-nagios zelf gebruik je als command check_nrpe! + een commando dat op de remote host gedefinieerd is in nrpe (zie nrpe sectie).
Alle wijzigingen hier moeten in salt gezet worden. Gebruik hiervoor:
scp bestandsnaam1 bestandsnaam2 (...) root@vm-salt-master:/srv/salt/centos/vm-nagios/conf.d/
Het is een goede gewoonte om dan op vm-salt-master naar deze map te gaan en svn ci uit te voeren om je wijzigingen te committen.

check_mk

Hiermee worden automatisch diverse zaken gevonden om te controleren op de verschillende computers. Op de computers moet check-mk-agent uit de repository geïnstalleerd worden en poort 6556 in de firewall geopend. Installeer op Debian ook het pakket xinetd om check-mk-agent te laten werken.
Op de vm-nagios staat in /etc/check-mk/main.mk welke computers gecontroleerd worden. Met het commando cmk -I wordt gecontroleerd op nieuwe checks op deze machines en met cmk -O worden deze in nagios geconfigureerd.
Met cmk -II worden ook oude checks weggehaald die niet meer gelden: maar dit commando verwijdert ook checks die het niet doen omdat bijvoorbeeld een computer uit staat of een poort dicht, dus kijk hiermee uit.

Eigen nagios checks zijn nog steeds mogelijk door de naam en het commando in /etc/check-mk-agent/mrpe.cfg te zetten. Maak dit bestand aan als het niet bestaat; het wordt automatisch gevonden met cmk -I. Ook dit soort zaken horen in salt te staan.

NRPE: oude manier om checks te doen

De commando's die nrpe gebruikt om deze checks uit te voeren zijn gedefinieerd in bestanden in de map /etc/nrpe.d/. Ook is configuratie in /etc/nagios/nrpe.cfg en /etc/nagios/nrpe_local.cfg mogelijk maar het is mooier om die niet te gebruiken. Na het aanpassen hiervan moet nrpe opnieuw gestart worden met een van de volgende commando's:
CentOS: service nrpe restart
Debian (Haskell en oud systeem): service nagios-nrpe-server restart

Op CentOS 6 is het mogelijk om "service nrpe reload" te doen, maar dat commando werkt niet! NRPE zal stoppen met een fout in /var/log/messages als je dit doet. Nagios zal je dan voor alle services van deze host mailtjes sturen. Op CentOS 7 is niet meer mogelijk om service nrpe reload te doen en zal dit dus ook niet meer fout gaan.

SMART check

Om op de workstations de SMART status te checken, moet je dit commando uitvoeren wat op dit moment (1 oktober 2014) nog niet in salt gebeurt:
chmod +x /usr/lib64/nagios/plugins/check_ide_smart

Kernel check (Haskell)

Als Haskell met een andere kernel opstart geeft Nagios hiervan een melding. Als de nieuwe kernel goed werkt en mag blijven, pas dan op Haskell in /etc/nagios/nrpe.d/haskell.cfg de kernelversie aan en voer service nagios-nrpe-server restart uit.

Entropy check

Het is helaas hardgecodeerd in deze plugin hoe veel entropy er nodig is; als deze check een blijvende fout laat zien staat waarschijnlijk je minimum entropy lager. Met de entropykey die wij hebben is entropy niet gauw een probleem, dus je mag best een ruime hoeveelheid ervan op alle computers bewaren.

Users op CentOS 7

Op de CentOS 7 workstations met multiseat laat nagios te veel users zien. Het is nog niet gevonden waar dit door komt; check_users is een binary, als er een vrijwilliger is die de source code kan vinden en bekijken waar de data vandaan komt, dan horen wij het graag. Tot nu toe staan de notifications uit voor de users op de multiseat workstations dennis, hendrik en pafnuty. Mocht deze tekst veel te lang op de wiki blijven staan nadat het al lang niet meer van toepassing is, daarvoor mijn excuses. ~Albert