Sådan kommer du i gang med Checkmk

IT-infrastrukturovervågning er kompleks, men et værktøj som Checkmk gør det nemmere.

Mange organisationer har tilføjet cloud-native teknologier til deres tech-stack for at forbedre ydeevnen af ​​deres produkter. Samtidig fortsætter de ofte med at drive deres egne netværk og lokal infrastruktur. Dette skift til hybride infrastrukturer skal adresseres i overvågningen på grund af det enorme antal målinger, der genereres hvert sekund for forskellige komponenter såsom operativsystem, lagring, server, cloud-miljøer osv. De er alle vigtige for at sikre, at applikationer kører i top. ydeevne.

Disse målinger er et vigtigt signal for DevOps-teams til at forstå deres infrastrukturs sundhed. Det er grunden til, at organisationer har brug for en overvågningsløsning, der hjælper dem med hurtigt at identificere problemer i produktionen med målinger, visualiseringer og analyser. Checkmk er et af de mest populære og nyttige infrastrukturovervågningsværktøjer. I denne artikel vil jeg fortælle dig, hvorfor Checkmk fortjener sit gode ry, og hvordan du kan tage de første skridt med det.

Hvad er Checkmk?

Checkmk kontrollerer konstant funktionen af ​​ethvert aspekt af moderne it-miljøer og er særligt velegnet til hybride infrastrukturer. På den ene side er Checkmk fleksibel og understøtter containere, cloud-aktiver og lokale systemer såsom switche og servere. Til gengæld er det rigtig nemt at komme i gang og styre din overvågning, fordi Checkmk kommer med automatiske alarmer baseret på en masse it-ekspertise og andre intelligente funktioner, som vil spare dig for en masse tid.

Hvis du vil bruge Checkmk gratis, har du to muligheder: For det første kan du gå efter Checkmk Raw Edition, som er fuldstændig open source og gratis at bruge uden nogen begrænsninger. For det andet er der Checkmk Enterprise prøveversion der har alle de ekstra funktioner i Checkmk Enterprise Editions, men efter 30 dage vil antallet af værter være begrænset til 25.

Hvordan løser Checkmk problemet?

Checkmk kan overvåge applikationer, servere, databaser, netværk, containere, lager og andet. Det giver en massiv liste med over 2.000 overvågnings-plugins. Med disse plug-ins. Checkmk kan udvides til at overvåge specifikke teknologier fra forskellige leverandører, der er tilgængelige på markedet. Et par populære Checkmk-plugins er til Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell. Med sine 2.000+ plug-ins skiller Checkmk sig ud som en meget lovende infrastrukturovervågningsløsning, der er tilgængelig i øjeblikket.

  Sådan sletter du Marco Polo-profil

For enhver overvågningsløsning er det også afgørende, hvor hurtigt og korrekt de kan læse metrics og opsætte smarte alarmer og notifikationer. Checkmks løsning opfylder alle disse kriterier. Med sin automatiske opdagelsesfunktion kan Checkmk identificere mere end 90% af tjenester og enheder. Nu kræver de fleste virksomheder skalerbarhed og automatisering. Du kan skalere overvågningskapaciteten fra hundrede værter til tusindvis af værter med lethed i Checkmk og udnytte dets agenter, der er tilgængelige til automatisering.

Installer Checkmk i en Docker-container

I denne artikel skal jeg installere Checkmk Raw Edition i en Docker-container på en Linux-server, der kører på Ubuntu 20.04. Fra Dockerhub kan du downloade Checkmk Docker container. Den har næsten 5 millioner+ træk indtil videre, hvilket fortæller hvor populær og meget brugt Checkmk er.

Tag Docker-billedet med den seneste Checkmk-version og kør det inde i en container ved at bruge kommandoen 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

Navnet på containeren vil være ‘monitorering’, webserveren vil lytte til port 5000 og åbne ved port 8080 i noden. Containeren vil bruge det midlertidige filsystem og lokale tidszone.

