Check MK

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Checkmk
software
Logo
Logo
GenereMonitor di sistema
SviluppatoreCheckmk GmbH
Data prima versione2008
Ultima versione2.2.0 - 23 Maggio 2023[1]
Sistema operativoLinux
LinguaggioC++
Python
LicenzaGNU General Public License
(licenza libera)
Sito webwww.checkmk.com

Checkmk (in origine Check MK) è un software sviluppato nei linguaggi Python e C++ per il monitoraggio di infrastrutture informatiche. È utilizzato per il controllo di server, applicazioni, reti, infrastrutture cloud (pubbliche, private, ibride), container, memorie, database e sensori ambientali.[2]

Checkmk è disponibile in quattro edizioni:[3] un'edizione open source (Checkmk Raw Edition, CRE)[4], un'edizione per imprese (Checkmk Enterprise Edition, CEE), un'edizione per imprese dotata di funzionalità cloud avanzate (Checkmk Cloud Edition, CCE), un'edizione commerciale per i fornitori di servizi gestiti (Checkmk Managed Services Edition, CME). Vengono inoltre offerti dispositivi fisici con vari dimensionamenti, in aggiunta ad un device virtuale, per semplificare l'amministrazione del sistema operativo sottostante attraverso un'interfaccia utente grafica e consentire soluzioni ad elevata disponibilità.

Gli agenti utilizzati da Checkmk per collezionare i dati sono disponibili per 11 piattaforme, incluso Windows.[5]

Storia[modifica | modifica wikitesto]

Checkmk nasce nel 2008 come agent sostitutivo inforcato da Inetd, e viene pubblicato nell'aprile 2009 sotto licenza GPL.[6] Inizialmente basato su Nagios, è stato ampliato con una serie di nuovi componenti[7][8]. L'edizione open source (Checkmk Raw Edition) continua a basarsi sul "motore" Nagios, e lo integra con una serie di componenti open source fornendo un sistema completo di monitoraggio[9].

Nel corso degli anni le edizioni commerciali di Checkmk si sono evolute in un vero e proprio sistema di monitoraggio autonomo - che ha via via sostituito tutti i componenti essenziali di Nagios con i propri - incluso il "motore" di monitoraggio che ora non è più Nagios ma CMC (Checkmk Micro Core).[10] La maggior parte degli sviluppi per le edizioni commerciali, ed in particolare tutti i plug-in, sono disponibili anche nell’edizione Checkmk Raw.

Mentre in passato il software era stato progettato per il monitoraggio di ambienti on-premise di grandi dimensioni ed eterogenei, a partire dalla versione 1.5 (1.5p12) è inoltre supportato il monitoraggio dei servizi AWS, Azure, Docker e Kubernetes[11].

Checkmk è stato sviluppato da Checkmk GmbH[12] a Monaco di Baviera, in Germania, che fino al 16 aprile 2019 operava con il nome di Mathias Kettner GmbH. Insieme alla modifica del nome dell'azienda, anche il nome del prodotto "Check MK" è stato cambiato in "Checkmk". Successivamente, il 14 aprile 2023, l'azienda è stata rinominata in Checkmk GmbH.

Checkmk GmbH segue un modello di business di tipo open core. L'edizione open source del software è disponibile con diverse licenze open source, principalmente GPLv2, mentre gran parte delle edizioni commerciali sono sotto licenza "Checkmk Enterprise License".

Il prodotto[modifica | modifica wikitesto]

Checkmk combina tre tipi di monitoraggio IT:

  • monitoraggio basato sullo stato (status-based), che tramite valori-soglia registra la “salute" di un dispositivo o di un'applicazione;
  • monitoraggio basato su metriche, che consente la registrazione e l'analisi di grafici di serie temporali. Per la CEE è disponibile sia un sistema grafico basato su HTML5 sia un'integrazione con Grafana[13].
  • monitoraggio basato su log e su eventi, in cui gli eventi chiave possono essere filtrati scatenando azioni di diverso tipo in base alle proprie esigenze.

Al fine di garantire un monitoraggio molto ampio, Checkmk attualmente utilizza oltre 1700 plug-in disponibili in tutte le edizioni con licenza GPLv2. Questi plug-in vengono mantenuti come parte del prodotto e regolarmente integrati con altri programmi o estensioni aggiuntive. È anche possibile collegare plug-in Nagios legacy esistenti.

