![]() |
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. Che cos'è NagVis?
Nell'articolo sulle basi del monitoring hai visto la mappa della topologia di una rete basata sulle relazioni padre-figlio. NagVis è responsabile di tali mappe. L'estensione permette di visualizzare, ad esempio, infrastrutture, server, porte o processi.
Il funzionamento di NagVis è fondamentalmente molto semplice: Checkmk, o più precisamente Livestatus, fornisce dati back-end come host, servizi, gruppi di host e gruppi di servizi. Questi elementi del monitoraggio end-to-end possono essere posizionati come icone su varie mappe. Queste icone dinamiche possono mostrare lo stato attuale di ogni host e servizio. Informazioni aggiuntive più dettagliate possono essere fornite da tooltip. Infine, le icone e gli altri elementi sono anche collegamenti agli oggetti Checkmk che rappresentano. Altri elementi disponibili sono linee, visualizzazioni delle prestazioni (gadget) e container per contenuti esterni.
Per avere una migliore idea di ciò che si può ottenere con NagVis in Checkmk, ecco tre esempi:
Mappe geografiche basate su OpenStreetMap per la gestione delle località.
Mappe topologiche automatiche a partire dalle relazioni padre-figlio.
Mappature di singoli switch o sale server per avere una panoramica delle porte e dell'hardware.
Se le relazioni padre-figlio sono state definite, senza ulteriori azioni puoi richiamare una mappa in Checkmk utilizzando Monitor > Overview > Parent / Child topology. In questo caso non sono necessari ulteriori passaggi.

2. Configurazione di NagVis
NagVis è completamente integrato in Checkmk e configurato in modo che tu possa iniziare immediatamente ad aggiungere alle mappe gli elementi del tuo monitoraggio.
Per avviare NagVis, apri innanzitutto la sezione con gli snap-in disponibili per la barra laterale in basso, seleziona lo snap-in NagVis maps e avvia NagVis con il pulsante .

Prima di creare la tua prima mappa, dovresti dare un'occhiata alla configurazione principale di Options > General Configuration. Qui si trovano oltre 100 opzioni di base, come i formati dei dati e le impostazioni della lingua, dalla visualizzazione degli oggetti sulle mappe alla ponderazione degli stati degli host e dei servizi disponibili.

A questo punto vorremmo fare a meno di una descrizione completa dell'uso di NagVis e in particolare delle sue opzioni di configurazione. NagVis stesso dispone di un'ottima e dettagliata documentazione, in cui sono spiegate anche tutte le opzioni della configurazione principale. Di seguito ci limiteremo alle nozioni di base più essenziali per generare mappe semplici e utili utilizzando NagVis in Checkmk.
3. Creazione di mappature
3.1. I vari tipi di mappatura
NagVis offre un totale di cinque tipi di mappe diverse: mappe geografiche regolari, dinamiche, automatiche e interattive/non interattive.
Lamappa regolare è il tipo di mappa standard. La mappa può visualizzare qualsiasi scenario desiderato: dalle porte dello switch, alle stanze dei server, alle infrastrutture complete. Gli elementi (simboli, linee, ecc.) vengono aggiunti individualmente alle mappe dagli inventari degli host e dei servizi Checkmk.
La mappa dinamica assomiglia molto alla mappa regolare, ma con una differenza significativa: gli host, i servizi, i gruppi di host e i gruppi di servizi non vengono specificati in modo esplicito, ma utilizzando dei filtri sotto forma di espressioni regolari; per meglio dire, sotto forma di filtri Livestatus validi. In questo modo i nuovi host e servizi, e allo stesso modo qualsiasi modifica, vengono inseriti automaticamente nella mappa senza che sia necessaria un'ulteriore azione manuale.
Lamappa automatica che hai già conosciuto è la mappa della topologia di rete menzionata all'inizio di questo articolo, generata in modo completamente automatico dalle relazioni padre-figlio definite in Checkmk.
Lamappa geografica è una mappa renderizzata con il materiale cartografico del progetto OpenStreetMap (OSM) per i suoi sfondi.
3.2. Creare una mappa automatica
La soluzione più rapida per creare una mappa rappresentativa è la mappatura automatica. Crea una nuova mappa del tipo Automap based on parent/child relations tramite Options > Manage Maps > Create Map. In ID inserisci il nome interno myautomap
e in Alias il tuo nome My Automap
per la visualizzazione.

La mappa stessa apparirà immediatamente nell'area dei contenuti e il link corrispondente apparirà nello snap-in NagVis maps. Le impostazioni specifiche dell'automappa possono essere personalizzate in Edit Map > Map Options > Automap. La voce render_mode è particolarmente interessante perché fornisce la mappatura fondamentale dei nodi della mappa.

