Aan de slag met Checkmk

Het monitoren van IT-infrastructuur is complex, maar een tool als Checkmk maakt het eenvoudiger.

Veel organisaties hebben cloud-native technologieën aan hun tech stack toegevoegd om de prestaties van hun producten te verbeteren. Tegelijkertijd blijven ze vaak hun eigen netwerken en on-premises infrastructuur runnen. Deze verschuiving naar hybride infrastructuren moet worden aangepakt bij monitoring vanwege het enorme aantal statistieken dat elke seconde wordt gegenereerd voor verschillende componenten, zoals besturingssysteem, opslag, server, cloudomgevingen, enz. Ze zijn allemaal belangrijk om ervoor te zorgen dat applicaties optimaal werken prestatie.

Deze statistieken zijn een essentieel signaal voor DevOps-teams om de gezondheid van hun infrastructuur te begrijpen. Dit is de reden waarom organisaties een monitoringoplossing nodig hebben om snel problemen in de productie te identificeren met metrische gegevens, visualisaties en analyses. Checkmk is een van de meest populaire en handige tools voor het monitoren van infrastructuur. In dit artikel vertel ik je waarom Checkmk zijn goede naam verdient en hoe je daarmee de eerste stappen kunt zetten.

Wat is Checkmk?

Checkmk controleert voortdurend de werking van elk aspect van moderne IT-omgevingen en is bijzonder geschikt voor hybride infrastructuren. Enerzijds is Checkmk flexibel en ondersteunt het containers, cloud-assets en on-premises systemen zoals switches en servers. Aan de andere kant is het heel eenvoudig om aan de slag te gaan en uw monitoring te beheren, omdat Checkmk wordt geleverd met automatische waarschuwingen op basis van veel IT-expertise en andere intelligente functies die u veel tijd zullen besparen.

Als je Checkmk gratis wilt gebruiken, heb je twee opties: Ten eerste kun je kiezen voor de Checkmk Raw Edition, die volledig open-source is en gratis te gebruiken zonder enige beperking. Ten tweede is er de Checkmk Enterprise-proefversie die alle extra functies van de Checkmk Enterprise Editions heeft, maar na 30 dagen is het aantal hosts beperkt tot 25.

Hoe lost Checkmk het probleem op?

Checkmk kan applicaties, servers, databases, netwerken, containers, opslag en dergelijke monitoren. Het biedt een enorme lijst van meer dan 2.000 monitoring-plug-ins. Met deze plug-ins. Checkmk kan worden uitgebreid om specifieke technologieën van verschillende leveranciers op de markt te monitoren. Een paar populaire Checkmk-plug-ins zijn voor Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell. Met meer dan 2000 plug-ins onderscheidt Checkmk zich als een veelbelovende oplossing voor infrastructuurmonitoring die momenteel beschikbaar is.

Voor elke monitoringoplossing is het ook cruciaal hoe snel en correct ze de statistieken kunnen lezen en slimme waarschuwingen en meldingen kunnen instellen. De oplossing van Checkmk voldoet aan al deze criteria. Met zijn automatische detectiefunctie kan Checkmk meer dan 90% van de services en apparaten identificeren. Nu hebben de meeste bedrijven schaalbaarheid en automatisering nodig. U kunt de monitoringcapaciteit in Checkmk eenvoudig opschalen van honderd hosts naar duizenden hosts en gebruikmaken van de agents die beschikbaar zijn voor automatisering.

  Annoteer bijlagen voor Gmail Hiermee kunt u opmerkingen toevoegen en op bestanden tekenen [Chrome]

Installeer Checkmk in een Docker-container

In dit artikel ga ik de Checkmk Raw Edition installeren in een Docker-container op een Linux-server die draait op Ubuntu 20.04. Van Dockerhub kunt u de Checkmk Docker-container. Het heeft tot nu toe bijna 5 miljoen+ pulls, wat aangeeft hoe populair en wijdverbreid Checkmk is.

Neem de Docker-image met de nieuwste Checkmk-versie en voer deze uit in een container met behulp van de opdracht docker container run.

docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest

De naam van de container zal ‘monitoring’ zijn, de webserver luistert naar poort 5000 en opent op poort 8080 van de node. De container gebruikt het tijdelijke bestandssysteem en de lokale tijdzone.

[email protected]:~$ sudo docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v/omd/sites --name monitoring -v/etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest
Unable to find image 'checkmk/check-mk-raw:2.0.0-latest' locally
2.0.0-latest: Pulling from checkmk/check-mk-raw
33847f680f63: Pull complete
474905f2790b: Pull complete
1804f0e63047: Pull complete
f36fe6334464: Pull complete
03c68dfa69cf: Pull complete
b60cfdb78e96: Pull complete
Digest: sha256:7788fa2e31c7270be201d75285c13ccc7a74f67f991872ea63ba0cfa6708cac6
Status: Downloaded newer image for checkmk/check-mk-raw:2.0.0-latest
9729e323a840a08b0e758cfa9e6dbf76ba5dab4b2ecc4eea5174b8ee1a5cfbcf

U kunt controleren of de Docker-afbeelding is gedownload door de opdracht docker-afbeeldingen uit te voeren.

[email protected]:~$ sudo docker images
REPOSITORY              TAG            IMAGE ID       CREATED        SIZE
bitnami/node-exporter   latest         ba0f519ca49b   34 hours ago   104MB
checkmk/check-mk-raw    2.0.0-latest   097319702432   13 days ago    1.03GB
hello-world             latest         feb5d9fea6a5   7 weeks ago    13.3kB

Voer de opdracht docker ps uit om te zien of de Checkmk-container actief is.

[email protected]:~$ sudo docker ps
CONTAINER ID   IMAGE                               COMMAND                  CREATED              STATUS                             PORTS                                                 NAMES
9729e323a840   checkmk/check-mk-raw:2.0.0-latest   "/docker-entrypoint.…"   About a minute ago   Up 59 seconds (health: starting)   6557/tcp, 0.0.0.0:8080->5000/tcp, :::8080->5000/tcp   monitoring
3d3a95ed3c25   bitnami/node-exporter:latest        "/opt/bitnami/node-e…"   25 hours ago         Up 25 hours                        9100/tcp                                              node-exporter

Om de inloggegevens voor de Checkmk-webinterface te krijgen, drukt u het Checkmk-containerlogboek af.

[email protected]:~$ sudo docker container logs 9729e323a840 
### CREATING SITE 'cmk'
Adding /opt/omd/sites/cmk/tmp to /etc/fstab.
Going to set TMPFS to off.
Temporary filesystem already mounted
Updating core configuration...
Generating configuration for core (type nagios)...Precompiling host checks...OK
OK
Executing post-create script "01_create-sample-config.py"...OK
Created new site cmk with version 2.0.0p15.cre.

  The site can be started with omd start cmk.
  The default web UI is available at http://9729e323a840/cmk/

  The admin user for the web applications is cmkadmin with password: ClFxBPre
  For command line administration of the site, log in with 'omd su cmk'.
  After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'.

### STARTING XINETD
[ ok ] Starting internet superserver: xinetd.
### STARTING SITE
Temporary filesystem already mounted
Starting mkeventd...OK
Starting rrdcached...OK
Starting npcd...OK
Starting nagios...OK
Starting apache...OK
Starting redis...OK
Initializing Crontab...OK
### STARTING CRON
### CONTAINER STARTED

De Checkmk Docker-container wordt standaard uitgevoerd op https://localhost:8080/cmk/check_mk. De uitvoer van de bovenstaande opdracht vertelt u dat de gebruikersnaam cmkadmin is en het wachtwoord, in mijn geval is het wachtwoord ClFxBPre. Open het adres in een webbrowser en gebruik uw inloggegevens om in te loggen.

  15 Beste gratis en open source NAS-software

Zodra u zich aanmeldt, is dit het ‘Hoofddashboard’ dat verschijnt. Het is leeg omdat je nog geen hosts hebt toegevoegd.

Monitor Docker met Checkmk