Per semplificare l'installazione ed il funzionamento, tutti i componenti di Checkmk vengono già forniti in modo completamente integrato con il sistema. Una configurazione 1: n basata su regole ed un elevato grado di automazione accelerano significativamente i flussi di lavoro. Ciò comprende:

  • rilevamento automatico di host (ove applicabile);
  • rilevamento automatico di servizi[14]
  • configurazione automatizzata dei plug-in tramite valori-soglia e regole preconfigurate;
  • aggiornamento automatico degli agenti (una funzionalità CEE);
  • configurazione automatica e dinamica che consente il monitoraggio di servizi volatili con una durata di pochi secondi, ad esempio nell'ambiente Kubernetes (a partire da CEE v1.6)[15]
  • rilevamento automatico di tag ed etichette da fonti come Kubernetes, AWS e Azure (a partire da CEE v1.6).

Inoltre, sono disponibili playbook per l'uso di strumenti di configurazione e distribuzione come Ansible[16] o Salt[17].

Checkmk viene spesso utilizzato in ambienti molto grandi con un elevato numero di siti da monitorare (ne è un esempio Faurecia, con le sue 300 filiali[18]) o molti dispositivi (ad esempio Edeka che ne monitora più di 100.000[19]). Ciò è possibile perché il microcore di Checkmk consuma molte meno risorse della CPU rispetto a Nagios, ed offre quindi prestazioni significativamente più elevate sullo stesso hardware. Inoltre, i dati non persistenti vengono archiviati nella memoria RAM, migliorando notevolmente i tempi di accesso.

Componenti[modifica | modifica wikitesto]

Il Monitoring Core ("Checkmk Microcore - CMC")[modifica | modifica wikitesto]

Le edizioni commerciali di Checkmk utilizzano il proprio core di monitoraggio, scritto in C ++. Questo fornisce prestazioni molto più elevate rispetto al core Nagios. Inoltre, a partire dalla versione 1.6 consente la registrazione dinamica di oggetti con una breve durata, come le classi container. Ciò è possibile perché, diversamente dal core Nagios, Checkmk Microcore non richiede un riavvio quando si apportano modifiche alla configurazione. La versione open source "Checkmk Raw Edition" attualmente utilizza ancora il core Nagios.

Configurazione e controllo[modifica | modifica wikitesto]

Il software offre il rilevamento automatico dei servizi e la generazione della relativa configurazione, utilizzando un proprio metodo per l'esecuzione dei controlli. Durante il periodo di osservazione ogni host viene contattato una sola volta. I risultati dei controlli vengono trasmessi al nucleo di monitoraggio sotto forma di controlli passivi. Ciò migliora significativamente le prestazioni sul server di monitoraggio, nonché sugli host monitorati.

Checkmk utilizza diversi metodi per accedere ai dati nei sistemi di destinazione. Questi includono agenti installati nel sistema di destinazione, agenti “speciali” in esecuzione sul server di monitoraggio che comunicano con l'API del sistema di destinazione, API SNMP per il monitoraggio di dispositivi di rete e stampanti, nonché protocolli HTTP/TCP TCP con cui comunicare con servizi web. Nella sua impostazione predefinita, Checkmk segue il "principio pull", con cui i dati vengono esplicitamente interrogati dal sistema di monitoraggio per identificare rapidamente sistemi che improvvisamente si guastano e non rispondono alla richiesta "pull". In alternativa è possibile configurare una "push" con la quale il sistema trasferisce i propri dati direttamente a Checkmk o ad un host intermedio.

Interfaccia dati ("Livestatus")[modifica | modifica wikitesto]

Livestatus è l'interfaccia principale di Checkmk. Fornisce accesso in tempo reale a tutti i dati degli host e dei servizi monitorati. I dati vengono recuperati direttamente dalla RAM, evitando un lento accesso al disco rigido e consentendo un rapido accesso alle informazioni senza sovraccaricare troppo il sistema, il tutto tramite un semplice protocollo adatto a tutti i linguaggi di programmazione e senza richiedere speciali librerie.

Web-GUI ("Multisite")[modifica | modifica wikitesto]

Multisite è la GUI web di Checkmk. Oltre ad avere un layout di pagina rapido, offre viste e dashboard definibili dall'utente, monitoraggio distribuito integrando più istanze di monitoraggio tramite Livestatus, integrazione di NagVis, una connessione LDAP integrata, accesso ai dati di stato tramite servizi Web e molto altro. Dashboard e viste possono essere differenziate per vari utenti o gruppi di utenti, ad esempio configurazioni[20] specifiche di vSphere per amministratori VMware. La GUI Web è attualmente disponibile in diverse lingue.

