Como começar a usar o Checkmk

O monitoramento da infraestrutura de TI é complexo, mas uma ferramenta como o Checkmk facilita isso.

Muitas organizações adicionaram tecnologias nativas da nuvem à sua pilha de tecnologia para aprimorar o desempenho de seus produtos. Ao mesmo tempo, eles geralmente continuam a executar suas próprias redes e infraestrutura local. Essa mudança para infraestruturas híbridas precisa ser abordada no monitoramento devido ao grande número de métricas geradas a cada segundo para vários componentes, como sistema operacional, armazenamento, servidor, ambientes em nuvem etc. Todos eles são importantes para garantir que os aplicativos sejam executados no pico atuação.

Essas métricas são um sinal essencial para que as equipes de DevOps entendam a integridade de sua infraestrutura. É por isso que as organizações precisam de uma solução de monitoramento para ajudá-las a identificar rapidamente problemas na produção com métricas, visualizações e análises. Checkmk é uma das ferramentas de monitoramento de infraestrutura mais populares e úteis. Neste artigo, direi por que a Checkmk merece sua boa reputação e como você pode dar os primeiros passos com ela.

O que é Checkmk?

O Checkmk verifica constantemente a função de qualquer aspecto dos ambientes de TI modernos e é especialmente adequado para infraestruturas híbridas. Por um lado, o Checkmk é flexível e oferece suporte a contêineres, ativos em nuvem e sistemas locais, como switches e servidores. Por outro lado, é muito fácil começar e gerenciar seu monitoramento, porque o Checkmk vem com alertas automáticos baseados em muito conhecimento de TI e outros recursos inteligentes que economizarão muito tempo.

Se você deseja usar o Checkmk gratuitamente, você tem duas opções: Primeiro, você pode optar pelo Checkmk Raw Edition, que é totalmente de código aberto e gratuito para uso sem limitações. Em segundo lugar, há o Versão de avaliação do Checkmk Enterprise que possui todos os recursos adicionais do Checkmk Enterprise Editions, mas após 30 dias o número de hosts será limitado a 25.

Como o Checkmk resolve o problema?

O Checkmk pode monitorar aplicativos, servidores, bancos de dados, redes, contêineres, armazenamento e outros enfeites. Ele fornece uma lista enorme de mais de 2.000 plug-ins de monitoramento. Com esses plug-ins. O Checkmk pode ser estendido para monitorar tecnologias específicas de diferentes fornecedores disponíveis no mercado. Alguns plug-ins Checkmk populares são para Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell. Com seus mais de 2.000 plug-ins, o Checkmk se destaca como uma solução de monitoramento de infraestrutura muito promissora disponível atualmente.

  As melhores VPNs para telefones Samsung (setembro de 2021)

Além disso, para qualquer solução de monitoramento, é crucial o quão rápido e corretamente eles podem ler as métricas e configurar alertas e notificações inteligentes. A solução da Checkmk atende a todos esses critérios. Com seu recurso de descoberta automática, o Checkmk pode identificar mais de 90% dos serviços e dispositivos. Agora, a maioria das empresas exige escalabilidade e automação. Você pode dimensionar a capacidade de monitoramento de centenas de hosts para milhares de hosts com facilidade no Checkmk e aproveitar seus agentes disponíveis para automação.

Instale o Checkmk em um contêiner do Docker

Neste artigo, vou instalar o Checkmk Raw Edition em um contêiner do Docker em um servidor Linux rodando no Ubuntu 20.04. No Dockerhub, você pode baixar o Contêiner Checkmk Docker. Ele tem quase 5 milhões de pulls até agora, o que mostra o quão popular e amplamente usado é o Checkmk.

Pegue a imagem do Docker com a versão mais recente do Checkmk e execute-a dentro de um contêiner usando o comando 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

