Hvordan komme i gang med Checkmk

IT-infrastrukturovervåking er kompleks, men et verktøy som Checkmk gjør det enklere.

Mange organisasjoner har lagt til skybaserte teknologier til teknologistabelen deres for å forbedre ytelsen til produktene deres. Samtidig fortsetter de ofte å drive sine egne nettverk og lokal infrastruktur. Dette skiftet til hybrid infrastruktur må adresseres i overvåking på grunn av det enorme antallet beregninger som genereres hvert sekund for ulike komponenter som operativsystem, lagring, server, skymiljøer osv. De er alle viktige for å sikre at applikasjonene kjører på topp. opptreden.

Disse beregningene er et viktig signal for DevOps-teamene for å forstå helsen til infrastrukturen deres. Dette er grunnen til at organisasjoner trenger en overvåkingsløsning for å hjelpe dem raskt å identifisere problemer i produksjonen med beregninger, visualiseringer og analyser. Checkmk er et av de mest populære og nyttige verktøyene for infrastrukturovervåking. I denne artikkelen vil jeg fortelle deg hvorfor Checkmk fortjener sitt gode rykte og hvordan du kan ta de første skrittene med det.

Hva er Checkmk?

Checkmk sjekker kontinuerlig funksjonen til alle aspekter av moderne IT-miljøer og er spesielt godt egnet for hybrid infrastruktur. På den ene siden er Checkmk fleksibel og støtter containere, skyaktiva og lokale systemer som svitsjer og servere. På den annen side er det veldig enkelt å komme i gang og administrere overvåkingen din, fordi Checkmk kommer med automatiske varsler basert på mye IT-ekspertise og andre intelligente funksjoner som vil spare deg for mye tid.

Hvis du vil bruke Checkmk gratis, har du to alternativer: For det første kan du gå for Checkmk Raw Edition, som er helt åpen kildekode og gratis å bruke uten noen begrensninger. For det andre er det Checkmk Enterprise prøveversjon som har alle tilleggsfunksjonene til Checkmk Enterprise Editions, men etter 30 dager vil antallet verter være begrenset til 25.

Hvordan løser Checkmk problemet?

Checkmk kan overvåke applikasjoner, servere, databaser, nettverk, containere, lagring og annet. Det gir en massiv liste med over 2000 overvåkingsplugin-moduler. Med disse plugin-modulene. Checkmk kan utvides til å overvåke spesifikke teknologier fra forskjellige leverandører tilgjengelig på markedet. Noen få populære Checkmk-plugin-moduler er for Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell. Med sine 2000+ plug-ins skiller Checkmk seg ut som en svært lovende infrastrukturovervåkingsløsning som er tilgjengelig for øyeblikket.

  Hvordan lage et Gantt-diagram i Google Sheets

For enhver overvåkingsløsning er det også avgjørende hvor raskt og riktig de kan lese beregningene og sette opp smarte varslinger og varsler. Checkmks løsning oppfyller alle disse kriteriene. Med sin automatiske oppdagelsesfunksjon kan Checkmk identifisere mer enn 90 % av tjenestene og enhetene. Nå krever de fleste virksomheter skalerbarhet og automatisering. Du kan enkelt skalere overvåkingskapasitet fra hundre verter til tusenvis av verter i Checkmk og utnytte agentene som er tilgjengelige for automatisering.

Installer Checkmk i en Docker-beholder

I denne artikkelen skal jeg installere Checkmk Raw Edition i en Docker-beholder på en Linux-server som kjører på Ubuntu 20.04. Fra Dockerhub kan du laste ned Checkmk Docker-beholder. Den har nesten 5 millioner+ trekk så langt, noe som forteller hvor populær og mye brukt Checkmk er.

Ta Docker-bildet med den nyeste Checkmk-versjonen og kjør det inne i en container ved å bruke 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å beholderen vil være «overvåking», webserveren vil lytte til port 5000 og åpne ved port 8080 til noden. Beholderen vil bruke det midlertidige filsystemet og den lokale tidssonen.

