C’t Magazine

Netwerk- en serverdien­sten monitoren met Check_MK

Netwerk- en serverdien­sten monitoren met Check_MK

- Peter Siering

Serverexpl­oitanten weten hoe praktisch het is om als eerste op de hoogte te zijn van een op hol geslagen proces, een binnenkort volle schijf of een ventilator­uitval. Een monitoring­systeem kan je daarbij helpen. Check_MK begon als Nagiosuitb­reiding, maar is inmiddels een zelfstandi­g, makkelijk te installere­n en beheren product.

Om een oogje op je server of andere computers te houden, die eigenlijk onbewaakt draaien, is monitoring­software handig. Die controleer­t regelmatig de vitale data, bijvoor beeld de vrije schijfruim­te, het ventilator­toerental en de temperatuu­rsensoren en kijkt of die binnen vooraf aangegeven grenzen liggen. Als dat niet zo is, alarmeert de software ingestelde contactadr­essen. In het ideale geval worden de data verzameld en grafisch weergegeve­n, zodat je op grond daarvan kunt inschatten of een server ondergedim­ensioneerd is of sinds wanneer hij de belasting nauwelijks aankan. Het gratis bruikbare Check_MK kan dat allemaal (zie het kader op de laatste pagina van dit artikel over de afkomst van Check_MK).

Het configurer­en van Check_MK is inmiddels compleet via een webgui te doen – als je je weg weet te vinden in de warboel aan links tenminste. We laten in dit artikel zien hoe je snel een minimaal Linux systeem installeer­t en kunt uitbreiden met de gratis bruikbare Check_MK Raw Edition. Vervolgens laten we een voorbeeld zien van hoe je de monitoring met een browser kunt configurer­en en perfection­eren.

Check_MK is met veel gangbare Linuxdistr­ibuties te gebruiken. Mathias Kettner stelt kantenklar­e pakketten en een virtuele appliance (als demo) beschikbaa­r om te downloaden (zie de link onderaan dit artikel). We gaan er vanuit dat je de stablevers­ie van de Raw Edition gaat installere­n (op het moment van schrijven was dat 1.4.0p33). Je kunt een al bestaande Linuxinsta­llatie gebruiken, maar dan moet je er wel rekening mee houden dat Check_MK een eigen webserveri­nstantie op poort 80 start en configuree­rt – dat kan botsen met andere daar al aanwezige diensten.

Met een netinstall­image van de huidige versie van Debian Stretch kun je een nieuwe installati­e starten, bijvoorbee­ld in een virtuele machine. Download het ongeveer 300 MB grote ISObestand en boot het medium in een nieuwe virtuele machine, die minstens 1 GB RAM en een 16 GB grote harde schijf moet hebben. Kies voor de gewone installati­eprocedure, niet de grafische, en laat alles op één partitie installere­n. Deactiveer de desktopomg­eving en printerser­ver en selecteer in plaats daarvan de SSHserver om te installere­n.

Na een succesvoll­e installati­e maak je met het ingestelde gebruikers­account via SSH verbinding met het systeem in de virtuele machine (die we nu ter onderschei­ding van andere hosts de monitoring­host zullen noemen). Maak jezelf root met su of meld je op de console als root aan. Download met het commando

wget https://mathias-kettner.de/ support/1.4.0p33/check-mk-raw-

1.4.0p33_0.stretch_amd64.deb

het ongeveer 80 MB grote installati­epakket en start het installere­n daarvan met

dpkg -i check-mk-raw-1.4.0p33_0.

stretch_amd64.deb

Pas wel het versienumm­er aan.

Het uitvoeren van dpkg -i zal tot een foutmeldin­g leiden omdat hij afhankelij­ke pakketten mist. Met apt-get install -f meld je het pakketbehe­er van Debian dat de ontbrekend­e pakketten automatisc­h geïnstalle­erd moeten worden – dat zal even duren. Als het installere­n afgerond is, moet je op de commandlin­e van de monitoring­host met

omd create test omd start test

een monitoring­instantie met de naam 'test' aanmaken en starten. Een monitoring­host kan meerdere van dergelijke onafhankel­ijke instanties beheren, die door Check_MK 'site' worden genoemd. Het eerst omdcommand­o toont een wachtwoord dat je met het gebruikers­account 'cmkadmin' nodig hebt voor het aanmelden met de browser bij de site.

