Il monitoraggio dei file server è importante perché molti dei tuoi colleghi dipendono da modalità efficienti di accesso e condivisione dei dati. Se i team IT non sono in grado di identificare e risolvere tempestivamente i problemi, si troveranno rapidamente ad affrontare un gran numero di richieste di assistenza e reclami. Il monitoraggio aiuta i team IT a migliorare l'affidabilità e l'attendibilità dei file server e a garantire buone prestazioni.
Questo tutorial spiega come utilizzare Checkmk per impostare un monitoraggio completo dei file server in pochi minuti. Non importa quale sistema operativo e quale protocollo di file server si utilizzi. Checkmk offre agenti adatti per i server Windows, i sistemi Unix e tutte le distribuzioni Linux più comuni. Inoltre, sono disponibili plug-in per vari protocolli di file server e una serie di meccanismi per il monitoraggio di file e cartelle. Checkmk include anche le previsioni, che possono essere utilizzate, ad esempio, per prevedere l'utilizzo della capacità.
Un monitoraggio deve fornire molte cose, ma vedrai che è abbastanza facile portare a termine il lavoro se utilizzi Checkmk. Se segui questa guida passo passo, potrai configurare il monitoraggio di un file server in pochi minuti. Se cerchi informazioni più generali, ti consiglio questa guida sul monitoraggio dei server.
Nel mio esempio, utilizzerò un server Linux che condivide i dati tramite due protocolli di file server: Network File System (NFS) e Server Message Blocks (SMB). È possibile monitorare anche altri tipi di file server sulla base di questa guida. Checkmk dispone di agenti, controlli attivi e plug-in adatti a tutti i tipi di server più comuni. La procedura differisce in minima parte ed è sufficiente personalizzare l'agente e i plug-in adatti al proprio ambiente.
Ad esempio, se si utilizza un server Windows e il protocollo di trasferimento dei file (FTP), è possibile seguire questa guida. Il prerequisito per il monitoraggio è la presenza di un sito Checkmk funzionante che si connetta al file server. A questo scopo è possibile utilizzare la versione attuale di Checkmk Trial. Nel mio caso, ho configurato la versione 2.1 di Checkmk Trial su un server Linux separato nella stessa rete. Per motivi di stabilità, non si dovrebbe installare Checkmk e il file server sullo stesso server, bensì su un server separato.
Passo 1: Monitorare il file server con l'agente Checkmk
La base del monitoraggio è l'installazione dell'agente Checkmk sull'host e l'inclusione del file server nel monitoraggio.
- Passare all'interfaccia utente di Checkmk. Andare a Setup -> Agents -> Windows, Linux, Solaris, AIX e scaricare l'agente per il proprio sistema operativo. Nel mio esempio, ho scaricato il pacchetto DEB.
- Installare l'agente sul file server.
- Tornando a Checkmk, in Setup -> Hosts fare clic su Add host.
- Inserire il nome del file server come Hostname. Se il nome non è risolvibile tramite DNS, è necessario inserire l'indirizzo IP del file server in IPv4 address. Nel mio caso, il server si chiama 'fileserver.mylocal.net', quindi non è necessario inserire un indirizzo IP.

- Fare clic su Save & go to service configuration ed eseguire un Full service scan.
Nel mio esempio c'è una sorpresa. Oltre ai servizi standard come l'utilizzo della CPU e della memoria, l'agente Checkmk ha rilevato anche il mio RAID. Questo consiste in due dischi rigidi in mirroring e Checkmk mi ha suggerito di includerli come servizi direttamente nel monitoraggio. I tre servizi etichettati come 'MD Softraid' mostrano lo stato dei due dischi rigidi e lo stato generale del RAID.
Questo è possibile perché ho precedentemente configurato un RAID software in Linux. Questo RAID viene riconosciuto automaticamente dall'agente Checkmk Linux. Allo stesso modo, Checkmk vede i dischi rigidi montati di un host. Naturalmente. Checkmk supporta anche altri sistemi RAID, ma per questo è necessario installare un plug-in Checkmk adatto. Prima di mostrarlo nel prossimo passo, tuttavia, è necessario terminare l'aggiunta dell'host.
- Fare clic su Accept all per includere tutti i servizi rilevati nel monitoraggio.
- Quindi, fare clic sull'icona gialla con il punto esclamativo nell'angolo superiore destro. Dovrebbe essere visualizzata la dicitura "pending changes".
- Fare clic su Activate on selected sites.
Fase 2: Utilizzo del Magic Factor di Checkmk per tutti i file system
Ora hai incluso il tuo file server nel monitoraggio, ma dovresti configurarlo ulteriormente per garantire prestazioni e affidabilità ancora migliori. Una cosa che generalmente consiglio per tutti i file system è di regolare le soglie per lo spazio di archiviazione utilizzando il Magic Factor:
- Cercare "filesystem" in Setup.
- Fare clic su "Filesystems (used space and growth)". Selezionare Add rule.
- Facendo clic sulla casella di controllo in corrispondenza di Magic factor (automatic level adaptation for large filesystems), lasciare il valore predefinito a '0,80'.
- Attivare la casella di controllo per Reference size for magic factor e anche qui mantenere il valore predefinito di '20 GB'.
- Se si desidera applicare questa regola a tutti i sistemi, è possibile lasciare invariate tutte le opzioni in Conditions .
- Fare clic su Save.