[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

Du kan kontrollere, om Docker-billedet blev downloadet ved at køre kommandoen docker-billeder.

[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

Kør kommandoen docker ps for at se, om Checkmk-beholderen kører.

[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

For at få loginoplysningerne til Checkmk-webgrænsefladen skal du udskrive Checkmk-beholderloggen.

[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

Checkmk Docker-containeren kører som standard på https://localhost:8080/cmk/check_mk. Outputtet af ovenstående kommando fortæller dig, at brugernavnet er cmkadmin og adgangskoden, i mit tilfælde er adgangskoden ClFxBPre. Åbn adressen i en webbrowser, og brug dine legitimationsoplysninger til at logge ind.

  Sådan får du Google omvendt billedsøgning på din iPhone i enhver app

Når du logger ind, er dette ‘Hoveddashboardet’, der vises. Den er tom, fordi du ikke har tilføjet nogen værter endnu.

Overvåg Docker ved hjælp af Checkmk

Normalt ville du installere Checkmk-agenten på din maskine, der hoster dine Docker-containere, og derefter bruge Checkmk-plugin’et til Docker til at overvåge alle containere. Dette plug-in (mk_docker.py) bruger Dockers Python-API til at spore Docker-containere og få fuld overblik over deres status og ydeevne i realtid. Du kan læse flere detaljer om Docker-overvågning med Checkmk på Checkmks hjemmeside.

Fordi der i mit Docker-miljø kun kører én Docker-container, min Checkmk Docker-container, vil jeg bare bruge Checkmk-agenten, der kører i Docker-containeren og vil ikke installere Checkmk på min Docker-vært. Agenten er forudinstalleret i Checkmk-beholderen, så jeg skal bare tilføje min Checkmk-beholder som vært.

Lad os få den IP-adresse, som Docker-tjenesten kører på, ved at bruge ifconfig på terminalen.

[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

I mit tilfælde kører Docker-tjenesten på 172.17.0.1. Det næste trin er at tilføje Docker-tjenesten som en vært i Checkmk, så den kan overvåges.

  • Gå til Checkmk og klik på Opsætning -> Værter.
  Sådan opretter du et billede af dit USB-drev

  • Angiv nu værtsnavnet og IP-adressen, og klik på ‘Gem og gå til tjenestekonfigurationen’.

  • Når du har gjort det, vil Checkmk automatisk starte serviceopdagelsen.

Rul ned for at se overvågningstjenesterne, der kører under Docker-værten. Du kan se, at tjenesterne ikke bliver overvåget i øjeblikket. Hvis du vil overvåge alt, er den nemmeste løsning at klikke på ‘Ret alle’. Hvis du vil konfigurere, hvilke tjenester der skal overvåges, kan du også gøre dette i detaljer. Klik på + tegnet, hvis du vil overvåge en tjeneste.

Når du har valgt de tjenester, du vil overvåge, kommer de på fanen ‘Overvågede tjenester’. Du får alle statusdetaljerne for hver tjeneste, du overvåger. Hvis du klikker på? underskrive, vil tjenesten flytte til listen over uafklarede tjenester. Hvis du klikker på X-tegnet, flyttes tjenesten til fanen ‘Deaktiverede tjenester’.

Jeg har deaktiveret fire tjenester, så jeg kan se dem på fanen deaktiverer tjenester.

Når du er færdig med at tilføje tjenesterne, skal du aktivere ændringerne, før de går i produktion.

  • Klik på det fremhævede felt med det gule udråbstegn (!) i øverste højre hjørne for at se de afventende ændringer.
  • Klik på Aktiver på udvalgte websteder.

Du har med succes overvåget Docker-tjenester ved hjælp af Checkmk!

Konklusion

Så det handlede om Checkmk, et infrastrukturovervågningsværktøj. Det er et meget brugervenligt værktøj, som du skal prøve for at overvåge dine produktionsmiljøer. Jeg anbefaler at prøve Checkmk gratis udgave for at starte din overvågning.