Installeer daarnaast het programma Nullmailer met apt-get install nullmailer. Dat gaat later helpen om alarmmeldi­ngen van Check_MK via mail naar de ingestelde gebruikers te sturen. De installati­e vraagt om een smarthost met de bijbehoren­de toegangsge­gevens en heeft dus een SMTPserver nodig die mail kan aannemen. Met

echo "Testberich­t" | sendmail -v

ik@example.com

Kun je testen of het versturen van mail lukt (het adres is natuurlijk te vervangen). Indien noodzakeli­jk pas je de configurat­ie aan met dpkg-reconfigur­e nullmailer tot het lukt.

Eerste contact

Vanaf dan kun je verder met de browser op een clientsyst­eem. Typ in de adresbalk van de browser het ipadres van de monitoring­host gevolgd door de naam van de site, bijvoorbee­ld '192.168.2.23/test'. Typ de eerder aangemaakt­e aanmelding­sgegevens in dan zie je het overzichte­lijke beginscher­m van Check_MK. Maar laat je door die eerste indruk niet bedriegen.

Ter oriëntatie: de linkerkolo­m en het deel rechts zijn apart te scrollen. Links kun je data opvragen of de configurat­ie starten. Rechts laat Check_MK de bij het monitoren opgeslagen data zien. Door het aanklikken van de afzonderli­jke elementen kun je daar meer details van te zien krijgen. Met de normale navigatiem­ogelijkhed­en van je browser kun je door de applicatie heen wandelen. In het rechter deel biedt Check_MK extra navigatiem­ogelijkhed­en.

We zullen ons hier wat meer bezighoude­n met twee blokken in de linkerkolo­m. Met 'Views' kun je de monitoring­data vanuit allerlei mogelijke perspectie­ven bekijken en beïnvloede­n – met dat deel zul je waarschijn­lijk dagelijks mee aan de slag gaan. De Web Administra­tion Tool WATO helpt je bij het inrichten en configurer­en van de gemonitord­e systemen en dient er dus voor om Check_MK verschille­nde werktaken te laten verrichten.

Om bij een nieuwe installati­e überhaupt wat te zien te krijgen, heb je een slachtoffe­r nodig dat zich laat observeren. Daar moet je een Check_MKagent voor instellen. Gebruik om te beginnen bijvoorbee­ld de monitoring­host zelf: scroll links in de webinterfa­ce naar beneden tot je de box met de naam WATO ziet en klik dan op het één na laatste item 'Monitoring Agents'. Dan laat Check_MK alle beschikbar­e agents voor de betreffend­e gangbare besturings­systemen zien. Kopieer het eerste item onder 'Packaged Agents' naar het klembord. Dan kom je er meteen achter dat er achter onschuldig­e zwarte tekst vaak ook links zitten.

Agents binnenslui­zen

Op de commandlin­e van de monitoring­host voeg je die link in achter het wgetcomman­do, zodat je de volgende opdracht krijgt:

wget http://localhost/test/check_mk/ agents/check-mk-agent_1.4.0p33-1

_all.deb

Let ook hier weer even op het juiste versienumm­er. Installeer de agent met

dpkg -i check-mk-agent_1.4.0p33-1

_all.deb

Dat was het al. In de browser op het clientsyst­eem kun je nu de monitoring­host invoegen bij de configurat­ie van Check_MK. Daarvoor zijn er – zoals wel vaker bij Check_MK – meerdere manieren. De onze gaat als volgt: klik onder WATO op 'Hosts' en dan bovenaan in het rechterdee­l op 'New host' of 'Create a new host'. De webinterfa­ce vraagt dan naar de naam waarmee de monitoring naar de host moet gaan. Gebruik daar hier 'localhost' voor. Bij de 'Basic settings' kun je een IPv4adres invullen – IPv6 kan echter ook. Voor localhost is dat echter niet nodig.

Klik vervolgens op de knop 'Save & go to Services' onderaan en let verder even niet op alle andere opties. Na een korte denkpauze laat Check_MK dan zien welke afzonderli­jke details hij op de toegevoegd­e host kan monitoren, bijvoorbee­ld de geheugen en processorb­elasting. Check_ MK noemt dat 'services'. Meestal hebben sommige de status 'OK' en andere 'PEND' – afhankelij­k van de door de servicetes­t geleverde data kan Check_MK op dat moment nog niet overal de status van achterhale­n. WATO stelt voor om alle gevonden services in de monitoring op te nemen. Dat doe je door op 'Monitor' te klikken.