Per impostazione predefinita, lo stato di servizio di un filesystem in Checkmk passa da OK a WARN quando l'utilizzo della memoria è compreso tra l'80% e il 90%. Oltre il 90%, lo stato diventa CRIT. Il Magic Factor ora garantisce che i file system più piccoli, con meno di 20 gigabyte, abbiano soglie più basse. I sistemi più grandi, invece, ricevono soglie più alte. Ad esempio, utilizzando i valori predefiniti con un Magic Factor di 0,80 e una dimensione di riferimento di 20 gigabyte, i servizi di un file system con cinque gigabyte passano a WARN già al 74% di utilizzo della memoria, mentre un file system con 800 gigabyte passa a WARN solo al 90%. Con questa funzione, è possibile garantire che Checkmk tenga conto delle dimensioni del file system nei suoi calcoli.
Nella regola "Filesystem (spazio utilizzato e crescita)", si può vedere che ci sono molti altri modi per regolare le soglie. Non è necessario in questa esercitazione.
Fase 3: Personalizzazione e creazione di agenti con Agent Bakery
Il modo più semplice per personalizzare un agente è utilizzare Agent Bakery, che è incluso come funzione in Checkmk Enterprise Edition. Se si utilizza Checkmk Raw Edition, è necessario configurare l'agente manualmente.
Nel mio esempio, ti mostro come installare il plug-in dell'agente "NFS exports" per monitorare i montaggi NFS sul vostro file server. Installo anche il plug-in "SMART hard disk" per tenere sotto controllo l'hardware dei miei dischi rigidi. Utilizzo anche il controllo Fileinfo di Checkmk per monitorare i singoli file sul mio file server.
- Fare clic su Setup e cercare 'nfs'.
- Selezionare la regola NFS4 exports (Linux, Solaris) .

- Fare clic su Add rule.
- Nella finestra successiva non è necessario modificare molto, basta decidere in Conditions per quali host Checkmk deve applicare la regola. Nel mio caso, ho specificato solo il mio file server, selezionando la casella "Explicit hosts" e specificando il nome dell'host.
- Fare clic su Save.

In alternativa, è possibile associare le regole a tag, etichette o strutture di cartelle. In questo modo, è sufficiente creare le regole una sola volta per applicarle automaticamente a tutti gli host selezionati. Ciò è di grande aiuto se si utilizzano più file server con la stessa configurazione. Il settimo episodio della serie di video-tutorial di Checkmk mostra come utilizzare praticamente questi meccanismi.
In questo modo è stato configurato il primo plug-in. Ora posso utilizzare il plug-in SMART per monitorare i dischi rigidi hardware. Il prerequisito è che la vostra distribuzione Linux supporti il pacchetto 'Smartmontools'. Questo dovrebbe essere preinstallato in quasi tutte le distribuzioni Linux più comuni.
- In Setup, cercare "smart" e fare clic su SMART harddisk monitoring (Linux).
- Fare clic su Add rule.
- In Conditions, attivare nuovamente la casella di controllo in corrispondenza di "Explicit hosts" e inserire il nome del file server.
- Fare clic su Save.
È stato così preparato un altro plug-in per l'agente sul file server. Successivamente, vi mostrerò come utilizzare il Fileinfo check. Questo controllo consente di monitorare la disponibilità, l'età o la dimensione dei file su un server. Questo è utile se, ad esempio, si vuole monitorare l'eliminazione tempestiva di informazioni o la disponibilità di singoli file. Nel mio esempio, voglio monitorare un singolo file.
- In Setup, cercate "fileinfo" e selezionate Count, size and age of files, quindi fai di nuovo clic su Add rule.
- Ora è necessario specificare il percorso del file in Count, size and age of files,. È ovviamente possibile monitorare più file sul file server. Ho deciso di monitorare il file 'Important.ods' per l'utente 'cmk'. Pertanto, ho specificato '/home/cmk/Documents/Important.ods' come percorso del file.