O nome do container será ‘monitoring’, o servidor web escutará a porta 5000 e abrirá na porta 8080 do nó. O contêiner usará o sistema de arquivos temporário e o fuso horário local.

[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

Você pode verificar se a imagem do Docker foi baixada executando o comando docker images.

[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

Execute o comando docker ps para ver se o contêiner Checkmk está em execução.

[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

Para obter os detalhes de login da interface da Web Checkmk, imprima o log do contêiner Checkmk.

[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

O contêiner Checkmk Docker será executado por padrão em https://localhost:8080/cmk/check_mk. A saída do comando acima informa que o nome de usuário é cmkadmin e a senha, no meu caso a senha é ClFxBPre. Abra o endereço em um navegador da Web e use suas credenciais para fazer login.

  19 pacotes Node.js para conhecer como desenvolvedor JavaScript para uma vida produtiva e fácil

Depois de fazer login, este é o ‘painel principal’ que aparecerá. Está vazio porque você ainda não adicionou nenhum host.

Monitorar o Docker usando o Checkmk

Normalmente, você instalaria o agente Checkmk em sua máquina que hospeda seus contêineres do Docker e, em seguida, usaria o plug-in Checkmk para Docker para monitorar todos os contêineres. Este plug-in (mk_docker.py) usa a API Python do Docker para rastrear contêineres do Docker e obter visibilidade total de seu status e desempenho em tempo real. Você pode ler mais detalhes sobre Monitoramento do Docker com Checkmk no site da Checkmk.

Como no meu ambiente Docker há apenas um contêiner Docker em execução, meu contêiner Checkmk Docker, usarei apenas o agente Checkmk em execução no contêiner Docker e não instalarei o Checkmk no meu host Docker. O agente está pré-instalado no container Checkmk, portanto, só preciso adicionar meu container Checkmk como host.

Vamos obter o endereço IP no qual o serviço Docker está sendo executado usando ifconfig no terminal.

[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

No meu caso, o serviço Docker está sendo executado em 172.17.0.1. A próxima etapa é adicionar o serviço Docker como host no Checkmk para que ele possa ser monitorado.

  • Vá para Checkmk e clique em Configuração -> Hosts.
  Como obter os gestos de impressão digital do telefone Pixel em qualquer dispositivo [No Root]

  • Agora forneça o nome do host e o endereço IP e clique em ‘Salvar e ir para a configuração do serviço’.

  • Depois de fazer isso, o Checkmk iniciará a descoberta de serviço automaticamente.

Role para baixo para ver os serviços de monitoramento em execução no host do Docker. Você pode ver que os serviços não estão sendo monitorados no momento. Se você deseja monitorar tudo, a solução mais fácil é clicar em ‘Corrigir tudo’. Se você deseja configurar quais serviços devem ser monitorados, você também pode fazer isso em detalhes. Clique no sinal + se quiser monitorar um serviço.

Depois de selecionar os serviços que deseja monitorar, eles aparecerão na guia ‘Serviços monitorados’. Você obterá todos os detalhes de status de cada serviço que estiver monitorando. Se você clicar em ? sinal, esse serviço será movido para a lista de serviços indecisos. Se você clicar no sinal X, o serviço será movido para a guia ‘Serviços desabilitados’.

Desativei quatro serviços, para que possa vê-los na guia de desativação de serviços.

Quando terminar de adicionar os serviços, você precisa ativar as alterações antes que elas entrem em produção.

  • Clique no campo destacado com o ponto de exclamação amarelo (!) no canto superior direito para ver as alterações pendentes.
  • Clique em Ativar em sites selecionados.

Você monitorou com sucesso os serviços do Docker usando o Checkmk!

Conclusão

Então, isso era tudo sobre o Checkmk, uma ferramenta de monitoramento de infraestrutura. É uma ferramenta muito fácil de usar que você deve tentar para monitorar seus ambientes de produção. recomendo experimentar o Checkmk Edição Gratuita para iniciar seu monitoramento.