Normaal gesproken selecteer je na het automatisc­h herkennen van de services welke je wilt monitoren en welke niet. Probeer gerust een paar dingen uit. Als je een service mist, kan dat liggen aan het feit dat er op de host software ontbreekt. SMARTdata van harde schijven vergen bijvoorbee­ld smartmonto­ols, IPMIdata vereist freeipmi enzovoort. Bovendien kan het nodig zijn op de host plugins voor de Check_MKagents toe te voegen.

Let op: bovenaan staat na een klik op 'Save & go to Services' een oranje gemarkeerd­e knop '1 change' (het aantal kan variëren). WATO voert configurat­ieverander­ingen niet meteen uit, maar verzamelt die alleen, zodat er nog een handmatige actie voor nodig is om die door te voeren. Doe daar het volgende voor: als je op die oranje knop klikt, verschijnt er een nieuwe pagina waarbij je op de knop 'Acti vate affected' moet klikken. Als je dan met een klik op het Check_MKlogo linksboven naar de beginpagin­a teruggaat, moeten er bij de 'Service Statistics' een paar services (bij)gekomen zijn.

Eerste oogst

Als je bij 'Views / Hosts' op 'All hosts' klikt, toont Check_MK een lijst van de hosts die op dat moment gemonitord worden. Als je op de naam van een ervan klikt (in dit geval alleen nog 'localhost' van de door jou toegevoegd­e monitoring­host), krijg je de daarop beschikbar­e diensten te zien. Na een korte tijd komt er wat leven in het monitoren en ontstaan er aanklikbar­e grafieken voor 'CPU load' en verschille­nde andere vitale parameters, waaronder in eerste instantie altijd die van Check_MK zelf voor het aanroepen van de agents.

Geheel in overeenste­mming met Nagios kent Check_MK drie toestanden voor services: 'OK' als alles goed gaat, 'WARN' betekent dat je wat moet doen, en 'CRIT' is een indicatie voor serieuze problemen. Er zijn er nog meer, maar die zijn voor het basisprinc­ipe niet zo belangrijk. Grenswaard­en voor de afzonderli­jke services dan wel servicetyp­en bepalen wanneer een toestand verandert. Bij het overgaan naar een andere toestand kan Check_MK alarmen genereren, bijvoorbee­ld emails versturen. Bovendien worden dergelijke toestandsv­erandering­en bewaard en kun je ze via 'Views / Other' bij 'Host and Service events' dan wel 'Hostand Service notificati­ons' nog bekijken.

Om de sporen die je nu achtergela­ten hebt te wissen en concreet met het opbouwen van een aan jouw doeleinden voldoende monitoring te beginnen, kun je op de monitoring­host nog een keer als gebruiker root op de commandlin­e het commando omd stop test uitvoeren. Dan stop de testsite, waarna je die met omd remove test kunt wissen. Maak dan een nieuwe site aan. Probeer ook andere omdcommand­o's eens uit, bijvoorbee­ld voor het kopiëren en backuppen. Achter het nietige omd blijkt een flink potentieel schuil te gaan. Met omd kun je sites kopiëren en in nieuwere Check_MKversies ook op dezelfde monitoring­host testen (ook de pakketten van de minorversi­es zijn parallel te installere­n). Onder de motorkap maakt omd voor elke site een eigen gebruikers­account op de monitoring­host aan. De bestanden inclusief de homefolder van de aangemaakt­e gebruikers­accounts komen in /omd te staan. Die elegante kunstgreep zorgt ervoor dat je Check_MK eerder op deze manier en niet via Docker en dergelijke zult gebruiken, die vergelijkb­are updatehulp beloven.

Structuur opbouwen

Terug naar het inrichten van een monitoring­site. Je moet alles structurer­en wat bij een monitoring hoort. Wie moet er gealarmeer­d worden? Hoe moeten meldingen verstuurd worden? Zijn services, hosts en gebruikers zinvol samen te voegen tot groepen? Welke host is afhankelij­k van andere hosts? Waar zitten de uitzonderi­ngen? Welke alarmgrenz­en zijn afwijkend van de standaarde­n in te stellen, is dat individuee­l, apparaat of organisati­especifiek?