- In Conditions, attivare la casella di controllo 'Explicit hosts' e inserire il nome del file server.
- Quindi Save.
Una volta configurato il Fileinfo check, Checkmk identificherà il file selezionato come servizio nel monitoraggio. Nel mio caso, mi limito a controllare che il file sia presente e non ho bisogno di fare altre personalizzazioni.
Se, ad esempio, si desidera controllare l'età o la dimensione del file, è necessario modificare di conseguenza la regola per questo servizio una volta che è stato incluso nel monitoraggio. A tale scopo, cercate nuovamente "fileinfo" in Setup e poi selezionate "Size and age of single files" inService monitoring rules. Alla voce Value è possibile specificare i valori di soglia in base alle proprie esigenze. Tuttavia, assicurati di modificare la regola già creata e non di crearne una nuova.
Per questo motivo, completerò prima la configurazione dell'agente. È possibile aggiungere altri plug-in all'agente seguendo esattamente la stessa procedura. Se il file server non è una macchina virtuale, probabilmente contiene dischi in un RAID hardware. Ad esempio, se si utilizza un RAID hardware come LSI o MegaRAID, è possibile cercare il plug-in appropriato in Setup e aggiungerlo all'agente seguendo la stessa procedura. Checkmk fornisce anche plug-in corrispondenti, ad esempio, a Veeam, Arcserveo e Unitrends. In questo modo è possibile monitorare l'avvenuta creazione di backup con una soluzione di backup.
- Dopo aver modificato l'agente in base alle proprie esigenze, attivare nuovamente le "pending changes".
- Andare a Setup -> Agents -> Windows, Linux, Solaris, AIX e fare clic su "Bake agents". Dopo la procedura, dovrebbe apparire un nuovo agente.

- Installare il nuovo agente sul file server esattamente come prima. Questo sovrascriverà la configurazione del vecchio agente.
Nel mio caso, l'agente Linux fornisce già molti dati sull'hardware. Soprattutto per il monitoraggio dell'hardware, è spesso utile utilizzare altre fonti di dati oltre all'agente Checkmk; ad esempio, Checkmk può recuperare i dati dalle schede di gestione o da IPMI.
Passo 4: Monitoraggio delle condivisioni SMB con un controllo attivo
L'agente Checkmk monitora la configurazione del file server, ma non può verificare se gli utenti possono effettivamente accedere ai dati del file server. Pertanto, ha senso controllare anche gli accessi esterni. Ecco perché i controlli attivi sono importanti. In questo caso è il server di monitoraggio stesso ad accedere alle condivisioni del file server. Ciò significa che Checkmk stabilisce direttamente una connessione al sistema monitorato e recupera quindi i dati di monitoraggio, senza utilizzare un agente.
Ora ti mostrerò come monitorare le condivisioni SMB con un controllo attivo. Checkmk dispone anche di controlli simili per FTP, HTTP e molti altri protocolli.
- In Setup, cerca 'smb' e selezionate 'Check SMB share access'.
- Fare nuovamente clic su Add rule.
- In Check SMB share access, è necessario modificare alcune voci. In corrispondenza dellaSMB share to check, inserire la condivisione o le condivisioni che si desidera monitorare. Il nome deve corrispondere alla configurazione SMB del file server. Nel mio caso, ho solo una condivisione con il nome 'home'.
- In Workgroup, inserite il nome del gruppo di lavoro. Nel mio caso 'WORKGROUP'. Se si utilizza Active Directory, questa informazione è necessaria in ogni caso, altrimenti non è strettamente necessaria, ma consigliata.
- Poiché nella mia rete utilizzo NetBIOS, inserisco il nome del file server alla voce NetBIOS name of the server. Idealmente, il nome host in Checkmk e il nome NetBIOS sono identici. Questo è il caso del mio esempio, quindi inserisco "fileserver.mylocal.net".
- Poiché utilizzo la TCP port, abilito la casella di controllo ma mantengo il valore predefinito. Se si utilizza una porta diversa, è necessario modificare la configurazione di conseguenza.
- Lascio invariate le soglie per i Levels for used disk space. Naturalmente è possibile personalizzarle in base alle esigenze.
- In Authorization, è necessario inserire le credenziali di accesso di un utente che abbia accesso al file server. Per motivi di sicurezza, questo utente deve avere accesso in lettura solo alle condivisioni precedentemente elencate.