Gewoonlijk installeert u de Checkmk-agent op uw computer waarop uw Docker-containers worden gehost en gebruikt u vervolgens de Checkmk-plug-in voor Docker om alle containers te controleren. Deze plug-in (mk_docker.py) gebruikt Docker’s Python-API om Docker-containers te volgen en volledig inzicht te krijgen in hun realtime status en prestaties. U kunt meer details lezen over: Docker-monitoring met Checkmk op de Checkmk-website.

Omdat er in mijn Docker-omgeving maar één Docker-container draait, mijn Checkmk Docker-container, gebruik ik alleen de Checkmk-agent die in de Docker-container draait en installeer ik de Checkmk niet op mijn Docker-host. De agent is vooraf geïnstalleerd in de Checkmk-container, dus ik hoef alleen mijn Checkmk-container als host toe te voegen.

Laten we het IP-adres krijgen waarop de Docker-service wordt uitgevoerd door ifconfig op de terminal te gebruiken.

[email protected]:~$ ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:59ff:fe8a:8ba8  prefixlen 64  scopeid 0x20<link>
        ether 02:42:59:8a:8b:a8  txqueuelen 0  (Ethernet)
        RX packets 5559  bytes 7230215 (7.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4164  bytes 614703 (614.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.108  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::144a:4682:35e7:bb2  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:91:82:82  txqueuelen 1000  (Ethernet)
        RX packets 699491  bytes 1044235622 (1.0 GB)
        RX errors 0  dropped 7  overruns 0  frame 0
        TX packets 101260  bytes 7555470 (7.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 20655  bytes 8446042 (8.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 20655  bytes 8446042 (8.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth44ba5ce: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::145f:1fff:fee9:a7b0  prefixlen 64  scopeid 0x20<link>
        ether 16:5f:1f:e9:a7:b0  txqueuelen 0  (Ethernet)
        RX packets 5559  bytes 7308041 (7.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4173  bytes 616263 (616.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vetha82ee43: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::585c:6fff:fe0a:a79b  prefixlen 64  scopeid 0x20<link>
        ether 5a:5c:6f:0a:a7:9b  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 92  bytes 9799 (9.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

In mijn geval draait de Docker-service op 172.17.0.1. De volgende stap is om de Docker-service als host toe te voegen in Checkmk, zodat deze kan worden gecontroleerd.

  • Ga naar Checkmk en klik op Setup -> Hosts.
  6 Service om u te helpen bij het repareren van gehackte Joomla-sites

  • Geef nu de hostnaam en het IP-adres op en klik op ‘Opslaan & ga naar de serviceconfiguratie’.

  • Zodra u dat doet, start Checkmk de servicedetectie automatisch.

Scroll naar beneden om de bewakingsservices te zien die onder de Docker-host worden uitgevoerd. U kunt zien dat de services momenteel niet worden gecontroleerd. Als je alles wilt monitoren, is de eenvoudigste oplossing om op ‘Alles repareren’ te klikken. Als u wilt configureren welke services moeten worden gecontroleerd, kunt u dit ook tot in detail doen. Klik op het + teken als u een dienst wilt monitoren.

Nadat u de services hebt geselecteerd die u wilt controleren, komen ze op het tabblad ‘Bewaakte services’. U krijgt alle statusdetails voor elke service die u bewaakt. Als u klikt op ? teken, wordt die service verplaatst naar de lijst met onbesliste services. Als u op het X-teken klikt, gaat de service naar het tabblad ‘Uitgeschakelde services’.

Ik heb vier services uitgeschakeld, dus ik kan ze zien op het tabblad Services uitschakelen.

Wanneer u klaar bent met het toevoegen van de services, moet u de wijzigingen activeren voordat ze in productie gaan.

  • Klik op het gemarkeerde veld met het gele uitroepteken (!) in de rechterbovenhoek om de openstaande wijzigingen te zien.
  • Klik op Activeren op geselecteerde sites.

U hebt de Docker-services met succes gecontroleerd met behulp van Checkmk!

Conclusie

Dat was dus alles over Checkmk, een tool voor het monitoren van infrastructuur. Het is een zeer gebruiksvriendelijke tool die u moet proberen om uw productieomgevingen te bewaken. Ik raad aan om de . te proberen Checkmk gratis editie om uw bewaking te starten.

gerelateerde berichten