1. Introduzione

Checkmk offre molte funzioni di base per il monitoraggio della tua infrastruttura di rete e fornisce le metriche associate, come la larghezza di banda, la velocità di trasmissione dei pacchetti o il tasso di errore. Consente inoltre di monitorare lo stato e la velocità delle interfacce di rete e le soglie.
Fin qui tutto bene. Ma che dire delle seguenti domande: chi sta comunicando con i tuoi host? Quali porte dei tuoi host vengono utilizzate? Chi comunica più spesso, ovvero chi sono i cosiddetti "top talker"? Quali applicazioni vengono utilizzate nella rete? La mia rete ha una buona performance e dove si trovano eventuali colli di bottiglia? Esistono minacce, ad esempio attacchi Distributed Denial of Service (DDoS)?
Per ottenere risposte a queste e altre domande simili, è necessaria un'analisi approfondita della tua rete — cosa che Checkmk da solo non può fare. Qui serve un'analisi dei flussi di rete, cioè delle numerose relazioni di comunicazione che avvengono contemporaneamente nella rete. Un flusso di rete è definito dalla sorgente e dalla destinazione (ciascuna determinata dall'indirizzo IP e dalla porta) e dal protocollo utilizzato.
Invece di aggiungere a Checkmk le funzioni per un network monitoring approfondito, reinventando così la ruota, esiste una soluzione più elegante: l’integrazione di ntopng in Checkmk.
L’integrazione di ntopng è un componente aggiuntivo acquistabile per le edizioni commerciali di Checkmk.
ntopng è un software potente ed efficiente in termini di risorse per il monitoraggio e l'analisi del traffico di rete in tempo reale e dei dati storici, in modo da poter fornire le risposte alle domande poste sopra. ntopng è il cuore della soluzione open source per il monitoraggio del traffico di rete dell'azienda ntop. In una soluzione ntop, i dati vengono solitamente raccolti dai dispositivi tramite speciali moduli software (nProbe) e inoltrati a ntopng per l'analisi.
ntopng è legato a Checkmk in più di un modo: proviene dal mondo open source e vi affonda le sue radici. ntopng è disponibile in una versione gratuita "Community", oltre che in diverse versioni commerciali estese "Professional" ed "Enterprise". L'interfaccia utente è basata sul web e fornisce le informazioni tramite visualizzazioni e dashboard. È possibile creare più utenti e assegnare un ruolo a ciascuno di essi. Sono supportate le notifiche basate su soglie. Infine, i dati possono essere recuperati da ntopng tramite l'API REST di Checkmk.
L'interazione tra i prodotti coinvolti è mostrata nell'illustrazione seguente:

L'integrazione di ntopng amplia quindi l'ambito funzionale di Checkmk con due aspetti importanti: il monitoraggio del flusso di dati di rete e l'analisi approfondita del traffico di rete.
In questo contesto, l'integrazione significa concretamente quanto segue:
Checkmk e ntopng vengono installati e configurati come sistemi indipendenti su server diversi. Si consiglia di non eseguire Checkmk e ntopng sullo stesso server.
Viene stabilita una connessione dal server Checkmk al server ntopng. Qui Checkmk comunica con ntopng tramite la sua API REST. I parametri di connessione servono a specificare quali dati vengono recuperati da ntopng. L'assegnazione avviene tramite gli account utente disponibili su entrambi i sistemi.
Le informazioni provenienti da ntopng vengono visualizzate nell'interfaccia utente di Checkmk. Da un lato ciò avviene in nuove dashboard in cui le informazioni di ntopng vengono preparate per gli utenti di Checkmk. D'altro canto, i dati di ntopng possono essere integrati nelle visualizzazioni e nelle dashboard esistenti di Checkmk.
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. |
2. Connessione a ntopng
Per utilizzare l'integrazione di ntopng in Checkmk, hai bisogno di una delle edizioni commerciali di Checkmk con il componente aggiuntivo per l'integrazione di ntopng e un'installazione di ntopng in versione Professional o Enterprise >= 5.6,
con una API REST v2 attraverso la quale Checkmk e ntopng comunicano.
Per prima cosa raccogli le seguenti informazioni sul sistema di destinazione ntopng che vuoi collegare a Checkmk. Devi inserire queste informazioni in Checkmk come parametri di connessione ntopng:
| Parametro | Descrizione |
|---|---|
Nome host |
Il nome o l'indirizzo IP (Host Address) del server ntopng. |
Numero di porta |
Il numero della porta TCP (Port number) su cui è possibile raggiungere ntopng.
La porta viene specificata all'avvio di ntopng.
Il valore predefinito è |
Protocollo |
|
Account utente per l'autenticazione |
Nome e password di un account utente del gruppo di utenti ntopng "Administrator" (ntopng Admin User).
Checkmk si autentica con il server ntopng utilizzando queste credenziali tramite l'API REST.
A proposito, l'account utente predefinito di ntopng si chiama |
In Checkmk, inizia a inserire i parametri di connessione ntopng nel menu Setup > General > Global settings > Ntopng (chargeable add-on) > Ntopng Connection Parameters (chargeable add-on):

A questo punto avrai già ottenuto la maggior parte dei valori dei parametri richiesti e puoi quindi prenderli dalla tabella sopra. Dobbiamo solo dare un'occhiata più da vicino a uno dei parametri di connessione: ntopng username to aquire data for. Questo determina chi può vedere quali dati di ntopng in Checkmk. Gli account utente con cui Checkmk si autentica su ntopng e con cui Checkmk recupera i dati da ntopng sono definiti in modo diverso. Nelle due sezioni seguenti spieghiamo le opzioni disponibili e le differenze che ne derivano nel recupero dei dati.
La validità delle voci relative alla connessione a ntopng non viene verificata al momento del salvataggio. Non riceverai messaggi di errore per valori non validi finché non verranno visualizzate le informazioni di ntopng. Con il primo parametro di connessione a ntopng, Enable this ntopng instance, puoi disattivare la connessione a ntopng, ad esempio se il server ntopng è temporaneamente non disponibile. |
2.1. Assegnazioni fisse di utenti Checkmk e ntopng con lo stesso nome
La soluzione più semplice è dare a un utente Checkmk l'accesso alle informazioni che vede in ntopng con lo stesso nome utente.
Per farlo, seleziona il valore Use the Checkmk username as ntopng user name per il parametro ntopng username to aquire data for. Checkmk utilizzerà quindi il nome utente Checkmk corrente e recupererà i dati da ntopng con quel nome.
Affinché il recupero dei dati funzioni tramite questa assegnazione, deve esistere almeno un account utente con lo stesso nome sia in Checkmk che in ntopng. A prescindere da come la si guardi, probabilmente sarà necessario modificare i nomi utente in Checkmk, ntopng o addirittura in entrambi i sistemi. Come creare o modificare un nome utente in Checkmk è spiegato nell'articolo sull'amministrazione degli utenti.
Dopo aver attivato le modifiche, tutti gli utenti Checkmk vedranno le modifiche all'interfaccia utente per ntopng come descritto nel capitolo sulla visualizzazione delle informazioni ntopng, ad esempio l'estensione del menu Monitor. Tuttavia, i dati ntopng saranno visibili solo agli utenti Checkmk che dispongono di un account utente sulla controparte ntopng. Gli altri utenti Checkmk potranno aprire le pagine specifiche di ntopng, ma vedranno solo pagine vuote o un messaggio di errore che indica che i dati di login sono non validi.
Questa è l'opzione più semplice, ma anche la meno flessibile.
2.2. Assegnazione flessibile degli utenti Checkmk agli utenti ntopng
Checkmk e ntopng hanno concetti simili nella gestione degli utenti: entrambi i sistemi possono avere più utenti e a ogni utente viene assegnato un ruolo. In Checkmk questi ruoli si chiamano, tra gli altri, "Amministratore", "Utente di monitoraggio normale" e "Utente ospite", mentre ntopng ha i ruoli "Amministratore" e "Utente non privilegiato". Questi ruoli assegnati vengono utilizzati, tra le altre funzioni, per decidere a quali informazioni un utente può accedere.
Invece della rigida assegnazione 1:1 descritta sopra, hai la possibilità di decidere per ogni utente Checkmk se vuoi fornirgli i dati ntopng e, in tal caso, da quale utente ntopng dovrebbe riceverli.
Poiché agli utenti vengono assegnati ruoli diversi in entrambi i sistemi, puoi controllare con estrema precisione quali contenuti di ntopng possono essere oggetto di visualizzazione in Checkmk, ad esempio in questo modo:
Non assegni un utente ntopng a un "Utente ospite" di Checkmk che non è interessato al traffico di rete, quindi le estensioni dell'interfaccia di rete Checkmk specifiche per ntopng sono nascoste per questo utente.
Assegna un "Utente non privilegiato" di ntopng a un "Utente di monitoraggio normale" di Checkmk e a un tirocinante di rete.
Assegna un "Amministratore" di ntopng a un "Amministratore" di Checkmk e a un esperto di rete.
La procedura per le assegnazioni flessibili è la seguente:
In Ntopng Connection Parameters (chargeable add-on) seleziona per "ntopng username to aquire data for" il valore "Use the ntopng username as configured in the User settings".
Dopo aver salvato le impostazioni di connessione ntopng, apparirà un nuovo campo nelle impostazioni di ciascun utente (Setup > Users > Users) sotto "Identity", ad esempio come mostrato di seguito per l'utente cmkadmin:

Nel campo ntopng Username, inserisci il nome utente ntopng le cui informazioni devono essere visualizzate dall'utente Checkmk corrente. Se questo campo viene lasciato vuoto (che è l'impostazione predefinita), le estensioni specifiche di ntopng dell'interfaccia Checkmk vengono nascoste all'utente Checkmk. Infine, attiva le modifiche.
3. Visualizzazione delle informazioni di ntopng
Una volta soddisfatti i requisiti descritti nel capitolo Connessione a ntopng, avrai ora accesso ai dati di ntopng in Checkmk. Per farlo, accedi a Checkmk con un account utente associato a un account utente ntopng.
Di seguito trovi una panoramica di dove e come puoi accedere alle informazioni di ntopng nell'interfaccia utente di Checkmk.
3.1. Statistiche di rete nel menu Monitor

