![]() |
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introduzione

Checkmk Business Intelligence - è vero che sembra un nome un po' altisonante per quello che è fondamentalmente una cosa semplice. Ma questo nome descrive abbastanza bene il core del moduloBI di Checkmk. Si tratta di ricavare lo stato generale delle applicazioni business-critical dai numerosi valori di stato individuali e di presentarli in modo chiaro.
Prendiamo ad esempio il servizio e-mail, ancora indispensabile per molte aziende, che si basa sul corretto funzionamento di una serie di componenti hardware e software: dagli switch specifici, ai servizi SMTP e IMAP, fino ai servizi di infrastruttura come LDAP e DNS.
Il guasto di un elemento essenziale non rappresenta un problema se è stato progettato per essere ridondante. Al contrario, un problema può verificarsi in un servizio che a prima vista non ha nulla a che fare con l'e-mail, ma che può avere effetti molto più gravi. Un semplice elenco di servizi in Checkmk non è sempre significativo, almeno non per tutti!
Checkmk BI ti permette di ricavare una sintesi della salute complessiva di un'applicazione dallo stato attuale dei singoli host e servizi. Utilizzi le regole BI per definire, in una struttura ad albero, l'interdipendenza tra i vari elementi. Ogni applicazione viene quindi classificata complessivamente OK, WARN o CRIT. Le informazioni sulla condizione e sulle dipendenze sono accessibili in vari modi:
Visualizzazione dello stato generale di un'applicazione nella GUI.
Calcolo della disponibilità di un'applicazione.
Notifiche in caso di problemi o addirittura di fallimento di un'applicazione.
Analisi dell'impatto: Un servizio è in stato di CRIT: quali applicazioni sono interessate?
Pianificazione dei tempi di manutenzione e analisi di "cosa succede se...?".
Inoltre, è possibile utilizzare la rappresentazione ad albero nella BI per una visualizzazione "esamina" dello stato di un host e di tutti i suoi servizi.
Una caratteristica distintiva della regola BI di Checkmk, a differenza di altri strumenti analoghi nel campo del monitoraggio, è che qui Checkmk lavora anche con una struttura basata sul monitoraggio rule-based, che ti permette di descrivere dinamicamente un numero indefinito di applicazioni simili con un set generico di regole. Questo facilita enormemente il lavoro e aiuta a evitare errori, soprattutto in ambienti molto dinamici.

2. Configurazione Parte 1: la prima aggregazione
2.1. Terminologia
Prima di iniziare a lavorare passo dopo passo all'applicazione pratica della BI, è necessario conoscere alcuni termini:
Ogni applicazione formalizzata con la BI è chiamata Aggregazione, poiché uno stato generale è aggregato da molti stati individuali.
Un'aggregazione è costruita come un "albero" di oggetti. I nodi inferiori - le foglie dell'albero - sono gli host e i servizi delle tue istanze Checkmk. I nodi rimanenti sono oggetti BI creati artificialmente.
Ogni nodo è creato da una regola. Questo vale anche per la radice dell'albero, il nodo più alto. Queste regole determinano quali nodi si trovano sotto un altro nodo e come determinare, a partire dai loro stati, lo stato del nodo superiore.
Anche il nodo superiore di un'aggregazione - la radice dell'albero - viene generato con una regola. In questo modo una regola può generare più aggregazioni.
2.2. Un esempio
Il modo più semplice per capirlo è utilizzare un esempio concreto. Per questo articolo abbiamo pensato a una "applicazione misteriosa". Supponiamo che si tratti di un'applicazione importante in un'azienda non specificata. Tra le altre cose, cinque server e due switch di rete svolgono un ruolo importante. Per farti capire meglio l'esempio, utilizziamo nomi semplici come srv-mys-1
o switch-1
. Il diagramma seguente offre una panoramica della struttura:

I due server
srv-mys-1
esrv-mys-2
formano un cluster ridondante su cui gira l'applicazione vera e propria.srv-db
è un server database che archivia i dati dell'applicazione.switch-1
eswitch-2
sono due router ridondanti che collegano la rete dei server a una rete superiore.In ognuno di essi è presente un timer
srv-ntp
che garantisce un tempo esattamente sincrono.Inoltre, il server
srv-spool
lavora qui e passa i risultati calcolati dall'applicazione Mystery in una directory di spool.Dalla directory di spool i dati vengono prelevati da un misterioso servizio padre.
Se vuoi eseguire i passaggi seguenti uno alla volta, puoi semplicemente replicare gli oggetti di monitoraggio come mostrato nel nostro esempio. Per un test è sufficiente clonare più volte un host esistente e nominare i cloni di conseguenza. In seguito dovrai aggiungere alcuni servizi, per i quali avrai il tempo di registrare i relativi host nel monitoraggio. Anche in questo caso puoi imbrogliare: con semplicicheck locali fittizi otterrai rapidamente servizi corrispondenti con cui giocare.
Gli host avranno quindi un aspetto simile a questo nel monitoraggio:

2.3. La tua prima regola BI
Inizia con qualcosa di semplice, con l'aggregazione più semplice possibile: un'aggregazione con solo due nodi. Vuoi riassumere gli stati degli host switch-1
e switch-2
. L'aggregazione dovrebbe chiamarsi Rete e dovrebbe essere OKse entrambi gli switch sono disponibili. In caso di guasto parziale, dovrebbe passare aWARN e, se entrambi gli switch sono spenti, a CRIT.

Iniziare: configurare la BI tramite Setup > Business Intelligence > Business Intelligence.La configurazione delle regole e delle aggregazioni viene eseguita all'interno dei pacchetti di configurazione - i pacchetti BI. I pacchetti non sono solo pratici perché con essi puoi gestire meglio le configurazioni più complesse: puoi anche applicare dei permessi a un pacchetto e assegnare a determinati gruppi di contatto - e persino consentire agli utenti senza diritti di amministrazione - i permessi per modificare parti della configurazione. Ma di questo parleremo più avanti...
La prima volta che richiami il modulo BI, il risultato dovrebbe essere questo:

È già presente un pacchetto intitolato Default Pack che contiene una demo per un'aggregazione che riassume i dati di un singolo host.
Per questo esempio è meglio creare un nuovo pacchetto - con il pulsante Add BI Pack - che chiamerai Mystery. Come sempre in Checkmk, specifica un ID interno (mystery
) che non può essere modificato in seguito e un titolo descrittivo. L'opzione Public è necessaria per gli altri utenti che desiderano utilizzare le regole di questo pacchetto per le proprie regole o aggregazioni. Poiché probabilmente vuoi fare i tuoi esperimenti da solo in tutta tranquillità, lascia questa opzione disabilitata:

Dopo la creazione, troverai due pacchetti nell'elenco principale:

Ogni voce è accompagnata da un simbolo per modificare le proprietà () e da un simbolo per accedere al contenuto vero e proprio del Pacchetto (), che è il punto in cui vuoi andare ora. Una volta lì, crea subito la tua prima regola tramite Add rule.
Come sempre in Checkmk, anche questa regola deve avere un ID unico e un titolo. Il titolo della regola non ha solo una funzione di documentazione, ma in seguito sarà visibile anche come nome del nodo creato da questa regola:

Il box successivo si chiama Child Node Generation ed è il più importante. Qui specifichi quali oggetti di questo nodo devono essere riassunti. Possono essere altri nodi BI - per i quali sceglierai una regola BI diversa - oppure oggetti di monitoraggio, ad esempio host o servizi.
Per il primo esempio, seleziona la seconda variante (State of a host) e crea due oggetti come figli, ovvero i due host switch-1
e switch-2
. Questo si fa con il pulsante Add child node generator. Qui scegli naturalmente State of a host e inserisci un nome per ogni host:

Nel terzo e ultimo box, Aggregation Function, specifica come deve essere calcolato lo stato di monitoraggio del nodo. La base è sempre l'elenco degli stati dei sotto-nodi. Sono possibili diversi collegamenti logici.
La casella pre-selezionata è Best — take best of all node states. Ciò significa che il nodo diventa CRIT quando tutti i sottonodi sono CRIT o DOWN. Come già detto, questo non dovrebbe essere il caso. Scegli inveceCount the number of nodes in state OK per ottenere come parametro di riferimento il numero di sottonodi con statoOK. In questo caso vengono suggeriti i numeri 2 e 1 per le soglie, il che è ottimo perché è esattamente ciò di cui hai bisogno:
Se entrambi gli switch sono UP (questo viene considerato OK), anche il nodo dovrebbe essere OK.
Se solo uno switch è UP, lo stato diventa WARN.
Se entrambi gli switch sono DOWN, lo stato diventa CRIT.
Ecco come apparirà la maschera compilata:

Con un clic su Create otterrai la tua prima regola:

2.4. La tua prima aggregazione
Ora è importante capire che una regola non è ancora un'aggregazione. Checkmk non è ancora in grado di sapere se si tratta di tutto o solo di una parte di un albero più grande! I veri oggetti BI vengono creati e diventano visibili nell'interfaccia di stato solo quando crei un'aggregazione. Per farlo, passa all'elenco delle aggregazioni.
Il pulsante ti porta a una maschera per la creazione di una nuova aggregazione. Qui c'è poco da compilare. Nel sito Aggregation groups puoi specificare qualsiasi nome a tua scelta. Questi nomi appaiono nell'interfaccia di stato come gruppi, sotto i quali sono visibili tutte le aggregazioni che condividono il nome del gruppo. In realtà si tratta dello stesso concetto degli hashtag o delle keyword.
Definisci il contenuto dell'aggregazione tramite Add new element.Seleziona il set di regole Call a rule e Rule: la regola che hai appena creato (e prima ancora il pacchetto di regole in cui si trova).

Se ora salvi l'aggregazione con , il gioco è fatto: la tua prima aggregazione dovrebbe apparire nell'interfaccia di stato, a patto che tu abbia almeno uno degli host switch-1
o switch-2
!
3. La BI in funzione Parte 1: La visualizzazione dello stato
3.1. Visualizzazione di tutte le aggregazioni
Se hai fatto tutto correttamente, ora potrai vedere la tua prima aggregazione nell'interfaccia di stato. Il modo più semplice per farlo è tramite Monitor > Business Intelligence > All Aggregations:

Creare visualizzazioni per la BI
Oltre alle visualizzazioni BI già pronte, puoi anche crearne di personalizzate. Per farlo, seleziona una delle fonti di dati BI quando crei una nuova visualizzazione.BI Aggregations fornisce informazioni sulle aggregazioni,BI Hostname Aggregations aggiunge filtri e informazioni per i singoli host,BI Aggregations affected by one host mostra solo le aggregazioni relative a un singolo host e BI Aggregations for Hosts by Hostgroups ti permette di distinguere tra gruppi di host.
3.2. Lavorare con l'albero
Dai un'occhiata più da vicino all'aspetto dell'albero della BI. L'esempio seguente mostra la mini-aggregazione in una situazione in cui uno dei due switch èDOWN e l'altro UP. Come desiderato, l'aggregazione entra nello stato WARN:

Puoi anche vedere che per standardizzare gli host e i servizi, l'host DOWN viene trattato quasi come un servizio CRIT. Allo stesso modo UP diventa OK.
Le foglie dell'albero mostrano gli stati degli host e dei servizi. Il nome dell'host - e per i servizi anche il nome del servizio - è cliccabile e ti porta allo stato attuale dell'oggetto corrispondente. Inoltre, puoi anche vedere l'ultimo output del plug-in di controllo.
A sinistra di ogni aggregazione troverai due simboli: e . Con il primo simbolo - - si accede a una pagina che mostra solo quella singola aggregazione. Questa è naturalmente utile soprattutto se hai creato più di un'aggregazione. Ad esempio, è molto adatta come segnalibro. ti porterà al calcolo della disponibilità. Maggiori informazioni in seguito.
3.3. Provare la BI: e se?
A sinistra del nome host troverai un simbolo interessante: . Questo permette di effettuare un'analisi "e se?". L'idea alla base è semplice: cliccando sul simbolo, l'oggetto passerà a un altro stato come test - ma solo per l'interfaccia BI - NON per la realtà! Più switch ti porteranno da (OK) a(WARN), (CRIT) e(SCONOSCIUTO), per poi tornare a .
La BI costruisce quindi l'albero completo in base allo stato ipotizzato. La figura seguente mostra l'aggregazione minima nell'ipotesi che accanto aswitch-1
, che si è effettivamente guastato, anche switch-2
sia DOWN:

Lo stato complessivo dell'aggregazione passa quindi da WARN a CRIT. Allo stesso tempo, il colore dello stato è supportato da un modello controllato. Questo schema indica che lo stato reale è effettivamente diverso. Non è sempre così, perché alcuni cambiamenti in un host o in un servizio non sono più rilevanti per la condizione generale, ad esempio se il servizio in questione è già CRIT.
Puoi utilizzare questa analisi "e se?" in diversi modi, ad esempio:
Per verificare se l'aggregazione BI reagisce nel modo desiderato.
Quando si pianifica la chiusura di un componente per manutenzione.
In quest'ultimo caso, come test imposta il dispositivo da manutenere o i suoi servizi su . Se l'intera aggregazione rimane OK, significa che il guasto può essere attualmente compensato dalla ridondanza.
3.4. Testare la BI utilizzando stati falsi
Esiste un altro modo per testare le aggregazioni BI: cambiando direttamente lo stato reale di un oggetto. Questo è particolarmente pratico in un sistema di test.
A questo scopo, i comandidispongono di un comando host/servizio chiamato Fake check results. Per impostazione predefinita è disponibile solo per il ruolo di Amministratore. Questo metodo è stato utilizzato, ad esempio, per la creazione delle schermate utilizzate in questo articolo dove switch-1
è stato impostato su DOWN. È da qui che proviene il testo rivelatoreManually set to Down by cmkadmin.


