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.
Innholdsfortegnelse
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.
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å.
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.
- 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.