Verifique MK - Check MK

Checkmk
Desenvolvedor (s) tribe29 GmbH (anteriormente Mathias Kettner GmbH)
lançamento inicial 2008 ; 13 anos atrás ( 2008 )
Versão estável
2.0.0p9 / 12 de agosto de 2021 ; 32 dias atrás ( 2021-08-12 )
Repositório
Escrito em Python , C ++
Sistema operacional Linux
Modelo Monitoramento de infraestrutura de TI
Licença GNU GPL v2 e outras licenças Open Source , Checkmk Enterprise License
Local na rede Internet checkmk .com

Checkmk é um software desenvolvido em Python e C ++ para monitoramento de infraestrutura de TI . É utilizado para o monitoramento de servidores , aplicativos , redes, infraestruturas em nuvem ( pública , privada , híbrida ), containers , storage , bancos de dados e sensores de ambiente .

Checkmk está disponível em três edições: uma edição de código aberto ("Checkmk Raw Edition - CRE"), uma edição empresarial comercial ("Checkmk Enterprise Edition - CEE") e uma edição comercial para provedores de serviços gerenciados ("Checkmk Managed Services Edition - CME "). Essas edições Checkmk estão disponíveis para uma variedade de plataformas, em particular para várias versões do Debian , Ubuntu , SLES e Red Hat / CentOS , e também como uma imagem Docker . Além disso, dispositivos físicos de vários tamanhos, bem como um dispositivo virtual, são oferecidos para simplificar a administração do sistema operacional subjacente por meio de uma interface gráfica do usuário e para permitir soluções de alta disponibilidade.

Os agentes usados ​​pela Checkmk para coletar dados estão disponíveis para 11 plataformas, incluindo Windows .

História

Checkmk se originou em 2008 como um script de shell substituto de Agente para Inetd e foi publicado em abril de 2009 sob GPL . Ele foi inicialmente baseado no Nagios e o estendeu com uma série de novos componentes. A edição de código aberto (Checkmk Raw Edition) também continua a se basear no Nagios-core, e o agrupa com componentes de código aberto adicionais em um sistema completo.

Ao longo de muitos anos, as edições comerciais da Checkmk evoluíram para um sistema de monitoramento independente - um que substituiu todos os componentes essenciais do Nagios pelos seus próprios - incluindo seu próprio núcleo de monitoramento. A maioria dos desenvolvimentos para as edições comerciais, em particular todos os plug-ins , também estão disponíveis no Checkmk Raw Edition.

Enquanto no passado Checkmk foi projetado para monitorar grande e heterogêneo no local ambientes, a partir da versão 1.5+ (1.5p12) ele também suporta o monitoramento da AWS , Azure , Docker e Kubernetes serviços.

Checkmk está sendo desenvolvido pela tribe29 GmbH em Munique , Alemanha , que até 16.04.2019 operava com o nome de Mathias Kettner GmbH. Junto com a mudança do nome da empresa, o nome do produto "Check_MK" também foi alterado para "Checkmk".

tribe29 GmbH segue um modelo de negócios de núcleo aberto . A edição de código aberto está disponível sob diferentes licenças de código aberto - principalmente GPLv2, enquanto grande parte das edições comerciais são executadas sob a "Licença Enterprise Checkmk".

O produto

Checkmk combina três tipos de monitoramento de TI:

  • Monitoramento baseado em status, que (por meio de limites) registra a "saúde" de um dispositivo ou aplicativo.
  • Monitoramento baseado em métricas que permite o registro e análise de gráficos de séries temporais . Para o CEE, tanto um sistema gráfico baseado em HTML5 quanto uma integração com Grafana estão disponíveis.
  • Monitoramento baseado em log e baseado em eventos , no qual os principais eventos podem ser filtrados e ações podem ser disparadas com base nesses eventos.

Para garantir um monitoramento muito amplo, a Checkmk possui atualmente mais de 1700 plug-ins em cada edição - todos licenciados sob a GPLv2. Esses plug-ins são mantidos como parte do produto e regularmente complementados com plug-ins ou extensões adicionais. Conectar plug-ins herdados do Nagios também é possível.