Inoltre, è possibile specificare la radice della mappa, anche se è più semplice farlo cliccando con il tasto destro del mouse su un'icona della mappa e selezionando la voce del menu contestuale Make root.

3.3. Creare una mappa regolare
Le mappe regolari sono le mappe più comuni di NagVis. Per farti conoscere le procedure di NagVis e i suoi elementi più importanti, ti mostreremo come creare una piccola mappa di un rack di server. In questo modo visualizzerai un host su uno sfondo individuale e riceverai avvisi ottici e acustici quando l'host monitorato non è OK.
Per creare la mappa, apri le opzioni tramite Options > Manage Maps. In Create Map assegna alla mappa il nome mymap
e l'alias My Map
. Per Map Type seleziona Regular map e conferma con il pulsante Create.

Importa quindi un'immagine dello scaffale da monitorare come sfondo, utilizzando Options > Manage Backgrounds. Seleziona il file locale e conferma con il pulsante Upload.

Ora l'immagine importata deve essere definita come sfondo per la mappa corrente. Richiama le opzioni della mappa con Edit Map > Map Options e vai alla scheda Appearance. Qui attiva l'opzione map_image e seleziona l'immagine desiderata dal menu. Non salvarla ora: è ancora necessaria un'impostazione dalle opzioni della mappatura.

Vai alla scheda Obj. Defaults. Qui puoi attivare l'opzione label_show. Questa opzione permette di etichettare le icone dell'host e del servizio sulla mappa con i rispettivi nomi dell'host o del servizio, altrimenti le icone saranno identificate solo attraverso le loro tooltipature. Infine, salva queste impostazioni.

Ora è il momento di aggiungere l'host. Clicca su Edit Map > Add Icon > host e poi con il cursore (che ora appare come una croce) sulla posizione della mappa in cui deve essere posizionato il simbolo - a questo punto si aprirà la finestra di dialogo Create Object. Nella scheda General seleziona semplicemente l'host desiderato dal menu a discesa di host_name e salva. Se operi su più istanze Checkmk, puoi utilizzare una fonte di dati alternativa tramite backend_id.

L'icona è ora posizionata sulla mappa e fornisce informazioni dettagliate tramite un tooltip. Facendo clic sul simbolo si accede direttamente all'host in Checkmk: tutti gli oggetti posizionati in NagVis sono collegamenti ai tuoi oggetti Checkmk.

Per poter spostare o modificare un'icona è necessario attivare la modalità di modifica. Clicca con il tasto destro del mouse sull'icona per aprire il menu contestuale e seleziona Unlock.

A questo punto puoi spostare l'icona o aprire nuovamente il menu contestuale, dove troverai una serie di nuove opzioni che ti permetteranno di clonare, eliminare o modificare l'oggetto o di confermare un problema direttamente da qui, scegliendo l'opzione Acknowledge.

Una volta completata la modifica di un host/icona, apri nuovamente il menu contestuale e seleziona Lock. Inoltre, con Edit Map > Lock/Unlock all la modalità di modifica può essere attivata e disattivata per l'intera mappa.
Ora puoi aggiungere altri host alla mappa. L'aggiunta di servizi, gruppi di host e gruppi di servizi funziona in modo simile.
Per concludere, la mappa può essere configurata in modo tale che, al momento del caricamento, i problemi vengano segnalati da un avviso sonoro e da simboli di host lampeggianti. A questo scopo, richiama Edit Map > Map Options e passa alla scheda Events. Qui, nella parte superiore del display, attiva event_on_load e, nella parte inferiore, seleziona il box event_sound per ricevere avvisi sonori.

