ZABBIX; een vinger aan de pols in je netwerk
- April 28, 2016
- 0
Zabbix is een netwerk monitor service. Met Zabbix controleer je periodiek of services en daemons nog in de lucht zijn en houd je ook zaken als opslag, belasting of temperatuur in de gaten. Je ontvangt meldingen als zaken niet overeenstemmen met de gewenste situatie, zoals een webserver die onverwacht uit de lucht gaat of een te hoog oplopende temperatuur van je processor. Tevens houdt Zabbix de historie bij, zodat je bijvoorbeeld groei in schijfruimtegebruik of patronen in netwerkverkeer kunt zien.
• server
• web interface
• agent
• database
Deze componenten kunnen allemaal op verschillende machines staan, maar dat hoeft natuurlijk niet. De server is de centrale manager en via de web interface configureer je wat de server moet monitoren. Ook rapportages en grafieken vraag je op via de web interface. De agent installeer je op machines, die je wil monitoren. Periodiek vraagt de server bij die agents de gewenste informatie op. Agents kunnen ook zelf actief informatie sturen. Strikt genomen is de agent niet noodzakelijk, maar in de praktijk gebruik je hem altijd. Zonder agent monitor je typische apparatuur, waarop je niets kunt installeren, zoals een netwerkprinter of modem. In afbeelding 1 is dat met een stippellijn aangegeven. Veelal kan de server dan aanzienlijk minder informatie verzamelen. De verzamelde informatie door de server en ook de configuratie via de web interface komen in een database terecht. Zabbix ondersteunt MySQL, PostgreSQL, SQLite en de commerciële database Oracle. DB2 van IBM is nog experimenteel.
Installatie
Zabbix is beschikbaar voor alle grote distributies. Voor de installatie hoef je dus alleen maar de juiste pakketten te installeren. De naamgeving hangt van de distributie af. Het beste kun je even zoeken op het trefwoord “zabbix”in je pakketmanager. Omdat Zabbix een database nodig heeft, hebben sommige distributies verschillende smaken pakketten. Zo heeft Fedora voor de Zabbix server drie pakketten:
• zabbix-server
• zabbix-server-mysql
• zabbix-server-pgsql
Behalve het eerste pakket met de gemeenschappelijke servercomponenten moet je ook één van de laatste twee pakketten te installeren, afhankelijk van je keuze voor MySQL of PostgreSQL als database. De database-server moet je overigens apart installeren, omdat die niet automatisch meekomt met de Zabbix pakketten.
Configuratie
Om Zabbix als systeem werkend te krijgen, hoef je niet veel te configureren. Voor de Zabbix-server moet je aangeven waar de database-server staat, hoe de database heet en wat hiervan de gebruikersnaam en het wachtwoord zijn. Dit doe je in /etc/zabbix_server.conf.
Zodra je de web interface de eerste keer gebruikt, start een wizard op voor zijn eigen configuratie. Die checkt allereerst of de PHP-configuratie voldoet. Als iets niet in orde is, geeft de wizard duidelijk aan welke aanpassingen je moet doorvoeren in /etc/php.ini.
De configuratie van de agent vind je in /etc/zabbix_agentd.conf. Let op, je kunt ook nog /etc/zabbix_agent.conf (zonder “d”) tegenkomen, maar die is eigenlijk verleden tijd. Voor de agent hoef je alleen te specificeren op welke machine de Zabbix-server staat. De agent zal alleen connecties vanaf die machine accepteren.
Tot slot moet je op de database-server een database aanmaken met permissie voor de Zabbix-server om tabellen te creëren. De Zabbix-server zal zelf deze tabellen aanmaken en vullen bij de allereerste start. Ook bij upgrades zal Zabbix zelf zorgen voor de upgrade van de tabellen.
Monitoren
Het monitoren regel je in de web interface. In afbeelding 2 zie je een screenshot van het tabblad Configuration -> Hosts. De belangrijkste kolommen zijn:
• Name: welke machines je monitort;
• Items: wat je op die machines wilt monitoren;
• Triggers: wanneer Zabbix alarm moet slaan;
• Graphs: welke trendgegevens je in je grafiek wilt.
*** INVOEGEN AFBEELDING 2 ****
Applications gebruik je om items te groeperen in logische eenheden. In afbeelding 2 zie je voor host “mail”bijvoorbeeld applicaties om alles met betrekking tot de processor en het bestandssysteem te groeperen. De rode “Z”in Availability geeft aan dat er geen contact met een Zabbix agent mogelijk is. Dat is niet per se een foutsituatie, omdat het kan gaan om apparatuur waarop je niks kunt installeren. Dat zie je bijvoorbeeld in afbeelding 2 in de bovenste rij, waar het een switch van Cisco betreft.
Met de knop Create host rechtsboven maak je een nieuwe host aan door onder andere een naam en IP-adres te specificeren. Na het opslaan kom je dan weer terug in dit tabblad. Vervolgens voeg je items aan deze host toe door in de juiste rij op het veld “Items”te klikken. In het vervolgscherm definieer je items om te bepalen wat je wilt monitoren. Op dezelfde manier ga je te werk voor triggers en grafieken. In het geval van meerdere hosts wordt dit veel dubbel werk. Je bespaart veel tijd door templates te gebruiken via Configuration -> Templates. Je komt in een vergelijkbaar scherm als dat van afbeelding 2. Je gaat op dezelfde manier te werk als voor hosts, dus dat je eerst een template maakt en vervolgens items, triggers en grafieken definieert. Tenslotte koppel je dit template aan hosts en die erven dan als het ware de template items, triggers, etc.. Je kunt templates ook nesten. Door aan een template een “subtemplate”te koppelen, erven alle hosts met dat template eveneens alles van het subtemplate. Ook kun je per host bepaalde template items deactiveren of juist host-specifieke items toevoegen. In afbeelding 2 zie je bijvoorbeeld dat host “mail”een eigen applicatie “Mail”met één item heeft.
In Zabbix moet iedere host én template onder tenminste één host group hangen. In Configuration -> Host groups maak je die aan. Helaas betekent het koppelen van een template aan een host group niet dat de hosts van de betreffende groep ook meteen aan dat template gekoppeld zijn. Host groups zijn puur administratief.
Als er iets mis is, wil je daarvan op de hoogte gebracht worden. Via Configuration -> Actions bepaal je hoe je meldingen wilt ontvangen. Vaak is dat per mail, maar SMS is eveneens mogelijk. Ook het automatisch runnen van scripts in bepaalde situaties kun je hier regelen.
Voor een beter overzicht of om correlaties te vinden, is het vaak handig om een aantal grafieken bij elkaar te hebben. Dit heet een screen en die maak je in Configuration -> Screens.In afbeelding 3 is een dergelijk screen van twee grafieken opgevraagd via Monitoring -> Screens. In dit voorbeeld zie je tijdens de dagelijkse database-dump van machine “db”duidelijk een correlatie in piekbelasting van de processor en netwerkverkeer.
*** INVOEGEN AFBEELDING 3 ***
Tot slot
Omdat je wilt kunnen vertrouwen op een monitor-systeem, moet je zeker wat tests uitvoeren. Stop bijvoorbeeld eens een webserver en controleer of er alarm wordt geslagen. Kijk ook of waarden, die Zabbix in grafieken en tabellen toont, overeenstemmen met wat je verwacht. Check bijvoorbeeld zoiets als schijfruimtegebruik. Alleen dan weet je dat als je niks van Zabbix hoort, je systeem daadwerkelijk als een zonnetje loopt.
LINKS
Zabbix
www.zabbix.com
ONDERSCHRIFTEN BIJ AFBEELDINGEN
afbeelding1_zabbix_schema.jpg
Schema van de verschillende Zabbix-componenten. Ook apparatuur zonder agent (zoals een netwerkprinter) kan Zabbix monitoren
afbeelding2_zabbix_config.jpg
Het configureren van wat je precies wilt monitoren
afbeelding3_zabbix_screen.jpg
Een screen van twee grafieken om een correlatie te tonen