Para simplificar a configuração e operação, todos os componentes do Checkmk são entregues totalmente integrados. Uma configuração 1: n baseada em regras , bem como um alto grau de automação, acelera significativamente os fluxos de trabalho . Isso inclui:

  • Autodescoberta de hosts (quando aplicável)
  • Auto-descoberta de serviços
  • Configuração automatizada de plug-ins por meio de limites e regras pré-configurados
  • Atualizações automatizadas de agentes (um recurso do CEE)
  • Configuração automática e dinâmica que permite o monitoramento de serviços voláteis com vida útil de apenas alguns segundos, como no ambiente Kubernetes (a partir do CEE v1.6)
  • Descoberta automatizada de tags e rótulos de fontes como Kubernetes, AWS e Azure (a partir do CEE v1.6)

Além disso, também existem manuais para o uso de ferramentas de configuração e implantação, como Ansible ou Salt .

Checkmk é frequentemente usado em ambientes muito grandes distribuídos, onde um grande número de sites (por exemplo, 300 locais da Faurecia ) e / ou bem mais de 100.000 dispositivos (por exemplo, Edeka ) são monitorados. Isso é possível, entre outras coisas, porque o microcore do Checkmk consome muito menos recursos da CPU do que, por exemplo, o Nagios e, portanto, oferece um desempenho significativamente maior no mesmo hardware. Além disso, os dados não persistentes são armazenados na memória RAM, o que melhora significativamente o tempo de acesso.

Componentes

O núcleo de monitoramento ("Checkmk Microcore - CMC")

As edições comerciais do Checkmk usam seu próprio núcleo de monitoramento, escrito em C ++. Este tem um desempenho muito maior do que o núcleo do Nagios. Além disso, a partir da versão 1.6 permite o registro dinâmico de objetos com vida útil curta, como Containers. Isso é possível porque - em contraste com o núcleo do Nagios - o Checkmk Microcore não requer uma reinicialização ao fazer alterações na configuração. A versão de código aberto "Checkmk Raw Edition" atualmente ainda usa o núcleo do Nagios.

Configuração e verificação do motor

Checkmk oferece descoberta de serviço independente e geração de configurações. Checkmk usa seu próprio método ao realizar as verificações . Durante o período de teste, cada host é contatado apenas uma vez. Os resultados do teste são transmitidos ao núcleo de monitoramento como verificações passivas . Isso melhora significativamente o desempenho no servidor de monitoramento , bem como nos hosts que estão sendo monitorados.

Checkmk usa métodos diferentes para acessar os dados nos sistemas de destino. Isso inclui agentes instalados no sistema de destino, "agentes especiais" em execução no servidor de monitoramento e se comunicando com a API do sistema de destino, a API SNMP para monitoramento, por exemplo, dispositivos de rede e impressoras e protocolos HTTP / TCP para se comunicar com serviços da Web e da Internet. Por padrão, Checkmk segue o "princípio pull", ou seja, os dados são consultados explicitamente pelo sistema de monitoramento para identificar rapidamente quando um sistema falha repentinamente e não responde a um "pull". Como alternativa, no entanto, um "push" pode ser configurado com o qual o sistema transfere seus dados diretamente para o Checkmk ou para um host intermediário.

Interface de dados ("Livestatus")

Livestatus é a interface principal do Checkmk. Ele fornece acesso ao vivo a todos os dados dos hosts e serviços monitorados. Os dados são obtidos diretamente da RAM, o que evita acesso lento ao disco rígido e dá acesso rápido às informações sem sobrecarregar muito o sistema. O acesso é feito através de um protocolo simples e é possível a partir de todas as linguagens de programação sem a necessidade de uma biblioteca especial.

Web-GUI ("Multisite")

Multisite é a interface web da Checkmk. Além de ter um layout de página rápido, oferece visualizações e painéis definíveis pelo usuário, monitoramento distribuído pela integração de várias instâncias de monitoramento via Livestatus, integração de NagVis, uma conexão LDAP integrada , acesso a dados de status por meio de serviços da web e muito mais. Painéis e visualizações podem ser diferenciados para vários usuários ou grupos de usuários, por exemplo, visualizações específicas do vSphere para administradores de VMware. A GUI da web está atualmente disponível em alemão e inglês.