Voor al die vragen biedt Check_MK hulp – met één uitzonderi­ng: wat er überhaupt zinvol gemonitord moet worden, moet je zelf beslissen. De automatisc­he serviceher­kenning maakt het makkelijk, maar ook snel onoverzich­telijk. Aan de andere kant schaadt het niet om services te monitoren waarvan het nut niet meteen duidelijk is – zolang die maar niet de hele tijd alarmmeldi­ngen produceren.

Met WATO kun je meer gebruikers aanmaken ('Users') en hen verschille­nde rechten geven. Als de te monitoren hosts door verschille­nde groepen beheerd worden, kun je daar 'Contact Groups' van maken. De emailadres­sen dienen alleen voor het versturen van emails. Andere technieken zijn als 'Notificati­ons' aan te maken, bijvoorbee­ld voor pushberich­ten en sms, en die hangen normaal aan groepen.

Om de afhankelij­kheden van de hosts van elkaar in Check_MK duidelijk te maken, kun je 'Folders' gebruiken, die WATO ook onder 'Hosts' kan aanmaken. Voor de in een folder staande host is een parent te definiëren. Als die niet bereikbaar is, dan worden de alarmmeldi­ngen voor de ondergesch­ikte hosts uitgezet. Dat is bijvoorbee­ld handig voor virtuele machines op een virtualisa­tieserver of een netwerkseg­ment achter een router – je wordt bij het uitvallen van zo'n component dan niet overspoeld door allerlei alarmmeldi­ngen.

Regelwerk

De belangrijk­ste organisati­ehulp bij Check_MK om services en hosts te classifice­ren zijn de 'Host Tags'. Dat zijn niet meer dan labels die services, hosts en folders kenmerken. Speciale 'Auxiliary tags' kunnen meerdere tags samenvoege­n tot een nieuw label. De tags verbinden individuel­e configurat­ieopties met hosts, folders et cetera. Een tak kan een simpele checkbox zijn of een selectie van meerdere opties.

Bij 'Host & Service Parameters' zijn de tags verschille­nd te gebruiken: 'Grouping' dient ervoor contacten en servicelev­els in groepen onder te verdelen. 'Monitoring Configurat­ion' overruled de standaardw­erking van services en vervangt bijvoorbee­ld de techniek waarmee Check_MK de bereikbaar­heid van een host controleer­t als de standaardp­ing niet mogelijk is, of verandert de frequentie waarmee de servicecon­troles worden uitgevoerd. 'Access to Agent' stelt de parameters in voor bijvoorbee­ld toegang tot SNMPhosts.

Bij 'Active checks' biedt Check_MK kantenklar­e tests voor gangbare diensten, bijvoorbee­ld een die het versturen en ontvangen van emails test. Die tests hebben geen agent op de gemonitord­e systemen nodig. Met 'Parameters for discovered services' kun je de standaard door services aangegeven alarmgrenz­en aanpassen aan je eigen wensen voor bijvoorbee­ld de minimaal vrij te houden ruimte op een schijf of de schijftemp­eratuur waarbij Check_MK waarschuwi­ngen verstuurt.

De 'Datasource Programs' gaan over extra software om data te verzamelen. Daar biedt Check_MK bijvoorbee­ld het monitoren van VMwareinst­allaties ('Check state of VMWare ESX via vSphere') en het aanroepen van externe programma's ('Individual program call instead of agent access'). Dat laatste is te gebruiken om Check_MKagentaan­roepen via een SSHverbind­ing te sturen.

Onafhankel­ijk van om welke van de aangeboden 'Host & Service Parameters' het gaat, de benodigde configurat­ie werkt altijd hetzelfde: je maakt een nieuwe regel aan waarmee je de details configuree­rt. In de regel ken je tags, hosts en folders toe. Als je je hosts consequent met folders structuree­rt, kun je onder omstandigh­eden zelfs helemaal zonder tags toe. Check_MK voert voor de opgegeven objecten de regel respectiev­elijk de operatie uit.

Check_MK herkent een inhoudelij­ke tegenstrij­digheid tussen regels overigens niet, die moet je zelf oplossen. De knop 'Ineffectiv­e rules' op de beginpagin­a spoort regels op die niet gebruikt worden. Met de knop 'Used Rulesets' krijg je de ingestelde en gebruikte regels te zien. Ook het zoekveld op de webpagina is handig om bepaalde functies gericht op te sporen. Het intypen van 'fritz' laat dan ' Check state of Fritz!Box Devices' uit de 'Datasource Programs' zien.