Amministrazione web ("WATO")[modifica | modifica wikitesto]

Il sistema di amministrazione Web rende un sistema basato su Checkmk completamente gestibile tramite il browser. Ciò include la gestione di utenti, ruoli, gruppi, ed altro ancora. Le autorizzazioni possono essere concesse in modo granulare usando un concetto di ruolo. A tale scopo è possibile utilizzare controlli di accesso basati sul ruolo (LDAP, AD) esistenti. WATO funziona in base alle regole, in modo che la configurazione rimanga intuitiva anche in ambienti complessi senza richiedere sforzi eccessivi. Il rilevamento e la configurazione automatica, nonché l'aggiornamento automatico degli agenti, accelerano ulteriormente il processo di configurazione. È inoltre disponibile un'API HTTP che può essere utilizzata per l'integrazione con i sistemi CMDBs al fine di velocizzare la configurazione.

Alert e notifiche[modifica | modifica wikitesto]

Il sistema offre la possibilità di impostare e configurare diverse opzioni di notifica, con settaggi differenti per ogni utente. Ad esempio, le email possono essere inviate in qualsiasi momento della giornata, ma le notifiche via SMS si riservano solo per questioni di primaria importanza durante l'orario non lavorativo. Le notifiche possono inoltre essere differenziate in base ai team di competenza (ad esempio, per informare lo storage administrator del guasto di un hard disk), ed il sistema consente di raggruppare notifiche identiche in modo che nessun utente le riceva più volte all'interno dello stesso canale. Inoltre, gli utenti possono liberamente configurare le impostazioni di notifica. In ambienti più vasti, gli alert possono essere gestiti centralmente. Per i problemi rilevati, possono essere attivati automaticamente tramite script. Checkmk include integrazioni con sistemi di comunicazione e-mail SMS, e soluzioni di gestione dei servizi di comunicazione IT come Slack, Jira, PagerDuty, OpsGenie, VictorOps e ServiceNow.

Business Intelligence[modifica | modifica wikitesto]

Il modulo BI è integrato nell'interfaccia utente grafica. Mostra lo stato generale dei processi aziendali, la loro dipendenza da applicazioni complesse ed elementi dell'infrastruttura IT ricavati da singoli host e servizi, basandosi su regole. Può anche essere usato per rappresentare applicazioni costituite da microservizi, che a loro volta sono costituiti da pod e distribuzioni di Kubernetes. Inoltre, gli scenari peggiori possono essere simulati in tempo reale e i dati storici possono essere analizzati per comprendere le cause del degrado delle prestazioni.

Event Console[modifica | modifica wikitesto]

La Event Console integra l'elaborazione dei messaggi di log e delle trap SNMP nel monitoraggio. È configurato tramite un set flessibile di regole e decide se i messaggi in arrivo devono essere eliminati o come devono essere classificati. Può contare, correlare, aspettarsi messaggi, riscriverli ed altro ancora. Voci simili possono essere raggruppate in un singolo evento (esempio: tentativi di login falliti) per tenere traccia degli eventi. Ha anche un programma syslog incorporato che riceve i messaggi direttamente sulla porta 514, ed un ricevitore trap SNMP che riceve trap sulla porta 162.

Metrics Graphing[modifica | modifica wikitesto]

Le edizioni Checkmk commerciali utilizzano il proprio sistema metrico e grafico. Ciò consente di analizzare le metriche delle serie temporali su lunghi intervalli utilizzando grafici HTML5 interattivi. I dati possono essere importati da una varietà di fonti ed in più formati di metriche (JSON, XML, SNMP ecc.) ed archiviati sul disco di un dispositivo di archiviazione dati a lungo termine.

In alternativa, Graphite o InfluxDB possono essere collegati tramite un'interfaccia di esportazione. Dalla versione CEE 1.5p16 è inoltre disponibile un plug-in per l'integrazione dei dati direttamente da Checkmk in Grafana a scopo di visualizzazione. La Checkmk Raw Edition attualmente utilizza PNP4Nagios come sistema grafico.

Reporting[modifica | modifica wikitesto]