Administração da Web ("WATO")

A Ferramenta de Administração da Web torna um sistema baseado em Checkmk totalmente administrável por meio do navegador . Isso inclui o gerenciamento de usuários, funções, grupos, períodos de tempo e muito mais. As permissões podem ser concedidas de maneira granular usando um conceito de função. Os controles de acesso baseados em funções existentes (LDAP, AD) podem ser usados ​​para isso. O WATO funciona com base em regras, de forma que a configuração permanece intuitiva mesmo em ambientes complexos e o esforço necessário é reduzido. A descoberta e configuração automáticas, bem como a atualização automática do agente, aceleram ainda mais o processo de configuração. Uma API HTTP também pode ser usada para integrar CMDBs para configuração acelerada.

Sistema de Alerta

Vários canais de notificação podem ser definidos e configurados com regras diferentes para cada usuário. Por exemplo, os e-mails podem ser disparados a qualquer hora do dia, mas as notificações por SMS são enviadas apenas para questões importantes durante o horário de plantão. As notificações podem ser definidas para todas ou para equipes específicas, por exemplo, notificar apenas os administradores de armazenamento sobre uma unidade de disco rígido com falha. As notificações duplicadas são agrupadas para que nenhum usuário seja notificado duas vezes por meio de um canal específico. Além disso, os próprios usuários podem configurar suas próprias notificações. Em ambientes distribuídos, os alertas podem ser gerenciados centralmente. Para problemas detectados, as ações podem ser disparadas automaticamente (controle de alarme) por meio de scripts. Checkmk inclui integrações para enviar e-mail e gateways SMS , bem como à comunicação e TI soluções de gerenciamento de serviços, como Slack , Jira , PagerDuty , OpsGenie, VictorOps e ServiceNow .

Business Intelligence

O módulo de BI é integrado à interface gráfica do usuário. Ele agrega o status geral dos processos de negócios, sua dependência de aplicativos complexos e elementos de infraestrutura de TI de muitos hosts e serviços individuais de uma maneira baseada em regras. Ele também pode ser usado para representar aplicativos compostos de microsserviços, que por sua vez consistem em pods e implantações do Kubernetes. Além disso, os piores cenários podem ser simulados em tempo real e os dados históricos podem ser analisados ​​para compreender as causas da degradação do desempenho.

Console de Eventos

O console de eventos integra o processamento de mensagens de log e traps SNMP no monitoramento. Ele é configurado por meio de um conjunto flexível de regras e decide se as mensagens recebidas serão descartadas ou como serão classificadas. Ele pode contar, correlacionar, esperar mensagens, reescrever mensagens e muito mais. Entradas semelhantes podem ser agrupadas em um único evento (por exemplo, vários logins com falha) para controlar os eventos. Ele também possui um daemon syslog integrado que recebe mensagens diretamente na porta 514 e um receptor de trap SNMP que recebe traps na porta 162.

Gráfico de métricas

As edições comerciais da Checkmk usam seu próprio sistema de métricas e gráficos. Isso permite que as métricas de série temporal sejam analisadas em longos intervalos usando gráficos HTML5 interativos. A resolução máxima é de um segundo. Os dados podem ser importados de uma variedade de fontes de dados e formatos de métricas ( JSON , XML , SNMP etc.) e armazenados no disco de um dispositivo de armazenamento de dados de longo prazo.

Como alternativa, Graphite ou InfluxDB pode ser conectado por meio de uma interface de exportação. A partir do CEE versão 1.5p16, há também um plug-in disponível para integração de dados diretamente do Checkmk no Grafana para fins de visualização. O Checkmk Raw Edition atualmente usa PNP4Nagios como seu sistema gráfico.

Comunicando