- Successivamente, scorrere verso il basso fino alle Conditions. Fare nuovamente clic sulla casella di controllo "Explicit hosts" e inserire il proprio file server. In questo modo si aggiunge il servizio di monitoraggio all'host del file server in Checkmk.
- Fare clic su Save.
Poiché ho collegato questo servizio al mio file server, in questo esempio monitorerò lo spazio libero due volte, ma da direzioni diverse. Da un lato, l'agente Checkmk trasmette questi dati di monitoraggio, dall'altro, il controllo SMB attivo interroga anche l'utilizzo della memoria. Non si tratta di una cosa negativa, ma è necessario tenere a mente i percorsi delle informazioni che arrivano al monitoraggio.
Passo 5: Monitoraggio dei backup con Checkmk
In ogni caso, è necessario creare dei backup dei dati presenti sul file server. Per questo motivo, il monitoraggio del processo di backup è una parte essenziale del monitoraggio del file server. Come già detto, Checkmk dispone di plug-in per le soluzioni di backup più diffuse. Inoltre, è possibile utilizzare il plug-in dell'agente 'Logwatch' per monitorare eventi specifici, come l'esecuzione di un backup.
Il monitoraggio dei backup, tuttavia, esula dallo scopo di questo tutorial. Tuttavia, vorrei mostrarvi come monitorare l'esecuzione dei cronjob di backup. È molto semplice perché lo script mk-job necessario fa già parte dell'agente Linux di Checkmk.
Utilizzando la console Linux, tutto ciò che dovrete fare è aggiungere mk-job e il nome di un servizio come prefisso al rispettivo cronjob. Nel mio esempio, si tratta di un backup che viene eseguito ogni giorno dieci minuti dopo la mezzanotte. Il file associato si trova sul mio file server nel percorso etc/cron.d/backup e ha questo aspetto: :
crontab
10 0 * * * root /usr/local/bin/backup >/dev/null
Ora aggiungo il prefisso e il nome del mio servizio:
crontab
# Syntax: <minute> <hour> <day> <month> <day of month> <user> mk-job <service name> <command>
Se ora si esegue il cronjob personalizzato, mk-job salva le letture in '/var/lib/check_mk_agent/job/root'. Poiché questo lavoro appartiene all'utente root, mk-job può ricreare questa directory se non esiste già.
Il server deve eseguire il cronjob monitorato con il prefisso modificato almeno una volta per scrivere i dati. L'agente può quindi controllare se ci sono dati nella directory '/var/lib/check_mk_agent/job/' e aggiungerli all'output dell'agente. Lo stato del cronjob è quindi parte del monitoraggio e viene visualizzato come servizio in Checkmk. Per questo motivo è importante utilizzare un nome di servizio individuale. Nel mio esempio, il cronjob si presenta come segue nel monitoraggio:

Passo 6: Aggiunta di nuovi servizi di monitoraggio al monitoraggio
Una volta impostati i plug-in necessari e i controlli attivi per il server, è necessario includere tutti i servizi nel monitoraggio.
- Sotto Setup -> Hosts fare clic sul file server, quindi su Save & go to service configuration per eseguire un Full service scan. Nel mio caso, Checkmk riconosce ora un montaggio NFS, la mia condivisione SMB, il mio cronjob e i miei dischi come nuovi servizi.
Se in futuro verranno aggiunti altri montaggi NFS, il plug-in per le esportazioni NFS li rileverà automaticamente. Le nuove condivisioni SMB, invece, devono essere impostate manualmente in Checkmk.
- Fare clic su Accept all per aggiungere i nuovi servizi al monitoraggio.
- Anche in questo caso, accettare le "‘pending changes" facendo clic su Activate on selected sites.
- Se si fa clic sul proprio file server in Monitoring -> All host si vedranno tutti i servizi del file server.
Sebbene i dati di monitoraggio di questi servizi provengano da fonti diverse, Checkmk li mappa tutti su un unico host, il mio file server. Oltre all'agente Checkmk e ai controlli attivi, è possibile includere altre fonti di dati arbitrarie. Ad esempio, se il server hardware supporta IPMI, il produttore ha preinstallato un agente SNMP o ha una scheda ILO, è possibile includere anche questi host nel monitoraggio.
Passo 7: Le previsioni di Checkmk
Ora hai impostato il monitoraggio del tuo file server, che comprende il sistema operativo, la funzione dei registri del file server, un cronjob di backup e il RAID. In questo modo, hai già creato una buona base. Tuttavia, non si deve ancora chiudere la vista host del file server in Checkmk. Come accennato all'inizio, la previsione delle metriche può aiutare a evitare brutte sorprese. Checkmk può creare una previsione di questo tipo sulla base dei dati storici. La particolarità è che Checkmk tiene conto delle tendenze e degli sviluppi temporanei nelle sue previsioni.
Il monitoraggio ha bisogno di una certa base di dati per creare previsioni affidabili. Il requisito minimo sono i dati delle ultime 48 ore, ma è preferibile disporre di dati relativi a più giorni. Se avete appena aggiunto il vostro file server al monitoraggio, non avete ancora la base di dati necessaria. Tuttavia, a questo punto vorrei introdurre brevemente la funzione di previsione di Checkmk. Poiché lo spazio su disco di un file server è importante, voglio prevedere quando raggiungerà i suoi limiti e sarà necessario espanderlo.
- Nella vista host, fare clic su qualsiasi servizio che produca metriche. Per il mio esempio utilizzerò il servizio 'Filesystem /'.
- Scorrere fino a Service Metrics e selezionare la metrica che si desidera utilizzare per le previsioni. Io sceglierò "Used filesystem space %:" per osservare l'andamento della percentuale di utilizzo della memoria. Fare clic sul menu azione e selezionare "New forecast graph".

Ora vedrete un grafico di previsione per il file system. La linea blu mostra i dati misurati effettivi. La linea rossa corrisponde alla previsione e l'area gialla corrisponde al livello di confidenza. Come si può notare, Checkmk non fa una semplice approssimazione lineare, ma risponde alle tendenze passate e le prende in considerazione nella previsione. Checkmk non si lascia inoltre fuorviare da eventi isolati. Nonostante l'evento di cancellazione del 13 febbraio, Checkmk ipotizza correttamente una crescita continua dei dati.
Sotto il grafico, è possibile controllare il calcolo del grafico tramite i parametri del modello. A seconda di come vengono configurati, le basi del grafico cambiano. Particolarmente importanti sono i campi Consider history of e Forecast into the future. Questi decidono su quale base di dati (se disponibile) Checkmk crea la previsione e fino a che punto estenderla nel futuro. Per impostazione predefinita, Checkmk utilizza i dati dell'ultimo mese e fa una previsione per le quattro settimane successive. Tuttavia, con un numero sufficiente di dati storici, Checkmk può facilmente fornire previsioni per diversi mesi. Per maggiori dettagli sugli altri parametri del modello e sui meccanismi matematici, si veda il capitolo del manuale di Checkmk dedicato alle previsioni.
Conclusioni: Il monitoraggio dei file server con Checkmk non è una scienza missilistica.
E questo conclude questo tutorial. Probabilmente il vostro file server avrà un aspetto leggermente diverso nella pratica, ma Checkmk è pronto per la maggior parte degli scenari. Grazie alla combinazione descritta di agenti Checkmk e controlli attivi, nonché alla possibilità di aggiungere altre fonti di dati, seguendo il tutorial sarete in grado di monitorare facilmente la maggior parte dei file server.
Un passo successivo potrebbe essere quello di regolare le soglie per le notifiche. Sebbene Checkmk fornisca valori di soglia predefiniti per molti servizi, potrebbe essere opportuno personalizzarli in base al proprio ambiente server. Ad esempio, se si può lavorare su un server solo durante le finestre di manutenzione, Checkmk dovrebbe notificare prima le condizioni problematiche. Per informazioni dettagliate sulla personalizzazione, consultare il capitolo sui parametri dell'host e del servizio nel manuale di Checkmk.
In caso di problemi, è sempre possibile contattare la comunità di Checkmk sul forum di Checkmk.