3.4. Creare una mappa geografica
Le mappe geografiche sono disponibili in due moduli diversi: la variante interattiva può essere fatta scorrere e ingrandita come quella di Google Maps & Co. e viene impostata automaticamente come sfondo. Gli oggetti che sono stati posizionati su queste mappe appariranno su tutte le mappe successive dello stesso tipo. NagVis presume che un oggetto si trovi sempre in una posizione specifica, indipendentemente dalla scala della mappa. Quindi, ad esempio, un host situato ad Amburgo apparirà sia su una mappa del mondo che su una mappa della Germania e, ovviamente, su una mappa di Amburgo.
NagVis visualizza le varie sezioni della mappa e i vari livelli di zoom solo come viewport. In qualsiasi momento i viewport possono essere salvati come una nuova mappa separata. Poiché i viewport/mappature possono essere visualizzati anche come simboli sulle mappe, in un certo senso le mappe possono essere annidate. Così, ad esempio, è possibile richiamare una mappa della Germania con le sue dipendenze e poi, con un clic, una visualizzazione più dettagliata di uno stato, e poi, se necessario, le mappe di una specifica filiale, di una sala server e, da lì, anche una mappa di un singolo switch.
A differenza della navigazione manuale, l'uso di una mappa interattiva è più veloce e comodo, inoltre le singole mappe sono attive in modo da poter essere visualizzate in parallelo su monitor separati o da poter essere impostate per la rotazione automatica su un unico monitor (per saperne di più in seguito). Un altro aspetto importante è che in questo modo è disponibile un riepilogo delle mappe correlate sotto forma di tooltip. Questo rende l'uso più intuitivo anche per i terzi, che non devono cliccare sulle gerarchie o sapere dove è necessario effettuare lo zoom.
Le mappe geografiche non interattive devono essere alimentate con un file CSV contenente gli host e le coordinate da visualizzare. In questo caso non ci sono elementi generali preesistenti.
Nella documentazione di Nagvis le mappe geografiche interattive sono chiamate worldmaps e le varianti non interattive sono chiamate geomaps. Le worldmaps sono state aggiunte per la prima volta nella versione 1.9 di NagVis.
Esempio: crea una mappa interattiva per tutta la Germania e collega a questa un nuovo viewport per la Renania Settentrionale-Vestfalia (NRW). Crea una mappa geografica interattiva - una worldmap - con Options > Manage Maps > Create Map. Come Map Type seleziona l'opzione Geographical Map (interactive) - è possibile definire anche l'ID (mygeomap
) e l'Alias (My Geographical Map
).

Specifica la sezione della mappa che desideri come panoramica e salva questa visualizzazione con Edit Map > Viewport > Save view.

Quindi ingrandisci la mappa fino a raggiungere il dettaglio desiderato per la Renania Settentrionale-Vestfalia e salva la visualizzazione con Map > Viewport > Save as new map come nuova mappa mygeomap_nrw
.

L'alias della mappa verrà adottato dalla mappa originale, in modo da avere due mappe denominate My Geographical Map nella barra di navigazione a sinistra. Pertanto, ora definisci un nuovo alias My Geographical Map NRW
con Edit Map > Map Options.

Passa alla mappa della Germania My Geographical Map e aggiungi il collegamento alla mappa della Renania Settentrionale-Vestfalia con Edit Map > Add Icon > Map. Nella successiva finestra di dialogo Create Object dovrai solo selezionare la mappa mygeomap_nrw dal menu map_name.

In seguito, cliccando sul nuovo simbolo nella mappa della Germania, si accede direttamente alla mappa della Renania Settentrionale-Vestfalia. Allo stesso modo si possono collegare altre mappe e, naturalmente, è possibile integrare una navigazione dalla mappa della Renania Settentrionale-Vestfalia alla mappa della Germania.

Anche il caricamento dei contenuti delle mappe corrisponde alla procedura prevista per gli altri tipi di mappe, ma ricorda che tutti gli oggetti che aggiungi a una delle mappature appariranno anche su tutte le altre mappe del mondo, poiché si tratta solo di visualizzazioni alternative della situazione geografica reale.
3.5. Creare una mappa dinamica
Le mappe dinamiche si differenziano dalle mappe normali - come già detto - per il metodo di aggiunta degli elementi. Invece di essere aggiunte manualmente, le mappe dinamiche ricevono i loro elementi - host, servizi, gruppi di host e gruppi di servizi - in modo dinamico tramite i filtri Livestatus. Ad esempio, una mappa dovrebbe ricevere automaticamente i servizi CPU load da tutti gli host.
Per creare una mappa di questo tipo, inizia con Options > Manage Maps > Create Map e assegna un ID (mydynamicmap
) e un alias (My Dynamic Map
).

Quindi apri le opzioni della mappa con Edit Map > Map Options e seleziona la scheda Dynmap. Qui attiva l'opzione dynmap_object_types e scegli i servizi come tipo di oggetto.
La parte interessante segue ora con la seconda opzione dynmap_object_filter, con la quale viene definito il filtro per i servizi. Utilizza la semplice query Livestatus Filter: description ~ CPU load\n
. Con questa la stringa CPU load
verrà cercata nella colonna description
. Questa \n
non appartiene al filtro stesso, ma genera un'interruzione di riga necessaria alla query Livestatus costruita dal filtro.

Se ora salvi, tutti i servizi CPU load del tuo monitoraggio appariranno sulla mappa. Inoltre, tutti i nuovi oggetti del monitoraggio che corrispondono al filtro verranno aggiunti automaticamente alla mappa.