ll reporting permette la consegna diretta di report PDF, anche automaticamente, a intervalli regolari. Include la possibilità di richiamare gli storici della disponibilità di un dato prodotto, con un semplice click, su qualsiasi intervallo di tempo. I calcoli della disponibilità possono escludere tempi non monitorati o ignorare brevi intervalli. Oltre ai calcoli sulla disponibilità, i report includono anche i dati sugli SLA in cui è possibile monitorare SLA complessi. Il servizio di reporting è disponibile solo nelle versioni commerciali di Checkmk.

Monitoraggio hardware/software[modifica | modifica wikitesto]

Il sistema di monitoraggio hardware / software gestisce l'inventario di tutti gli hardware ed i software installati su dispositivi e sistemi. Questo può essere utilizzato, ad esempio, per monitorare le modifiche relative ad hardware e software, per verificare la presenza di aggiornamenti di sicurezza installati e per eseguire un update di dati statici con parametri dinamici (ad esempio, aggiornando le attuali statistiche sull'utilizzo del disco in base ai dati di monitoraggio). Il database di gestione della configurazione (CMDB) i-doit ha una integrazione che consente lo scambio di dati CMDB con i dati di monitoraggio.

Note[modifica | modifica wikitesto]

  1. ^ (EN) tribe29 GmbH, Checkmk stable release 1.6.0p3 [collegamento interrotto], in Checkmk Announcement, 3 ottobre 2019.
  2. ^ Checkmk Latest version, su checkmk.com, Checkmk GmbH. URL consultato il 5 giugno 2023.
  3. ^ Checkmk Editions, su checkmk.com, tribe29 GmbH. URL consultato il 27 novembre 2015.
  4. ^ Open Source IT monitoring with Checkmk, su checkmk.com, tribe29 GmbH. URL consultato il 1º luglio 2019.
  5. ^ Monitoring Agents, su checkmk.com, tribe29 GmbH. URL consultato il 12 giugno 2019.
  6. ^ Mathias Kettner (check_mk), in Meet The Community, Nagios Enterprises, 17 agosto 2009. URL consultato il 27 novembre 2015 (archiviato dall'url originale il 6 gennaio 2012).
  7. ^ (DE) Götz Rieger, Einfach mal Nagios – Netzwerk-Monitoring mit OMD und Check_MK [collegamento interrotto], su heise.de, c’t, 3 novembre 2012, p. 190. URL consultato il 27 novembre 2015.
  8. ^ (DE) Mathias Huber, Nagios-Erweiterung Check_mk in Version 1.1.10, su linux-magazin.de, Linux Magazine, 9 marzo 2011. URL consultato il 27 novembre 2015.
  9. ^ (DE) Peter Siering, Monitoring-System Check_MK in frischer Version 1.4.0, su heise.de, Heise Online, 31 maggio 2017. URL consultato il 31 maggio 2017.
  10. ^ Mathias Kettner, The Checkmk micro core (CMC), su checkmk.com. URL consultato il 5 dicembre 2018.
  11. ^ Checkmk community announcement 1.5 Plus(1.5.p12), su lists.mathias-kettner.de, tribe29 GmbH, 17 febbraio 2019. URL consultato l'11 luglio 2019 (archiviato dall'url originale il 12 luglio 2019).
  12. ^ tribe29 - Our Story, su tribe29.com, tribe29 GmbH. URL consultato il 14 giugno 2019 (archiviato dall'url originale il 12 luglio 2019).
  13. ^ Christian Mueller, Grafana Data Source Plugin, su GitHub, 17 aprile 2019. URL consultato il 9 luglio 2019.
  14. ^ Automatic Service Discovery, su checkmk.com, tribe29 GmbH. URL consultato il 17 febbraio 2017.
  15. ^ Monitoring of highly dynamic environments, su youtube.com, tribe29 GmbH. URL consultato il 7 maggio 2019.
  16. ^ Ansible integration with Checkmk, su GitHub, 1º maggio 2019. URL consultato l'8 maggio 2019.
  17. ^ Salt integration with Checkmk, su GitHub, 2 maggio 2019. URL consultato il 9 maggio 2019.
  18. ^ Global deployment of Check_MK at Faurecia, su youtube.com, 23 ottobre 2018. URL consultato il 23 ottobre 2018.
  19. ^ (DE) EDEKA Vortrag, su becon.de, 12 maggio 2017. URL consultato il 12 maggio 2017.
  20. ^ (DE) Heike Jurzik, Marcel Arentz, vSphere-Monitoring mit Checkmk, su admin-magazin.de, Linux-Magazin, 1º luglio 2019. URL consultato il 2 luglio 2019.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]