Ecco un piccolo suggerimento utile: se utilizzi questo metodo, è meglio disabilitare i check attivi per gli host e i servizi in questione, altrimenti al prossimo intervallo di controllo torneranno immediatamente al loro stato attuale. Se sei pigro, fallo a livello globale tramite l'elemento della barra laterale Master Control. Ma non dimenticare MAI di riattivarlo in seguito!
3.5. Gruppi BI
Durante la creazione dell'aggregazione abbiamo affrontato brevemente le possibilità dell'input Aggregation Groups. Nell'esempio hai semplicemente confermato l'elemento Main suggerito qui. Naturalmente sei completamente libero nell'assegnazione dei nomi e puoi anche assegnare un'aggregazione a più gruppi.
I gruppi diventano importanti quando il numero di aggregazioni è superiore a quello che puoi vedere su una schermata. Puoi accedere a un gruppo cliccando su uno dei nomi dei gruppi visualizzati nella pagina All aggregations - nell'esempio precedente si tratta semplicemente dell'intestazione Main. Naturalmente, se finora hai solo questa singola aggregazione non cambierà molto. Tuttavia, se guardi attentamente, te ne renderai conto:
Il titolo della pagina ora si chiama Aggregation group Main.
Il titolo del gruppo Main è scomparso.
Se vuoi visitare questa visualizzazione più spesso, ti basterà metterla tra i preferiti, preferibilmente con l'elemento Bookmarks nella barra laterale.
3.6. Dall'host/servizio all'aggregazione
Una volta impostate le aggregazioni BI, nel menu contestuale dei tuoi host e servizi troverai un nuovo simbolo:

Questo simbolo ti porta all'elenco di tutte le aggregazioni in cui è incluso l'host o il servizio in questione.
4. Configurazione Parte 2: alberi a più livelli
Dopo questa prima breve impressione dell'interfaccia di stato di BI, torniamo alla configurazione, perché ovviamente non puoi impressionare nessuno con una mini aggregazione come questa.
Si inizia con l'estensione dell'albero di un livello, cioè da due livelli (radice e foglie) a tre livelli (radice, livello intermedio, foglie). Per fare ciò, unisci i tuoi nodi esistenti "Switch 1 e 2" con lo stato di sincronizzazione temporale NTP in un nodo superiore "Infrastruttura".
Ma una cosa alla volta: prima di tutto, un'anteprima del risultato:

Il prerequisito è che ci sia un host srv-ntp
che ha un nome del servizio NTP Time
:

Per prima cosa crea una regola BI che come sottonodo 1 riceve la regola "Switch 1 & 2" e come sottonodo 2 riceve direttamente il servizio NTP Time
dell'host srv-ntp
. Nella parte superiore della regola, seleziona infrastructure
come ID della regola e Infrastructure come nome del servizio. A questo punto non devi inserire altre informazioni:

In Child Node Generation la situazione si fa interessante. La prima voce è ora del tipo Call a rule e come regola scegli la tua regola tra quelle precedenti, in modo da "appendere" effettivamente queste regole nel sottoalbero.
Il secondo sottonodo è di tipo State of a service e qui scegli il tuo servizio NTP Time
(osserva l'ortografia esatta, compresi i caratteri maiuscoli e minuscoli):

Questa volta imposta Aggregation Function nel terzo box suWorst - take worst state of all nodes.
In questa funzione lo stato del nodo deriva dallo stato peggiore di un servizio sottostante. In questo caso, se NTP Time
va in CRITanche il nodo va in CRIT.
Naturalmente, per rendere visibile il nuovo albero più grande, dovrai ancora una volta creare un'aggregazione. La cosa migliore è modificare l'aggregazione esistente in modo che d'ora in poi venga utilizzata la nuova regola:

In questo modo ti manterrai su un'unica aggregazione, che si presenterà come di seguito (questa volta entrambi gli switch sono di nuovo OK):

5. BI in funzione Parte 2: visualizzazioni alternative
5.1. Introduzione
Ora che hai un albero un po' più interessante puoi avvicinarti alle varie opzioni di visualizzazione offerte da CMK. Il punto di partenza è il sito Modify display options, al quale puoi accedere tramite il menu Display. Si apre un box con varie opzioni il cui contenuto è sempre conforme agli elementi mostrati nella pagina. Nel caso della BI sono attualmente disponibili quattro opzioni:

Espandi o chiudi istantaneamente gli alberi
Se non visualizzi una sola aggregazione, ma molte, allora l'impostazioneEspansione iniziale delle aggregazioni è utile. Qui puoi definire fino a che punto gli alberi devono essere dispiegati quando vengono visualizzati per la prima volta. La selezione va da chiuso (collapsed) sui primi tre livelli, a completamente aperto (complete).
Mostra solo i problemi
Se attivi l'opzione Mostra solo i problemi, negli alberi verranno visualizzati solo i rami che non hanno lo stato OK. L'aspetto sarà quindi il seguente:

Tipi di visualizzazione dell'albero
Sotto l'elemento Tipo di layout dell'albero troverai diversi tipi di visualizzazione alternativa per l'albero. Uno di questi si chiama Table: top downe si presenta in questo modo:

Estremamente poco ingombrante, soprattutto se vuoi vedere molte unità allo stesso tempo, è la visualizzazione Boxes. Qui ogni nodo è un box colorato che può essere espanso con un clic. La struttura ad albero non è più visibile, ma puoi cliccare rapidamente su un problema con il minimo ingombro. Nell'esempio i box sono completamente aperti:

5.2. Altre opzioni
Infine, puoi impostare un Refresh interval di 30, 60 o 90 secondi e specificare il numero di colonne tramite Entries per row.
5.3. Visivamente le aggregazioni BI
Dalla versione 1.6.0, oltre alle rappresentazioni tabellari Checkmk padroneggia anche la visualizzazione delle aggregazioni BI. Puoi visualizzare le aggregazioni da una nuova prospettiva, a volte più chiara. Troverai il sitoBI Visualization nella normale visualizzazione delle aggregazioni.

Puoi spostare liberamente l'albero cliccando sullo sfondo e scalare l'intera visualizzazione con la rotella del mouse. Non appena il puntatore del mouse si trova su un singolo nodo, ottieni le informazioni sullo stato associato al nodo tramite una finestra hover. Usa la rotella del mouse per scalare la lunghezza dei rami dell'albero.

Facendo clic sui nodi laterali si accede direttamente alle visualizzazioni dettagliate dell'host o del servizio. Cliccando con il tasto destro del mouse sugli altri nodi, a seconda del tipo di nodo, puoi accedere alle opzioni di visualizzazione e, ad esempio, alla regola responsabile -Edit rule nell'immagine seguente.

Personalizzare una visualizzazione
Le cose si fanno davvero interessanti con il sito Layout Designer, che si apre in alto, accanto al campo di ricerca. Prima di tutto, vedrai due nuovi elementi - Layout Configuration- e due nuovi simboli alla radice - e .
In una configurazione puoi scegliere tra diversi tipi di linea e puoi attivare il menu Node icons. Questo visualizzerà le icone che puoi specificare nelle regole per le aggregazioni BI nella sezione Funzione di aggregazione (raggiungibile direttamente tramite il menu contestuale del nodo). Utilizzando le icone e l'albero può essere visualizzato e, tramite clic e trascinamento, ruotato o scalato in lunghezza e larghezza. Nel box Style configuration appaiono anche altre opzioni di visualizzazione. Puoi trovare quelle più adatte alle tue esigenze semplicemente provando ciò che è disponibile.

Le maggiori possibilità di personalizzazione si trovano nei menu contestuali dei nodi, che nella modalità designer offrono quattro diverse visualizzazioni della gerarchia a partire da questo nodo:
Hierarchical style: L'impostazione standard con una gerarchia semplice.
Radial style: Un formato circolare con un settore di cerchio personalizzabile.
Leaf-Nodes Block style: I nodi foglia sono mostrati come un gruppo con uno sfondo grigio.
Free-Floating style: Un layout dinamico con opzioni quali l'attrazione, la spaziatura e la lunghezza dei rami.

I nodi a cui è stato assegnato uno stile possono essere posizionati ovunque. Anche le opzioni disponibili variano a seconda dello stile: con Radial style, in corrispondenza del nodo radice è presente un terzo simbolo che puoi utilizzare per limitare la visualizzazione a un settore di cerchio.
Con l'opzione Detach from parent style puoi staccare lo stile di un nodo dallo stile del suo nodo padre superiore, quindi configurare questi sottonodi in modo diverso e posizionarli liberamente.Include parent rotation ha anche lo stesso scopo di permetterti di includere o escludere i nodi genitori durante la rotazione.
Queste opzioni di stile sono praticamente tutte autoesplicative, solo Free-Floating stylenecessita di qualche spiegazione. Si tratta di un sistema di attrazione e repulsione come quello che conosci nelle simulazioni gravitazionali.
Center force strength |
Centro di gravità dei nodi. |
Repulsion force leaf |
Forza dell'effetto di repulsione delle foglie sugli altri nodi. |
Repulsion force branches |
Forza della repulsione dei nodi verso gli altri dello stesso ramo. |
Link distance leaf |
Distanza ideale dal nodo della foglia al nodo precedente. |
Link distance branches |
Distanza ideale dal nodo del ramo al nodo precedente. |
Link strength |
Forza con cui viene applicata la distanza ideale. |
Collision box leaf |
Dimensione dell'area del nodo foglia che respinge gli altri nodi. |
Collision box branch/leaf |
Dimensione dell'area del nodo del ramo che respinge altri nodi. |
L'immagine seguente mostra un ramo nel sito Free-Floating style- le posizioni delle singole foglie risultano dinamiche a seconda delle opzioni specificate.

Specificare gli stili di layout delle regole BI
Per le regole BI - a cui puoi accedere dal menu contestuale dei nodi - nel menu Rule Properties puoi assegnare i layout Hierarchical, Radialo Leaf-Nodes Block e impostare le relative opzioni.

La funzione di ricerca
La funzione di ricerca è di grande aiuto per gli alberi più grandi. Nel campo di ricerca di Search node puoi semplicemente inserire una parte del nome del nodo desiderato e ottenere un elenco di risultati direttamente e in diretta. Se ora usi il mouse per scorrere questo elenco di suggerimenti, il nodo dell'albero che si trova sotto il puntatore del mouse sarà evidenziato da un bordo blu: questo rende più facile un primo orientamento. Cliccando su un nodo dell'elenco, l'albero verrà centrato in quel punto. In questo modo, anche in visualizzazioni con centinaia di nodi potrai trovare rapidamente la sezione giusta dell'infrastruttura.

6. Configurazione Parte 3: Variabili, modelli e ricerche
6.1. Configurazione più intelligente
Continuiamo con la configurazione. Finora l'esempio è stato così semplice che è stato possibile elencare singolarmente tutti gli oggetti dell'aggregazione senza difficoltà. Ma se le cose si fanno più complesse? Se vuoi formulare molte dipendenze ricorrenti uguali o simili? Se un'applicazione non include una sola istanza, ma più istanze? Se vuoi unire centinaia di servizi individuali di un database in un unico nodo BI?
Ebbene, per queste esigenze hai bisogno di metodi di configurazione più potenti, che sono esattamente ciò che distingue Checkmk BI da altri strumenti - e purtroppo in questo caso la curva di apprendimento è un po' più ripida. Questo è anche il motivo per cui Checkmk BI non permette di essere configurato tramite "trascinamento". Tuttavia, una volta che ne conoscerai le possibilità, non vorrai più farne a meno.
6.2. I parametri
Prendiamo la seguente situazione: non solo vuoi sapere se i due switch sono UP, ma vuoi anche conoscere lo stato delle due porte responsabili dell'uplink. In termini generali, si tratta dei seguenti quattro servizi:

Ora il nodo Switch 1 & 2 deve essere esteso per sostituire i due stati host degli switch 1 e 2, in modo che ognuno di essi abbia un sottonodo che mostri lo stato host e le due interfacce di uplink. Questi due sottonodi dovrebbero essere Switch 1 o Switch 2.
In realtà hai bisogno di due nuove regole, una per ogni switch. È meglio creare una nuova regola <switch> e dotarla di un parametro. Questo parametro è una variabile che viene richiamata quando si richiama la regola dal nodo padre - che in questo caso può essere fornito dalla vecchia regola Switch 1 & 2
. In questo esempio puoi semplicemente passare un 1
o un 2
. Il parametro riceve un nome che puoi scegliere liberamente. Prendiamo ad esempio il nome NUMBER
. L'ortografia con le lettere maiuscole è puramente arbitraria e se trovi più belle le lettere minuscole sei libero di usarle.
L'intestazione della regola avrà questo aspetto:

Puoi scegliere switch
come ID della nuova regola. In parameterinserisci semplicemente il nome della variabile: NUMBER
. È importante che la variabile venga utilizzata nella regola Rule Title, in modo che entrambi i nodi non vengano chiamati solo switch
e quindi abbiano lo stesso nome. Quando si utilizza la variabile, viene impostato un segno di dollaro iniziale e finale, come di consueto in molti punti di Checkmk. Di conseguenza, i due nodi si chiameranno Switch 1
eSwitch 2
.
Il match inizio parola (prefisso) è l'impostazione predefinita per il nome del servizio
Per quanto riguarda Child node generator, la prima cosa da fare è inserire lo stato dell'host. Al posto di 1
o 2
nel nome host puoi semplicemente utilizzare la tua variabile, anche in questo caso con un prefisso iniziale e finale $
.
La stessa cosa accade con i nomi host delle interfacce di uplink. E qui arriva il secondo trucco: come potresti pensare dal piccolo elenco di servizi visto sopra, i servizi per l'uplink hanno nomi diversi in ogni switch! Ma questo non è un problema, perché BI interpreta sempre il nome del servizio come un match inizio parola (prefisso) utilizzando le espressioni regolari, in modo del tutto analogo al noto servizio di regole. Quindi, scrivendo semplicemente Interface Uplink
, catturerai tutti i servizi sul rispettivo host che inizianocon Interface Uplink
:

A proposito: Aggiungendo $
puoi disabilitare il comportamento del prefisso. Nelle espressioni regolari $
significa "Il testo deve terminare qui". Quindi Interface 1$
corrisponde solo a Interface 1
e non anche, ad esempio, a Interface 10
!
Ora modifica la vecchia regola Switch 1 & 2 in modo che, invece degli stati host, questa nuova regola venga invocata solo una volta per ciascuno dei due switch. Inoltre, qui i valori 1
e 2
vengono forniti come parametri per la variabile NUMBER
:

E voilà: ora hai un bell'albero a tre livelli:

6.3. Espressioni regolari, oggetti mancanti
L'argomento delle espressioni regolari merita ancora una volta un'analisi più approfondita. Quando si tratta di abbinare il nome del servizio, all'inizio abbiamo tacitamente sottinteso che si tratta fondamentalmente solo di espressioni regolari. Come appena detto, esiste un match parola (prefisso).
Quindi, in un nodo BI, se ad esempio alla voce nome del servizio specifichi disk
, tutti i servizi dell'host in questione che iniziano con Disk
verranno catturati.
In generale si applicano i seguenti principi:
Se un nodo fa riferimento a oggetti che non esistono (attualmente), questi vengono semplicemente omessi.
Se un nodo diventa vuoto, viene omesso.
Se anche il nodo principale di un'aggregazione è vuoto, l'aggregazione stessa verrà omessa.
Forse ti sembra un po' azzardato! Non è pericoloso omettere silenziosamente cose che dovrebbero essere presenti se mancano?
Beh, con il tempo ti accorgerai di quanto sia pratico questo concetto, perché ti permetterà di scrivere regole "intelligenti" in grado di reagire a situazioni molto diverse. C'è un servizio che non è presente in ogni istanza di un'applicazione? Non c'è problema: viene considerato solo se c'è! Oppure è possibile rimuovere temporaneamente host o servizi dal monitoraggio? In questo caso, questi spariscono semplicemente dalla BI senza causare errori o simili. La BI non è lì per vedere se la configurazione del monitoraggio è completa!
Per inciso, questo principio si applica anche ai servizi definiti esplicitamente, in quanto questi non esistono realmente perché i nomi del servizio vengono sempre visualizzati come espressioni regolari anche se non contengono caratteri speciali come .*
. Si tratta sempre automaticamente di un modello di ricerca.
6.4. Creare un nodo come risultato di una ricerca
Ma puoi comunque automatizzare ulteriormente e, soprattutto, reagire in modo flessibile ai cambiamenti. Continua con l'esempio dei due server applicativisrv-mys-1
e srv-mys-2
dell'esempio. L'albero dovrebbe continuare a crescere. Il nodo Infrastructure dovrebbe passare al livello 2. E come radice definitiva, dovrebbe esserci una regola con il titolo The Mystery Application sotto la quale tutto sarà sospeso. Accanto a Infrastructure dovrebbe esserci un nodo chiamato Mystery Servers. Sotto di esso dovrebbero essere sospesi i due server misteriosi (attualmente). In ognuno di essi vengono aggregati alcuni servizi generici. Il risultato dovrebbe essere simile a questo:

Regola di fondo: Server misterioso X
Inizia dal fondo, perché è sempre il modo più semplice nella regola BI. Qui sotto trovi la nuova regola Mystery Server X. Naturalmente hai un unico parametro, quindi non hai bisogno di una regola separata per ogni server. Puoi ancora una volta nominare il parametro NUMBER
, ad esempio. Dovrebbe poi avere il valore 1
o 2
. Come già fatto in precedenza, dovrai ancora una volta inserire NUMBER
nell'intestazione a Parameters.
Il generatore di nodi figlio risultante ha questo aspetto:

Ciò che segue è notevole:
Il nome host
srv-mys-$NUMBER$
utilizzerà il numero del parametro.Con Service: viene utilizzata la sofisticata espressione regolare
CPU|Memory
che utilizza una barra verticale per consentire nomi alternativi del servizio (prefissi) e che corrisponde a tutti i servizi che iniziano conCPU
oMemory
. In questo modo si risparmia un raddoppio della configurazione!
Per inciso, questo esempio non è necessariamente perfetto: ad esempio, lo stato dell'host stesso non è stato registrato. Quindi, se uno dei server va DOWN, i servizi su di esso diventeranno obsoleti ( stale), ma lo stato rimarrà OK e l'aggregazione non si "accorgerà" del guasto. Se vuoi sapere qualcosa del genere, oltre ai servizi dovresti in ogni caso registrare anche lo stato dell'host.
Regola di mezzo: Server misteriosi
Questa regola è interessante. Riassume i due server misteriosi in un nodo. Ora, è possibile che il numero di server non sia fisso e che in seguito ce ne siano tre o più, oppure che ci siano decine di istanze dell'applicazione misteriosa, ognuna con un numero diverso di server!
Il trucco sta nel generatore di nodi figlio del tipo Create nodes based on a host search che cerca gli host esistenti e crea i nodi in base agli host trovati. L'aspetto è questo:

Il tutto funziona in questo modo:
Si formula una condizione di ricerca per trovare gli host.
Per ogni host figlio trovato viene creato un nodo figlio.
Puoi tagliare parti dei nomi host trovati e fornirli come parametri.
Come al solito sono disponibili dei tag degli host. Nell'esempio puoi ometterli e utilizzare l'espressione regolare srv-mys-(.*)
per il nome host, che corrisponde a tutti i nomi host che iniziano con srv-mys-
. .*
è una stringa qualsiasi.
È importante che .*
sia tra parentesi, quindi (.*)
. Utilizzando le parentesi, la corrispondenza forma un cosiddetto gruppo. Con questo viene catturato (e memorizzato) il testo che corrisponde esattamente a .*
- qui 1
o 2
. I gruppi di corrispondenza sono numerati internamente. Qui ce n'è solo uno che riceve il numero 1. In seguito potrai accedere al testo corrispondente con $1$
.
La ricerca troverà ora due host:
Nome host | Valore per $1$
|
---|---|
|
1 |
|
2 |
Per ogni host trovato creerai ora un sottonodo con la funzione Call a rule. Seleziona la regola Mystery Server $NUMBER$
che hai appena creato. Come argomento per NUMBER
passa ora il gruppo di corrispondenza: $1$
.
Ora la sotto-regola Mystery Server $NUMBER$
viene chiamata due volte: una volta con 1
e una volta con 2
.
Se in futuro verrà aggiunto al monitoraggio un nuovo server con il nome srv-mys-3
, questo apparirà automaticamente nell'aggregazione BI! Lo stato di monitoraggio dell'host non ha importanza: anche se il server è DOWN, non verrà rimosso dall'aggregazione!
Certo, la curva di apprendimento è molto ripida. Questo metodo è davvero complesso. Ma una volta che l'avrai provato e capito, ti renderai conto di quanto sia potente l'intero concetto - e finora abbiamo solo scalfito la superficie delle possibilità!
La regola del livello superiore
Il nuovo nodo di primo livello The Mystery Application è ora semplice: è necessaria una nuova regola che abbia due nodi figli del tipo Call a rule. Queste due regole sono la regola Infrastructure esistente e la regola Mystery Servers appena creata.
6.5. Creare un nodo con la ricerca dei servizi
Come per la ricerca di host figlio, esiste anche un tipo di generatore figlio chiamatoCreate nodes based on a service search. Ecco un esempio:

In questo caso puoi utilizzare ()
- parentesi di espressioni parziali - sia per l'host che per il servizio, dove:
Se scegli Regex for host name devi definire esattamente un'espressione di parentesi. Il testo della corrispondenza viene quindi fornito come
$1$
.Se scegli All hosts, il nome host completo verrà fornito come
$1$
.Puoi utilizzare diversi sottogruppi nel nome del servizio. I testi di corrispondenza associati vengono forniti come
$2$
,$3$
e così via.
E non dimenticare che puoi sempre utilizzare l'aiuto inline.
6.6. Tutti gli altri servizi
Nei tuoi tentativi potresti esserti imbattuto nel generatore di figliState of remaining services. Questo genera un nodo per tutti i servizi del tuo host che non sono ancora stati ordinati nell'aggregazione BI. Questo è utile se utilizzi la BI per combinare gli stati di tutti i servizi di un host in gruppi chiaramente ordinati, come avviene nell'esempio incluso.
7. L'aggregazione di host predefiniti
Come appena accennato, puoi utilizzare la BI anche per fornire i servizi di un host in modo strutturato. Unisci tutti i servizi in un'unica struttura in un'aggregazione e utilizza la funzione worst. Lo stato generale di un host verrà quindi visualizzato solo se c'è un problema con l'host: utilizza la BI come un chiaro metodo di "esamina".
A questo scopo Checkmk fornisce già un set di regole predefinite che devi solo sbloccare. Queste regole sono ottimizzate per il rendering dei servizi su host Windows o Linux, ma ovviamente puoi personalizzarle a tuo piacimento. Puoi trovare tutte le regole nel pacchetto di regole Default. Come al solito, accedi alle regole facendo clic su :

Qui troverai un elenco di dodici regole (qui abbreviate):

La prima regola è la regola per la radice dell'albero. Il simbolo di questa regola ti porta alla visualizzazione dell'albero, dove puoi vedere come le regole sono annidate l'una nell'altra:

Tornando all'elenco delle regole, con il pulsante Aggregations puoi accedere all'elenco delle aggregazioni di questo pacchetto di regole, che consiste in una sola aggregazione. Nei Dettagli è sufficiente togliere il checkbox a Currently disable this aggregation per ottenere immediatamente, per host, un'aggregazione intitolata Host myhost123
. Il risultato sarà quindi simile a questo, ad esempio:

8. Permessi e visibilità
8.1. Permessi per l'editing
Per tutte le azioni di modifica in BI, di solito è necessario avere il ruolo Administrator. Più precisamente, per BI ci sono due permessi, da trovare sotto Setup > Users > Roles & permissions:

Per impostazione predefinita, il ruolo User è solo il primo dei due permessi attivi. Gli utenti normali possono lavorare solo nei pacchetti di regole per i quali sono stati definiti come contatti. Questo avviene nei Dettagli del pacchetto di regole.
Nell'esempio seguente Permitted Contact Groups è stato autorizzato il gruppo di contatto The Mystery Admins: tutti i membri di questo gruppo possono quindi modificare le regole di questo pacchetto:

Inoltre, con Public > Allow all users to refer to rules contained in this packpuoi permettere ad altri utenti di utilizzare almeno le regole contenute in questo pacchetto, cioè di definire (altrove) le proprie regole, che possono essere richiamate come sotto-nodi.
8.2. Permessi su host e servizi
Come funziona l'effettiva visibilità delle aggregazioni nell'interfaccia di stato? Quali contatti possono vedere qualcosa?
Non è possibile assegnare alcun diritto alle aggregazioni BI stesse, ma ciò avviene indirettamente attraverso la visibilità degli host e dei servizi ed è regolata dall'opzione See all hosts and services.Setup > Roles & Permissions:

Nel ruolo User, questo diritto è disabilitato per impostazione predefinita. Gli utenti normali possono vedere solo gli host e i servizi condivisi e in BI questi sono espressi in modo tale da poter vedere esattamente tutte le aggregazioni BI che contengono almeno un host o un servizio condiviso. Tali aggregazioni, tuttavia, contengono solo questi oggetti autorizzati e possono quindi essere in qualche modo "assottigliate". E questo significa che possono avere stati diversi per utenti diversi!
In caso di dubbio, puoi disattivare il permesso e, attraverso una deviazione via BI, permettere ad alcuni o a tutti gli utenti di vedere host e servizi per i quali non sono in contatto, garantendo così che lo stato di un'aggregazione sia sempre lo stesso per tutti.
Ovviamente questo problema è importante solo se ci sono aggregazioni così colorate che solo alcuni utenti sono contatti solo per alcune di esse.
9. BI in funzione Parte 3: Tempi di manutenzione, conferme
9.1. L'idea generale
Come fa la BI a gestire i tempi di manutenzione? Abbiamo riflettuto a lungo sulla questione e ne abbiamo discusso con molti utenti: il risultato è il seguente:
Non è possibile inserire un'unità BI direttamente in un tempo di manutenzione, ma non è necessario, perché...
Il tempo di manutenzione di un'aggregazione BI viene ricavato automaticamente dai tempi di manutenzione dei suoi host e servizi.
Per capire in base a quale regola BI calcola lo stato "in manutenzione", è utile ricordare qual è la vera idea alla base dei tempi di manutenzione:l'oggetto in questione è attualmente in lavorazione. Ci si può aspettare dei guasti. Anche se l'oggetto è attualmente OK, non devi fare affidamento su di esso. Può diventare CRIT in qualsiasi momento. Questo è noto e documentato, quindi non dovrebbe far scattare una notifica.
Questa idea può essere trasferita 1:1 nell'aggregazione BI: nell'aggregazione possono esserci alcuni host e servizi che sono attualmente in manutenzione. Il fatto che siano solo OK o CRIT non ha alcun ruolo, perché in realtà è una coincidenza se durante i lavori di manutenzione gli oggetti a volte si spengono e si riaccendono, oppure no. Il fatto che ci sia un oggetto di manutenzione nell'unità non significa immediatamente che l'applicazione che mappa l'aggregazione sia a sua volta "minacciata" e debba essere contrassegnata come "in manutenzione". Può anche avere una ridondanza installata che compensa il fallimento degli oggetti in manutenzione. Solo se un guasto di questo tipo porterebbe effettivamente a uno stato di CRIT per l'aggregazione - quindi non c 'è abbastanza ridondanza e l'aggregazione è davvero minacciata - solo allora Checkmk la contrassegnerà come "in manutenzione". Anche in questo caso lo stato attuale degli oggetti generalmente non ha importanza.
Per dirla in modo più conciso, la regola esatta è la seguente:
Se uno stato CRIT di un host/servizio comporta uno stato CRIT dell'aggregazione, uno stato "in manutenzione" di quell'host/servizio comporta uno stato "in manutenzione" dell'aggregazione.
Importante: il reale stato attuale degli host/servizi non ha alcun ruolo nel calcolo - ciò che è in manutenzione viene assunto come CRIT nella logica della BI. Perché? Perché uno stato UP o OK durante un periodo di manutenzione è una pura coincidenza, ad esempio se un host riporta UP per qualche secondo tra diversi riavvii.
Ecco un altro esempio. Per risparmiare spazio, questa è una variante con un solo server misterioso invece di due:

Innanzitutto, l'host switch-1
è in manutenzione. Per il nodo Infrastructure
questo non ha alcun effetto, perché switch-2
non è in manutenzione e quindi anche Infrastructure
non è in manutenzione. Non c'è quindi alcun simbolo per i tempi di manutenzione derivati.
Ma anche il servizio Memory
su srv-mys-1
è in manutenzione e non è ridondante. La manutenzione viene quindi ereditata dal nodo padre Mystery Server 1
, poi continua fino a Mystery Servers
e infine al nodo superiore The Mystery Application
. Quindi anche questo nodo superiore è in manutenzione.
9.2. Il comando Tempo di manutenzione
Abbiamo scritto sopra che non è possibile mettere manualmente in manutenzione un'aggregazione BI. Questo è vero solo a metà, perché in realtà è possibile trovare un comando per impostare i tempi di manutenzione nelle aggregazioni BI! Ma questo non fa altro che registrare una voce di manutenzione per ogni host e servizio dell'aggregazione! Questo ovviamente porta di solito a segnalare l'aggregazione stessa come in manutenzione, ma questo è solo indiretto.
9.3. Opzioni di regolazione
Come hai visto sopra, il calcolo del tempo di manutenzione si basa su un presunto stato CRIT. Nelle proprietà di un'aggregazione puoi personalizzare l'algoritmo in modo che un nodo che assume lo stato WARN sia contrassegnato come in manutenzione. L'opzione per questo si chiama Escalate downtimes based on aggregated WARN state:

L'ipotesi di base rimane che gli oggetti in manutenzione siano CRIT. C'è solo una differenza quando, a causa della funzione di aggregazione, un CRIT può diventare un WARN, come nel nostro primo esempio con Count the number of nodes in state OK. In questo caso un tempo di manutenzione sarebbe già stato accettato se solo uno dei due switch fosse stato in manutenzione.
9.4. Conferme
In modo del tutto simile al processo con i tempi di manutenzione, se un problema è stato confermato l'informazione viene calcolata automaticamente da BI. Questa volta lo stato degli oggetti gioca sicuramente un ruolo importante.
L'idea è quella di trasferire alla BI il seguente concetto: un oggetto ha un problema(WARN, CRIT), ma questo è noto e qualcuno ci sta lavorando ().
È possibile calcolare questo concetto per un'aggregazione nel modo seguente:
Supponiamo che tutti gli host e i servizi che hanno confermato il problema siano di nuovo OK.
Allora l'unità stessa sarà di nuovo OK? Esattamente, allora viene confermato anche il problema.
Tuttavia, se l'aggregazione dovesse rimanere WARN o CRIT, non verrebbe considerata come confermata, perché deve esserci almeno un problema importante che non è stato confermato e quindi lo stato OK verrà rimosso dall'unità.
A proposito, il programma offre un comando per far sì che l'aggregazione BI confermi i suoi problemi, ma questo significa solo che tutti gli host e i servizi rilevati nell'aggregazione saranno confermati (solo quelli che attualmente hanno problemi).
10. Rendere visibili le modifiche
I nodi di un'aggregazione possono talvolta cambiare durante il funzionamento. Utilizzando le aggregazioni congelate puoi rendere visibili tali cambiamenti.
Ecco un esempio: uno switch con 6 porte dovrebbe essere OK quando 5 dei suoi servizi/porte sono OK. Tuttavia, come parte di un aggiornamento del firmware, 2 delle porte vengono rinominate e i servizi associati scompaiono dal monitoraggio.
L'aggregazione sarebbe composta da 4 servizi con stato OK, ma l'aggregazione stessa sarebbe WARN o CRIT, senza alcuna indicazione del motivo. È proprio qui che entrano in gioco le aggregazioni congelate: congela lo stato attuale e in seguito potrai fare clic per elencare ciò che è cambiato da allora, cioè quali nodi sono stati aggiunti o eliminati. In altre parole, mentre le regole di un'aggregazione indicano il suo stato, le aggregazioni congelate informano dei cambiamenti di stato.
10.1. Congelamento e confronto
Utilizzare la funzione di congelamento è molto semplice: attiva l'opzione New aggregations are frozen in Aggregation Properties.

Questo congelerà l'aggregazione quando viene salvata e lo farà ogni volta che il segno di spunta viene impostato di nuovo, anche se l'aggregazione esisteva già in precedenza (nonostante il riferimento a New aggregations …). Per sbloccare lo stato congelato, rimuovi il segno di spunta di conseguenza.
Nel monitoraggio, ora vedrai un nuovo simbolo a forma di fiocco di neve accanto all'aggregazione, che ti porterà alla visualizzazione delle differenze: a sinistra l'albero congelato, a destra l'albero attuale con le modifiche evidenziate (in questo caso la rimozione del servizio backup3):

Se vuoi congelare nuovamente lo stato corrente, puoi farlo tramite Commands > Freeze aggregations. Ma fai attenzione: Esiste sempre un solo stato corrente congelato e non esiste una cronologia che includa gli stati precedenti.
11. Disponibilità
Esattamente come per gli host e i servizi, puoi anche accedere alla disponibilitàBI di una o più aggregazioni per qualsiasi periodo di tempo passato. A tal fine, il modulo BI ricostruisce lo stato in base alla storia degli host e dei servizi dell'aggregazione per ogni periodo di tempo passato. In questo modo è possibile calcolare la disponibilità anche per i periodi in cui l'unità non era ancora configurata!

Per maggiori dettagli su BI e disponibilità, consulta l'articolo sulla disponibilità nella sezione dedicata alla BI.
12. BI nel monitoraggio distribuito
Cosa succede in BI in un ambiente distribuito, cioè quando gli host sono distribuiti su più server di monitoraggio?
La risposta è relativamente semplice: funziona, senza che tu debba prestare attenzione a nulla. Poiché il BI è un componente della GUI e come standard viene fornito con la capacità di supportare gli ambienti distribuiti, è completamente trasparente al BI.
Se un sito non è attualmente disponibile o viene nascosto manualmente dall'utente dalla GUI, gli host del sito non esistono più per BI. Ciò significa che:
Le aggregazioni BI costruite esclusivamente a partire dagli oggetti di questa località scompaiono.
Le aggregazioni BI costruite parzialmente a partire da oggetti di questa località si assottigliano.
In quest'ultimo caso, ovviamente, ciò può influire sullo stato delle aggregazioni interessate. Gli effetti esatti dipendono dalle funzioni della tua aggregazione. Se, ad esempio, hai usato worst ovunque, lo stato generale rimane semplicemente lo stesso o migliora, perché gli oggetti nella posizione non più esistente potrebbero già avere WARN o CRIT. Naturalmente, anche altre funzioni di aggregazione possono creare altri stati.
In ogni caso, la BI è costruita in modo tale che gli oggetti inesistenti non possano essere inclusi in un'aggregazione e quindi non possano essere persi, perché tutte le regole della BI funzionano - come già spiegato in precedenza - esclusivamente con modelli di ricerca.
13. Notifiche, BI come servizio
13.1. Active check o programmi di origine dei dati

È possibile notificare i cambiamenti di stato delle aggregazioni BI? All'inizio non è possibile, poiché la BI esiste esclusivamente nella GUI e non ha alcuna relazione con lo stato di monitoraggio. Tuttavia, è possibile trasformare le aggregazioni BI in normali servizi, i quali possono a loro volta attivare delle notifiche. Ci sono due possibilità:
Utilizzando il programma di origine dati Check state of BI Aggregations
Con gli Active Check del tipo Check State of BI Aggregation
13.2. Notifiche tramite un programma di origine dati
Inizieremo con il metodo del programma di origine dati, perché è sempre utile se desideri generare più di una manciata di aggregazioni come servizi. Troverai il set di regole appropriato alla voce Setup > Agents > Other integrations > BI Aggregations:

Qui puoi anche specificare diverse opzioni per quali host devono essere aggiunti i servizi. Non è necessario attenersi necessariamente all'host che esegue il programma di origine dati (Assign to the querying host). È anche possibile assegnare agli host che sono interessati dall'aggregazione (Assign to the affected hosts). Questo però ha senso solo se riguarda un solo host. Le espressioni regolari e le sostituzioni possono renderti ancora più flessibile con le assegnazioni. Il tutto viene poi eseguito tramite il meccanismo del piggyback.
Importante: se l'host a cui assegnerai questa regola deve continuare ad essere monitorato attraverso il normale agente, assicurati che nelle sue impostazioni vengano eseguiti i programmi agente e sorgente dati:

13.3. Notifiche tramite active check
La notifica tramite active check è più o meno il metodo più diretto e non richiede un "check helper host" artificiale durante l'esecuzione del programma di origine dati, poiché deve interrogare ogni unità individualmente, ma con un numero elevato di aggregazioni è decisamente meno efficiente e anche più complicato da configurare.
In parole povere: Esiste un active check che può recuperare lo stato delle aggregazioni BI utilizzando HTTP dall'API REST di Checkmk. Puoi configurarlo facilmente con il set di regoleSetup > Services > Other services > Check State of BI Aggregation:

Nota quanto segue:
Abilita questa regola solo per l'host che deve ricevere il nuovo servizio BI corrispondente.
L'URL deve essere quello che permette a questo host di accedere alla GUI di Checkmk.
L'utente deve essere un utente automazione: solo questi utenti possono chiamare l'API REST. L'utente
automation
si offre in questo caso perché viene sempre creato automaticamente per questi scopi.All'indirizzo Automation Secret inserisci il nome dell'utente Automation secret for machine accounts, che trovi nella maschera di configurazione delle proprietà dell'utente (solo se utilizzi un utente automazione diverso da
automation
).
Nell'esempio è stato attivato Automatically track downtimes of aggregation. In senso stretto, questo significa i tempi di manutenzione programmata, quindi i tempi di manutenzione pianificati. In questo modo il nuovo servizio attivo otterrà automaticamente un tempo di manutenzione, anche se l'aggregazione BI fa lo stesso!
Il nuovo servizio mostra quindi, con un ritardo massimo di un intervallo di controllo, lo stato dell'unità. L'esempio mostra il BI-Check sull'host srv-mys-1
:

Come al solito, puoi assegnare questo servizio ai contatti e utilizzarlo come base per le notifiche.