[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 sjekke om Docker-bildet ble lastet ned ved å kjøre kommandoen docker-bilder.

[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

Kjør kommandoen docker ps for å se om Checkmk-beholderen kjø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 å få påloggingsdetaljene for Checkmk-nettgrensesnittet, skriv ut 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-beholderen kjøres som standard på https://localhost:8080/cmk/check_mk. Utdataene fra kommandoen ovenfor forteller deg at brukernavnet er cmkadmin og passordet, i mitt tilfelle er passordet ClFxBPre. Åpne adressen i en nettleser og bruk legitimasjonen din for å logge på.

  Forstå kontinuerlig integrasjon og kontinuerlig distribusjon

Når du logger på, er dette «Hoveddashbordet» som vises. Den er tom fordi du ikke har lagt til noen verter ennå.

Overvåk docker ved å bruke Checkmk

Vanligvis vil du installere Checkmk-agenten på maskinen din som er vert for Docker-beholderne og deretter bruke Checkmk-plugin-modulen for Docker for å overvåke alle beholdere. Denne plugin-modulen (mk_docker.py) bruker Dockers Python-API for å spore Docker-beholdere og få full oversikt over deres sanntidsstatus og ytelse. Du kan lese mer om Docker-overvåking med Checkmk på Checkmk-nettstedet.

Fordi i Docker-miljøet mitt er det bare én Docker-beholder som kjører, min Checkmk Docker-beholder, vil jeg bare bruke Checkmk-agenten som kjører i Docker-beholderen og vil ikke installere Checkmk på Docker-verten min. Agenten er forhåndsinstallert i Checkmk-beholderen, derfor må jeg bare legge til min Checkmk-beholder som vert.

La oss få IP-adressen som Docker-tjenesten kjører på ved å bruke 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 mitt tilfelle kjører Docker-tjenesten på 172.17.0.1. Neste trinn er å legge til Docker-tjenesten som en vert i Checkmk slik at den kan overvåkes.

  • Gå til Checkmk og klikk på Oppsett -> Verter.
  7 beste programvare for å overvåke webapplikasjonen din [Self-hosted and Cloud-based]

  • Oppgi nå vertsnavnet og IP-adressen og klikk på «Lagre og gå til tjenestekonfigurasjonen».

  • Når du gjør det, vil Checkmk starte tjenesteoppdagelsen automatisk.

Rull ned for å se overvåkingstjenestene som kjører under Docker-verten. Du kan se at tjenestene ikke blir overvåket for øyeblikket. Hvis du vil overvåke alt, er den enkleste løsningen å klikke på «Fix all». Hvis du ønsker å konfigurere hvilke tjenester som skal overvåkes, kan du også gjøre dette i detalj. Klikk på +-tegnet hvis du vil overvåke en tjeneste.

Når du har valgt tjenestene du vil overvåke, kommer de i fanen «Overvåkede tjenester». Du vil få alle statusdetaljer for hver tjeneste du overvåker. Hvis du klikker på ? signere, vil tjenesten flytte til listen over tjenester som ikke er bestemt. Hvis du klikker på X-tegnet, vil tjenesten flytte til fanen «Deaktiverte tjenester».

Jeg har deaktivert fire tjenester, så jeg kan se dem i kategorien deaktiverer tjenester.

Når du er ferdig med å legge til tjenestene, må du aktivere endringene før de går i produksjon.

  • Klikk på det uthevede feltet med det gule utropstegn (!) øverst i høyre hjørne for å se de ventende endringene.
  • Klikk på Aktiver på utvalgte nettsteder.

Du har overvåket Docker-tjenester med Checkmk!

Konklusjon

Så det handlet om Checkmk, et infrastrukturovervåkingsverktøy. Det er et veldig brukervennlig verktøy som du må prøve for å overvåke produksjonsmiljøene dine. Jeg anbefaler å prøve Checkmk gratis utgave for å starte overvåkingen.