Il cambiamento più evidente si trova nel menu "Monitor", che contiene il nuovo tema "Network statistics" con diverse dashboard contenenti dati ntopng, che presenteremo nelle sezioni successive.
Ma prima vediamo quali informazioni puoi recuperare sugli host ntopng in Checkmk.
3.2. Visualizzazioni con host ntopng
Checkmk e ntopng non solo gestiscono i propri utenti in modo indipendente, ma anche i propri host. Tuttavia, se un host in Checkmk è configurato anche in ntopng, puoi visualizzare le informazioni specifiche di ntopng per questo host.
In ogni visualizzazione host, puoi usare il filtro "Ntopng Host" per visualizzare gli host presenti sia in Checkmk che in ntopng, in questo modo:
Nella visualizzazione host (ad esempio All hosts), clicca su "
" Filter nella barra delle azioni per aprire la barra dei filtri.
Nella barra dei filtri, clicca prima su "Add filter" per visualizzare i filtri disponibili e poi su "
" per visualizzare tutti i filtri.
Seleziona il filtro "Ntopng Host" dall'elenco, impostalo su "yes" e attivalo con "Apply filters".
La visualizzazione mostrerà quindi solo gli host presenti sia in Checkmk che in ntopng:

Nell'esempio sopra, ci sono due host in comune. Un host ntopng mostra la voce "Ntop integration of this host" nel menu azione.
3.3. Statistiche di rete per un host
Per un host ntopng, clicca sull'elemento di menu azione Ntop integration of this host e otterrai la pagina Network statistics and flows specifica per l'host:

La prima riga mostra un riepilogo di tutti gli host configurati in ntopng, con il numero di avvisi attuali (Alerts e Flow Alerts).
I dati di rete relativi all'host selezionato vengono poi presentati da diverse prospettive in questa pagina nelle seguenti schede:
Host: Informazioni di base sull'host e un riepilogo delle informazioni più importanti dalle altre schede.
Traffic: Informazioni sul protocollo di livello 4 (TCP e UDP) con una panoramica sotto forma di grafico a torta e i dettagli in una tabella.
Packets: Distribuzione dei flag nelle connessioni TCP. I flag indicano lo stato specifico della connessione o forniscono informazioni aggiuntive. I flag più utilizzati sono SYN (sincronizzazione), ACK (riconoscimento), FIN (fine) e RST (reset).
Ports: Statistiche sul traffico raggruppate per porte client e server
Peers: Una panoramica dei peer (ovvero i partner) più frequentemente contattati e delle applicazioni utilizzate più spesso — sotto forma di grafici e tabella. Gli elementi grafici possono essere filtrati cliccandoci sopra.
Apps: Il volume del traffico suddiviso per applicazioni e riassunto per categorie. Le applicazioni di livello 7 vengono determinate tramite un'ispezione approfondita dei pacchetti. Nella tabella delle applicazioni, i nomi delle applicazioni sono collegati e rimandano a una pagina ntopng con informazioni dettagliate.
Flows: Tabella dei flussi di dati che hanno l'host selezionato come punto di partenza o di arrivo. Per ulteriori informazioni, consulta la sezione Dashboard dei flussi.
Engaged alerts , Past alerts , Flow alerts: Tabelle degli avvisi attivi, degli avvisi passati e degli avvisi sui flussi. Per ulteriori informazioni, consulta la sezione Dashboard degli avvisi.
In ogni scheda, puoi usare il link View data in ntopng per accedere alla pagina ntopng associata, che ti porterà ai Dettagli host di ntopng.
Suggerimento: puoi anche accedere alla pagina Network statistics and flows dalle visualizzazioni Services of Host e Status of Host selezionando la scheda che apre la pagina. Entrambe le visualizzazioni, quando richiamate per un host ntopng, forniscono il menu ntopng nella barra del menu, che contiene voci per ogni singola scheda.
3.4. Stato di un host
Nella pagina Network statistics and flows, clicca su Status of host nella barra delle azioni per aprire la visualizzazione Status of Host.
In questa visualizzazione viene visualizzata in una tabella un'ampia varietà di informazioni specifiche sull'host, che possono essere integrate da voci specifiche di ntopng. Verranno mostrate informazioni che già conosci da alcune delle schede della pagina Network statistics and flows; tuttavia, in parte a causa della mancanza di spazio, verrà visualizzata solo una selezione di queste informazioni.
Per utilizzare le voci specifiche di ntopng, devi personalizzare questa visualizzazione. Nel menu, seleziona "Display > Clone built-in view". Nella pagina "Clone view", le colonne del contenuto della tabella possono essere definite nella box "Columns".
Puoi aggiungere le seguenti voci specifiche di ntopng tramite l'Add column:
Hosts: Ntop hosts details: mostra le informazioni più importanti nella scheda Host.
Hosts: Ntop protocol breakdown: Mostra la tabella dei log nella scheda Traffic.
Hosts: Ntop ports: Mostra i grafici a torta relativi a client e server per la scheda "Ports".
Hosts: Ntop top peers: Mostra il grafico a torta dell'applicazione nella scheda Peers.
3.5. Dashboard degli avvisi
Il dashboard Alerts ti offre una panoramica di tutti gli avvisi in ntopng.
Seleziona Monitor > Network statistics > Alerts:

Puoi switchare da una tabella di avvisi all'altra utilizzando le seguenti schede:
Engaged Host: Tabella degli avvisi host attivi. ntopng genera avvisi per segnalare il superamento delle soglie.
Past Host: Tabella degli avvisi vecchi che non sono più attivi.
Past Flows: Tabella degli avvisi di flusso, una categoria speciale in cui ntopng effettua la segnalazione di flussi anomali o sospetti. Gli avvisi di flusso sono sempre collegati a eventi. Sono raccolti in una categoria a sé stante e non compaiono nelle tabelle degli avvisi attivi o passati.
Ogni pagina mostra un massimo di 20 voci. Puoi switchare alle altre pagine utilizzando i pulsanti di navigazione in alto a destra sopra la tabella.
In tutte le schede, sopra la tabella ci sono due grafici a barre con una suddivisione per data e ora, che puoi usare per filtrare la tabella: Trascinando con il mouse, seleziona un intervallo di tempo nel grafico. Il filtro definito in questo modo viene immediatamente applicato alla tabella degli avvisi. Per disattivare il filtro, clicca fuori dall'area selezionata nel grafico.
Questa dashboard ha una struttura simile alle tre schede specifiche per gli avvisi nella pagina Network statistics and flows (vedi la sezione Statistiche di rete per un host). |
3.6. Dashboard Flows
Il dashboard Flows ti offre una panoramica dei flussi in ntopng. Un flusso è una connessione tramite il protocollo di livello 4 tra il punto di partenza e il punto di arrivo, ciascuno determinato dall'indirizzo IP e dalla porta. Un flusso può essere visualizzato solo dopo che la trasmissione dei dati è stata completata. Per questo motivo la visualizzazione dei flussi è sempre uno sguardo al passato, anche se risale solo a pochi secondi fa.
Seleziona "Monitor > Network statistics > Flows":