Os relatórios permitem a entrega direta de relatórios em PDF , ad-hoc ou automaticamente, em intervalos regulares. Inclui a análise de disponibilidade na qual o histórico dos estados ao longo de qualquer período de tempo desejado pode ser fornecido com um clique. Os cálculos de disponibilidade podem excluir tempos não monitorados, ajustar a resolução ou ignorar intervalos curtos. Além dos cálculos de disponibilidade, os relatórios também incluem relatórios de SLA, nos quais SLAs complexos podem ser monitorados. O relatório está disponível apenas nas versões comerciais do Checkmk.

Inventário de Hardware / Software

O inventário de hardware / software pode ser usado, por exemplo, para monitorar mudanças de hardware e software, para verificar a presença de atualizações de segurança instaladas e para atualizar dados estáticos com parâmetros dinâmicos (por exemplo, atualizar as estatísticas de uso de disco atuais com base em dados de monitoramento ) O i-doit do Configuration Management Database (CMDB) possui uma integração profunda que permite a troca de dados do CMDB com os dados de monitoramento.

Veja também

Referências

  1. ^ tribe29 GmbH (2021-08-12). "Checkmk versão estável 2.0.0p9" . Anúncio Checkmk .
  2. ^ "Checkmk EULA" (PDF) . tribe29 GmbH. Arquivado do original (PDF) em 21/08/2019 . Página visitada em 31/05/2019 .
  3. ^ "Casos de uso" . tribe29 GmbH . Página visitada em 15/06/2019 .
  4. ^ "Edições Checkmk" . tribe29 GmbH . Retirado 2015-11-27 .
  5. ^ "Monitoramento de TI de código aberto com Checkmk" . tribe29 GmbH . Recuperado em 01-07-2019 .
  6. ^ "Baixar versão" . tribe29 GmbH . Página visitada em 10/07/2019 .
  7. ^ "Agentes de monitoramento" . tribe29 GmbH . Página visitada em 12/06/2019 .
  8. ^ "Mathias Kettner (check_mk)" . Conheça a comunidade . Nagios Enterprises. 17-08-2009. Arquivado do original em 06/01/2012 . Retirado 2015-11-27 .
  9. ^ Rieger, Götz (2012-11-03). "Einfach mal Nagios - Netzwerk-Monitoring mit OMD und Check_MK" (em alemão). c't . p. 190 . Retirado 2015-11-27 .
  10. ^ Huber, Mathias (09/03/2011). "Nagios-Erweiterung Check_mk in Version 1.1.10" (em alemão). Linux Magazine . Retirado 2015-11-27 .
  11. ^ Siering, Peter (31/05/2017). "Monitoring-System Check_MK in frischer Version 1.4.0" (em alemão). Heise Online . Recuperado em 31-05-2017 .
  12. ^ Kettner, Mathias. "O micro core Checkmk (CMC)" . Página visitada em 05-12-2018 .
  13. ^ "Anúncio da comunidade Checkmk 1.5 Plus (1.5.p12)" . tribe29 GmbH. 17/02/2019 . Página visitada em 11/07/2019 .
  14. ^ "tribe29 - Nossa história" . tribe29 GmbH . Página visitada em 14/06/2019 .
  15. ^ Mueller, Christian (17/04/2019). "Grafana Data Source Plugin" . GitHub . Página visitada em 09/07/2019 .
  16. ^ "Descoberta automática de serviço" . tribe29 GmbH . Recuperado em 17/02/2017 .
  17. ^ "Monitoramento de ambientes altamente dinâmicos" . tribe29 GmbH . Página visitada em 07/05/2019 .
  18. ^ "Integração Ansible com Checkmk" . GitHub . 01/05/2019 . Página visitada em 08/05/2019 .
  19. ^ "Integração do Salt com Checkmk" . GitHub . 02/05/2019 . Página visitada em 09/05/2019 .
  20. ^ "Implantação global de Check_MK na Faurecia" . 23/10/2018 . Página visitada em 23/10/2018 .
  21. ^ "EDEKA Vortrag" (em alemão). 12-05-2017 . Recuperado em 12-05-2017 .
  22. ^ Heike Jurzik, Marcel Arentz (01/07/2019). "vSphere-Monitoring mit Checkmk" (em alemão). Linux-Magazin . Página visitada em 02/07/2019 .

links externos