Nella documentazione di NagVis è descritto anche come funziona la configurazione direttamente tramite i file di configurazione.
A proposito: poiché le mappe dinamiche possono essere salvate anche come mappe statiche con Actions > Export to static map, questo metodo può essere utilizzato come aiuto per i principianti per creare mappe statiche contenenti molti elementi.
4. Personalizzazione delle mappature
4.1. Linee
NagVis offre diversi tipi di linee: ci sono linee puramente decorative senza ulteriori funzioni in Edit Map > Add Special > Stateless Line, linee che visualizzano host e servizi con "colori a semaforo" allo stesso modo delle icone e le linee weathermap. Queste ultime visualizzano la larghezza di banda della rete utilizzando sette colori distinti. Per creare una linea weathermap procedi come segue:
Inizia con Edit Map > Add Line > Service e seleziona un host e un'interfaccia di rete nella finestra di dialogo Create Object.

Quindi, passa alla scheda Appearance e imposta view_type su line. Come line_type attiva la voce --%+BW-><-%+BW--
. In questo modo verranno generate delle linee per l'upload e il download che includeranno etichette per la larghezza di banda percentuale (%
) e assoluta (BW
).

Una volta salvate, le linee appariranno sulla mappa. Facendo clic sul simbolo del "lucchetto" al centro è possibile spostare i punti finali e il punto centrale della linea.

NagVis fornisce anche una legenda predefinita: utilizzando Edit Map > Add Special > Shape inserisci una cosiddetta forma - semplicemente un'immagine in NagVis. Nell'opzione icon scegli l'immagine demo_traffic_load_legend.png dal menu a discesa.

4.2. I gadget
I gadget, come le linee e i simboli, sono un ausilio alla visualizzazione su una mappa. Mostrano dati sulle prestazioni sotto forma di tachimetri, termometri o simili. Di conseguenza, sono disponibili solo per i servizi. Ad esempio, il carico di un'interfaccia di rete può essere creato con lo stile di un tachimetro:
Aggiungi un servizio come simbolo alla tua mappa utilizzando Edit Map > Add Icon > Service. Nella scheda General scegli un host e un'interfaccia di rete adeguata come servizio.
Passa alla scheda Appearance e imposta view_type su gadget. Subito sotto, attiva gadget_url. Qui ci sono diverse varianti di visualizzazione che corrispondono ai file di ~/share/nagvis/htdocs/userfiles/gadgets/
. Seleziona std_speedometer.php per la visualizzazione del tachimetro.

4.3. Container/iframe
Un'interessante possibilità per mostrare informazioni esterne è data dai container. Qui puoi semplicemente specificare un URL e consentire la visualizzazione dell'obiettivo in un iframe. Ad esempio, una visualizzazione del gruppo di host limitata alla sola tabella dovrebbe servire come visualizzazione incorporata.
Aggiungi un container alla tua mappa utilizzando Edit Map > Add Special > Container. A differenza dei simboli host e servizio, in questo caso non puoi semplicemente cliccare sulla mappa, ma devi disegnare una finestra di dialogo. Questa può ovviamente essere modificata in qualsiasi momento successivo. Si aprirà nuovamente una finestra di dialogo con le opzioni.
Nella scheda General imposta view_type su iframe. Il lavoro vero e proprio si svolge nell'opzione url: l'URL di base può essere ottenuto nella pagina della visualizzazione del gruppo di host. Occorre poi aggiungere le opzioni per la visualizzazione incorporata con la quale viene effettivamente visualizzata solo la tabella (più un po' di sfondo). L'URL può quindi avere un aspetto simile a questo:
/mysite/check_mk/view.py?view_name=hostgroups&display_options=tbdezocf
L'esatto adattamento e posizionamento del contenitore viene effettuato anche nella scheda General inserendo le coordinate, l'altezza e la larghezza. Se vuoi aprire il menu contestuale di un contenitore iframe, devi posizionare il cursore del mouse direttamente sul bordo in modo che cambi la sua forma per il ridimensionamento.

4.4. Far ruotare le mappe
Nella pagina panoramica di NagVis avrai notato la voce Rotations in basso a sinistra nella barra di navigazione, oppure l'elenco delle mappe sotto Rotation Pools al centro. Le mappe possono essere impostate per ruotare automaticamente a qualsiasi intervallo desiderato, il che è pratico ad esempio per i monitor informativi visibili al pubblico.
Puoi configurare questo aspetto nel file di configurazione di NagVis ~/etc/nagvis/nagvis.ini.php
. Apri questo file e scorri fino alla riga 448, dove troverai il link Rotation pool definitions
.
Qui sono necessarie tre righe per definire un pool di rotazione, le mappe appropriate e l'intervallo: nell'esempio seguente il pool myrotation
con le mappe mymap1
, mymap2
e mymap3
, e con un intervallo di 30 secondi:
[rotation_myrotation]
maps="mymap1,mymap2,mymap3"
interval=30