La tabella è sostanzialmente identica alla tabella Flows nell'interfaccia di ntopng.
Questa dashboard ha una struttura simile alla scheda "Flows" nella pagina "Network statistics and flows" (vedi la sezione "Statistiche di rete per un host"). |
3.7. Dashboard Top Talkers
La dashboard "Top Talkers" ti mostra in tempo reale quali host in ntopng stanno generando più traffico di rete.
Seleziona Monitor > Network statistics > Top Talkers:

Nella parte sinistra della dashboard è presente un elenco degli attuali "Top Talkers", ordinati in base al volume del traffico dati che stanno scambiando. La sezione superiore mostra gli host nella rete locale, quella inferiore le destinazioni nelle reti remote. Ogni host è cliccabile, il che apre la pagina ntopng corrispondente con i dettagli dell'host.
Nei grafici hai anche una panoramica del traffico dati nelle applicazioni (a sinistra) e nelle interfacce sottoposte a monitoraggio (a destra), nell'ultima ora (in alto) e nelle 24 ore precedenti (in basso). Le voci della legenda visualizzate in ogni grafico sono cliccabili e possono essere utilizzate per filtrare i dati.
Questa dashboard ha una struttura simile alla Traffic Dashboard nell'interfaccia di ntopng. |
3.8. Dashlet
I dashboard Alerts, Flows e Top Talkers presentati nelle sezioni precedenti sono composti da un solo dashlet ciascuno.
Quando modifichi una dashboard, puoi usare questi dashlet di ntopng per personalizzare le dashboard esistenti o crearne di nuove. Puoi iniziare a configurare la dashboard nel menu Personalizza con Visualization > Dashboards. Quando modifichi una dashboard, troverai i dashlet di ntopng, così come gli altri dashlet, nel menu Add nella sezione Ntop.