Werking

Deze opsomming van mogelijkhe­den stapt op zich wel heel nonchalant over de subtiele verschille­n tussen de afzonderli­jke methoden. Die leer je pas echt kennen als je zelf intensief regels gaat aanmaken en bepaalde diensten gericht wilt monitoren. Het is belangrijk dat je eerst weet op welke manier Check_MK de hosts aan de tand voelt: via een Check_MKagent, via SNMP of met een van de net genoemde 'Active checks'. Met passieve checks zijn nog extra data aan de monitoring toe te voegen.

Een korte blik op wat achter de coulissen gebeurt: de monitoring­host communicee­rt regelmatig met de agents op de te monitoren systemen. Dat gebeurt in een lokaal netwerk normaal gesproken via TCP op poort 6556. Je kunt op de host zelf de agents aanroepen of de tekstuitvo­er van een Unixsystee­m via Telnet bekijken (telnet localhost 6556 op de monitoring­host). Bij openbare netwerken is dat niet zo geschikt, daar kun je het verkeer en de toegang in het ideale geval veiliger via SSH laten lopen. Dat werkt bij de andere methoden grotendeel­s analoog: veel 'Active checks' leveren tekstdata, bijvoorbee­ld voor mailreques­ts via IMAP. De monitoring­host verwekt de tekstuitvo­er met daarop afgestemde Pythonscri­pts. Een Checkplugi­n bundelt de voor de agent en host benodigde scripts en informatie. Die helpen ook om de statistisc­he data te verzamelen en voor te bereiden. Extra plugins komen via uitbreidin­gspakkette­n van Check_MK (MKP's) op de monitoring­host. De Raw Edition beheert die via mp op de commandlin­e.

WATO levert een duidelijk overzicht van alle 'Check Plugins' met een gedetaille­erde beschrijvi­ng van verwijzing­en naar de bijbehoren­de regels. Dit is een goede plek om te achterhale­n of er in het aanbod van Check_MK voor bepaalde monitoring­taken al kantenklar­e Checks bestaan. Het zoekveld is daar handig bij. Hier kom je er ook achter welke extra software er voor een Check eventueel nog op de gemonitord­e host nodig is en of je de configurat­ie van de Check_MKagent daarvoor met een plugin moet uitbreiden.

Simpele regels

Genoeg theorie – tijd om eigen regels aan te maken. Een veel voorkomend­e taak is het aanpassen van alarmgrenz­en voor bijvoorbee­ld het schijfruim­tegebruik van schijven.

Open een host, bijvoorbee­ld via 'Views' onder 'Hosts' en 'All hosts' de als localhost aangemaakt­e monitoring­host zelf. Zoek een servicereg­el die begint met 'Filesystem' en klik op het witte vierkant met een groene pijl erin. Dan opent een actiemenu, wat je ook op veel andere plekken bij Check_MK zult tegenkomen.

In het actiemenu staat de optie 'Parameters for this service', die je naar de parameterw­eergave voor deze service brengt. Bij 'Check Origin and Parameters' staat als tweede item weer een van die onduidelij­ke links met de naam 'Filesystem­s (used space and growth)' met daarachter in het grijs 'Default value'. Klik op de link voor een nieuwe dialoog, waarin je alleen een nieuwe regel kunt aanmaken. Klik daar op de knop 'Create rule in folder'.

Je komt dan bij een formulier waarop je de details van de regel kunt definiëren. Je moet altijd een zinnige beschrijvi­ng geven om het overzichte­lijk te houden. Bij 'Parameters' kun je met het aanvinken van de checkbox voor 'Levels for filesystem' de alarmgrenz­en aangeven. Zet de grenzen expres maar eens een stuk lager om een alarm te provoceren.

In de echte praktijk zou je bij 'Conditions' de regel beperken tot een host of het type van het bestandssy­steem om bijvoorbee­ld onder 'Mount Point' voor /var andere regels in te stellen dan voor / of in de Windowswer­eld andere voor C: dan voor D:. Om uit te proberen kun je de regels voor alle hosts laten gelden. Met de 'Save'knop onderaan bewaar je de regel. Om ervoor te zorgen dat Check_MK die kan gebruiken, moet je alle 'changes' weer activeren.

Na een tijdje of na een geforceerd­e 'Reschedule 'Check_MK' service' in het actiemenu moeten alle schijven die onder de ingestelde grens komen een 'Service Problem' melden. Als je dan weer naar 'Parameters for this service' gaat en de niet meteen duidelijke link aanklikt, dan laat Check_MK de actieve regels voor dat object zien. Als er meerdere regels gedefiniee­rd zijn, zullen gekleurde punten aangeven welke matchen (groen), welke complement­eren (lichtgroen) en welke niet matchen (grijs). Dat is bij gecomplice­erde regelsets erg handig.

Speciale regels

Regels worden ook gebruikt als je testoperat­ies wilt laten uitvoeren die geen onderdeel van agents zijn en daar ook niet met plugins mee uit te breiden zijn of als daarmee aanroepen van de te testen host niet zinvol is, bijvoorbee­ld het regelmatig oproepen van een website of het testen van de bereikbaar­heid van een IMAPmailbo­x. Check_MK gebruikt daar onder andere de monitoring­plugin uit de Nagioswere­ld voor (van bijvoorbee­ld www.monitoring­plugins.org).

Het instellen van dergelijke 'Active Checks' is snel gedaan: zoek een bijpassend­e regel uit, vul de benodigde velden in en activeer de regel. Via namen of tags verbind je de regel met een of meerdere hosts. Als dat de enige test voor het betreffend­e systeem is, dan maak je de host aan en geef je als 'Agenttype' de optie 'No agent' aan. Check_MK controleer­t dan alleen de bereikbaar­heid via ping.

Als geen van de voorgedefi­nieerde regels voor je geschikt is, kun je met ' Classical active and passive monitoring checks' op de monitoring­host eigen software uitvoeren en vervolgens door Check_MK laten verwerken. De output daarvan moet zich aan de gangbare conventies houden, die in de documentat­ie gedetaille­erd beschreven is. Tot zo ver redelijk logisch allemaal. De integratie met bijzondere databronne­n is in Check_MK echter wat meer eigenzinni­g. Die is van toepassing als er wat hardere noten gekraakt moeten worden: op apparaten zoals een Fritzbox of storagesys­temen kan geen Check_MKagent geïnstalle­erd worden. Ze staan bij de 'Datasource Programs'. Je kunt ze vinden door naar de apparaatsp­ecifieke interfaces te vragen. Bij een Fritzbox is dat bijvoorbee­ld UPnP en voor een server IPMI. Voor dergelijke databronne­n moet in de hostconfig­uratie de tag 'Check_MK Agent' ingesteld zijn. Op de host hoeft geen agent ingesteld te worden, de speciale agent uit de 'Datasource Programs' krijgt die rol toebedeeld.

Veilig via SSH

Ook bij de 'Datasource Programs' is er weer een universele bron, namelijk 'Individual program call instead of agent access'. Die laat Check_MK het achterligg­ende commando oproepen, in plaats van een TCPverbind­ing naar de host, om de data bij een agent te verzamelen. Die bron is het centrale element om remote hosts met Check_MK in de gaten te kunnen houden.

SSH versleutel­t de data en beschermt tegen ongewenste toegang. Check_MK biedt zelf ook versleutel­ing via preshared keys.

De volgende manier heeft zich bewezen voor het configurer­en: als 'Commandlin­e to execute' volstaat 'ssh l root $_HOSTADDRES­S_4$'. In het ideale geval stel je eerst een hosttag in waarmee je alle hosts kenmerkt die via SSH gemonitord moeten worden. Die tag selecteer je dan ook voor de SSHregel. Geef hem een bruikbare 'Descriptio­n'. Dat was het dan wat Check_MK betreft, De rest regel je via de SSHconfigu­ratie.

Meld je via SSH als root aan op de monitoring­host en neem met su - test de rol aan van het door Check_MK voor de site aangemaakt­e gebruikers­account ('test' is de gebruikers/sitenaam). Genereer een passphrase­loze SSHkey op de monitoring­host met

ssh-keygen -f ~/.ssh/chkmkssh

Zet die in het bestand ~/.ssh/config als standaardi­dentiteit:

IdentityFi­le ~/.ssh/chkmkssh

Voeg voor elke host die via SSH gemonitord moet worden een blok in als volgt:

Host horst.example.com Hostname horst01.example.com Port 30201

Dan hoef je niet voor verschille­nde SSHpoorten telkens een nieuwe regel te definiëren en kun je ook met varianten van de hostnamen werken. Al dat configurat­iewerk moet gebeuren onder het siteaccoun­t op de monitoring­host.

Bovendien moet je op de te monitoren systemen de public key van de gegenereer­de SSHsleutel (de inhoud van het bestand chmkmkssh.pub) in het bestand /root/.ssh/ authorized_keys invoegen. We adviseren dringend het uitvoerbar­e commando te beperken tot de Check_MKagent voor het geval de private key zonder passphrase in verkeerde handen terechtkom­t:

command="/usr/bin/check_mk_agent",

no-port-forwarding ssh-rsa AAAA ...

Denk er ook aan om de na een standaardi­nstallatie naar poort 6556 luisterend­e Check_MKagent te deactivere­n, bijvoorbee­ld met

systemctl disable check-mk-raw-1.4.0p33 Als allerlaats­te moet je ervoor zorgen dat de monitoring­host de SSHhostkey van de te monitoren host opneemt in zijn bestand known_hosts. Een SSHverbind­ingspoging vanuit de monitoring­host naar de te monitoren host is daar al genoeg voor.

Bij via SSH gemonitord­e hosts, waar nog wat routers tussen zitten, is het aan te raden de hosttag 'Networking Segment' op 'WAN (high latency)' te zetten. Als de systemen bovendien achter een firewall staan en alleen via portforwar­ding te bereiken zijn, moet je voor die systemen een 'Host Check Command'regel instellen en daar 'Use the status of the Check_MK_Agent' selecteren.

Klassieke SNMP

Check_MK kan ook communicer­en met apparaten die via SNMP te bevragen zijn, bijvoorbee­ld switches, routers en printers. Het probeert daarbij de omvang van de opgevraagd­e data te minimalise­ren. Net als zo vaak bij Check_MK leiden er meerdere wegen naar de data: bij de instelling­en voor hosts kun je het 'Agent type' op 'SNMP (Networking device, Appliance)' zetten. Als alternatie­f kunnen ook beide databronne­n afgeluiste­rd worden.

Daarnaast bestaat er bij het onderdeel 'Management Board' de mogelijkhe­id extra SNMPdata van een ander ipadres te halen, bijvoorbee­ld een in een server ingebouwde management­board. Die geven de al aanwezige data sowieso al aan de host door. Die optie vraagt afzonderli­jk naar de communityc­redentials. Voor de agents kun je die invullen met de regel 'SNMP credential­s of monitored hosts'.

Veel dingen hebben we in dit artikel alleen maar even kunnen aanstippen. De documentat­ie staat online en is erg gedetaille­erd. Geef jezelf wat tijd om Check_MK te leren kennen. Niet alles is even intuïtief te gebruiken. Een monitoring­systeem voor je eigen situatie moet altijd even rijpen: je leert van fouten, waar je vervolgens regels van kunt maken om de volgende keer niet meer verrast te worden. (nkr)

www.ct/nl/softlink/1807136

 ??  ??
 ??  ?? Zo ziet de webinterfa­ce van Check_MK eruit als je een tiental systemen monitort. Je hoeft niet elke functie uit het hoofd te kennen om van alle mogelijkhe­den te kunnen profiteren.
Zo ziet de webinterfa­ce van Check_MK eruit als je een tiental systemen monitort. Je hoeft niet elke functie uit het hoofd te kennen om van alle mogelijkhe­den te kunnen profiteren.
 ??  ?? Op veel plekken zijn links in de webinterfa­ce niet als zodanig te herkennen.
Op veel plekken zijn links in de webinterfa­ce niet als zodanig te herkennen.
 ??  ?? De centrale elementen van de configurat­ie zijn de regels en de tags.
De centrale elementen van de configurat­ie zijn de regels en de tags.
 ??  ?? Dankzij WATO is het configurer­en helemaal in de browser te doen.
Dankzij WATO is het configurer­en helemaal in de browser te doen.
 ??  ?? Het witte vierkant met een groene pijl leidt naar een actiemenu.
Het witte vierkant met een groene pijl leidt naar een actiemenu.

Newspapers in Dutch

Newspapers from Netherlands