Checkmk
to checkmk.com
Important

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. Nozioni di base sul monitoraggio dei file

Con Checkmk puoi effettuare il monitoraggio dei file in base a numero, dimensione e data di creazione, singolarmente o in gruppi. Questa funzione può essere utilizzata in molti modi diversi, ad esempio per il monitoraggio dell'efficacia delle strategie di backup: Ci sono backup più vecchi di X giorni? Uno dei backup è sospettosamente grande o piccolo? Puoi anche checkare i file server aziendali per verificare se gli utenti li stanno utilizzando in modo improprio come archivi privati per i film, oppure tenere d'occhio i classici file di swap o i file volatili come i container.

La procedura di base è conforme allo standard Checkmk: Nell'agente viene installato un plug-in/una configurazione che porta le informazioni desiderate sui file o sui gruppi di file nel monitoraggio. Lì, vengono utilizzati set di regole corrispondenti per determinare quali proprietà portano a quali stati.

Il filtraggio vero e proprio, ovvero la determinazione di quali dati finiscano effettivamente nel monitoraggio, avviene nell'agente. Puoi utilizzare modelli di globbing per includere in modo ricorsivo i file di intere directory, ad esempio, o solo determinati tipi di file o persino singoli file. Utilizzando modelli di globbing come /myfiles/*.* , potresti ritrovarti con elenchi di file enormemente grandi, anche se potresti essere interessato solo a file particolarmente vecchi o grandi. Per questo motivo, attualmente esistono due agenti e relativi set di regole di monitoraggio: Il vecchio fileinfo è già integrato nell'agente e filtra solo in base al pattern di globbing/percorso, mentre il più recente mk_filestats deve essere installato separatamente come plug-in e filtra in base ad altre proprietà.

Ci sono altre differenze tra mk_filestats e fileinfo, che spiegheremo di seguito. La differenza più importante, tuttavia, è che mk_filestats può effettuare il monitoraggio solo su host Linux, mentre fileinfo può effettuare il monitoraggio anche su host Windows. Per gli host Linux, di solito dovresti usare l'aggiornato mk_filestats.

2. Le differenze tra mk_filestats e fileinfo

Se vuoi vedere i set di regole delle due varianti affiancati per maggiore chiarezza, basta digitare size age nel menu Setup. Le regole per i singoli file e i gruppi hanno nomi (in gran parte) identici, ma le regole mk_filestats sono esplicitamente identificate come tali. Entrambe le varianti delle regole di servizio sono inoltre disponibili come servizi applicati.

Setup menu with mk_filestats and fileinfo entries.
Le regole fileinfo non sono contrassegnate esplicitamente come tali

Le differenze tra le due varianti esistono a livello di agente e di servizio. Per cominciare, ecco le differenze teoriche di base. Troverai dettagli specifici più avanti nelle istruzioni per il plug-in dell'agente mk_filestats e per fileinfo dell'agente.

Nel caso dell'agente, mk_filestats si distingue per due opzioni che mancano a fileinfo: In primo luogo, mk_filestats offre le opzioni di filtraggio aggiuntive già menzionate, ovvero per dimensione del file, numero e nome, quest'ultimo sotto forma di espressioni regolari. Ad esempio, con un pattern di globbing del tipo /myfiles/*, potresti includere nel monitoraggio solo quei file che sono più grandi di 1 KB e contengono backup da qualche parte nel nome del file. D'altra parte, con mk_filestats, i gruppi di file vengono specificati direttamente nella configurazione del plug-in, semplicemente creando più filtri, ognuno dei quali finisce poi come una propria sezione nell'output dell'agente e che può essere successivamente indirizzato dalle regole tramite l'header delle sezioni.

Per le regole di monitoraggio dei servizi, gli approcci utilizzati da mk_filestats e fileinfo differiscono maggiormente nei dettagli. Entrambi possono limitare le valutazioni a periodi di tempo specifici, ma solo fileinfo consente la specifica esplicita di finestre temporali giornaliere direttamente nella regola. Inoltre, esclusivamente fileinfo può configurare i cosiddetti "conjunctions" per i gruppi di file. Questo associa una serie di condizioni per ogni stato, quindi ad esempio: "Lo stato passa a CRIT non appena il file più vecchio del gruppo ha esattamente 5 ore e il file più piccolo è esattamente di 8 megabyte." A sua volta, per i gruppi di file, mk_filestats offre l'opzione di definire dei casi eccezionali: Supponiamo che un gruppo di file debba passare a CRIT non appena la dimensione del gruppo supera i 2 gigabyte. Tuttavia, se il gruppo non deve passare a CRIT quando un singolo file supera da solo 1 gigabyte (come ad esempio un file temporaneo), puoi definire questo come un caso speciale, sovrascrivendo la regola del gruppo caso per caso.

Una panoramica delle differenze:

Funzionalità mk_filestats fileinfo

Sistemi operativi supportati

Linux

Linux e Windows

Agente

Plug-in dell'agente

Incluso nell'agente

Filtro

Filtri direttamente nell'agente per pattern globali e proprietà

Filtri nell'agente solo per i modelli di globbing

Elenchi di file

Fornisce elenchi di file snelli

Fornisce elenchi di file a volte troppo dettagliati

Raggruppamento dei file

Raggruppa direttamente nell'agente

Raggruppa tramite un set di regole di monitoraggio separato

Visualizza i file

Mostra i file nei dettagli del servizio (opzionale)

Mostra sempre i file nei dettagli del servizio

Valutazione dei file

Può considerare i valori anomali nei file

Può considerare le relazioni tra i file

Nei capitoli seguenti vedrai le due funzioni singolarmente in esempi pratici: le differenze e le caratteristiche descritte dovrebbero quindi diventare più chiare. mk_filestats stesso fornisce anche informazioni dettagliate tramite la chiamata filestats.py --help.

3. Monitoraggio dei file con mk_filestats (Linux)

L'esempio seguente mostra la procedura per gruppi di file. Per i singoli file la procedura è identica, ci sono semplicemente meno opzioni. Supponiamo che tu voglia effettuare il monitoraggio di un gruppo di un certo numero di file di backup (mybackup_01.zip ecc.) e che questi file non debbano scendere al di sotto di una dimensione minima, allora puoi procedere come segue:

3.1. Configurazione della regola per il plug-in dell'agente

Configurazione tramite agent bakery

CEE Nelle edizioni commerciali, per prima cosa richiama la regola per il plug-in dell'agente Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules > Count, size and age of files - mk_filestats (Linux). In "Section name" assegna un nome a tua scelta, che apparirà in seguito nell'output dell'agente come sezione indipendente.

In "Globbing pattern for input files" specifichi poi quali file devono essere sottoposti al monitoraggio. Puoi usare modelli globali, ovvero specificazioni del percorso dei file con caratteri jolly. A questo punto, vogliamo usare una specificazione del percorso assoluto che includa tutti i file nella cartella specificata.

Un ulteriore filtraggio viene effettuato dalle due opzioni successive: "Filter files by matching regular expression" include i file in base a un modello specificato, in questo esempio i file con my da qualche parte nel nome, e "Filter files by not matching regular expression" che esclude i file, in questo caso quelli che terminano con tmp.

Form to configure the agent plug-in mk_filestats.
Fai attenzione alla differenza tra glob e espressioni regolari.

Questo completa la configurazione e puoi distribuire il plug-in, inclusa la sua configurazione, tramite agent bakery.

Configurazione manuale

CRE In CRE Comunità Checkmk si configura il plug-in come al solito utilizzando un file di testo: come utente dell’istanza puoi trovare una configurazione di esempio nel file share/check_mk/agents/cfg_examples/filestats.cfg. Una configurazione secondo le specifiche di cui sopra avrà quindi questo aspetto:

/etc/check_mk/filestats.cfg
[myfiles]
input_patterns: /media/evo/myfiles/
filter_regex: .*my.*
filter_regex_inverse: tmp$

Questo completa la configurazione e puoi effettuare l'installazione del plug-in dell'agente manualmente.

Dati nell'output dell'agente

Troverai quindi il risultato della tua configurazione sotto forma di dati grezzi nell'output dell'agente:

mysite-myhost-agente.txt
<<<filestats:sep(0)>>>
[[[file_stats myfiles]]]
{'type': 'file', 'path': '/media/evo/myfiles/mybackup_01.zip', 'stat_status': 'ok', 'size': 13146562, 'age': 339080, 'mtime': 1633966263}
{'type': 'file', 'path': '/media/evo/myfiles/mybackup_02.zip', 'stat_status': 'ok', 'size': 13145766, 'age': 325141, 'mtime': 1633980202}
{'type': 'file', 'path': '/media/evo/myfiles/mybackup_03.zip', 'stat_status': 'ok', 'size': 13151050, 'age': 325352, 'mtime': 1633979991}
...

3.2. Configurazione della regola del servizio

Il monitoraggio ora ha accesso ai dati dei file tramite l'agente di monitoraggio. Per la valutazione, richiama la regola Setup > Services > Service monitoring rules > Size, age and count of file groups (mk_filestats). Nel nostro esempio, vogliamo ricevere un avviso non appena viene superato o non raggiunto un numero specificato di file. Ciò avviene tramite le opzioni Minimal file count e Maximal file count, che servono a impostare i limiti massimo e minimo. Tutte le altre opzioni minimo-massimo funzionano in modo analogo.

Form with upper and lower limits for file monitoring.
Parte 1/3: OK ci sono qui esclusivamente 7 o 8 file

Ma quale file genera, ad esempio, uno stato "CRIT"? L'opzione Show files in service details ti aiuta in questo caso: Se è abilitata, vedrai un elenco dei file interessati nella visualizzazione dei dettagli del servizio.

Specifying to show individual files in service details.
Parte 2/3: Questa opzione offre trasparenza, ma può anche generare elenchi molto lunghi

Ora, potrebbe essere che il numero corretto di file sia presente, ma che ci siano anche valori anomali, ad esempio per quanto riguarda le loro dimensioni. Per tali eccezioni puoi utilizzare l'opzione "Additional rules for outliers": Questa specifica, ad esempio, che per i file inferiori a 5 megabyte viene impostato lo stato "WARN", mentre per quelli inferiori a 1 megabyte il servizio passa a "CRIT". Questo può essere utile, ad esempio, per ricevere una notifica in caso di backup potenzialmente difettosi.

Specifying outliers in the monitored files.
Parte 3/3: i file devono essere di almeno 5 MB, altrimenti verrà emesso un avviso

Nella box "Conditions" (Applica solo a), ora puoi specificare che la regola si applichi esclusivamente al gruppo di file "myfiles" configurato nel plug-in dell'agente: Per farlo, inserisci il nome che hai assegnato nel plug-in dell'agente sotto "Section name" come "File Group Name".

Filter on files in the myfiles group.
File Group Name corrisponde aSection Name nella regola del plug-in

Questo completa anche la regola di servizio. Opzionalmente, potresti anche limitare la valutazione a un singolo periodo di tempo. Una volta completato, aggiungi il nuovo servizio agli host interessati e attiva le modifiche come al solito.

3.3. mk_filestats nel monitoraggio

Puoi quindi visualizzare la valutazione dal monitoraggio negli elenchi e, ovviamente, nei dettagli. Oltre ai parametri del servizio, ora potrai vedere anche i file responsabili dello stato WARN o CRIT.

Service details in monitoring for the WARN status.
I file responsabili dello stato vengono rivelati da mk_filestats nel monitoraggio

Si consiglia tuttavia di prestare attenzione all'opzione Mostra file nei dettagli del servizio: Se molti file sono stati responsabili di un cambiamento di stato, verranno elencati tutti, il che può portare a elenchi lunghi e a conseguenti problemi di performance e di visualizzazione.

Service details in monitoring for CRIT status.
Espressioni regolari imprecise possono generare elenchi enormi

4. Monitoraggio dei file con fileinfo (Linux, Windows)

Il monitoraggio dei file con fileinfo è sostanzialmente identico a quello con mk_filestats, quindi la procedura qui è un po' abbreviata, ma è ancora una volta pensata per gruppi di file.

4.1. Configurazione della regola per l'agente

Configurazione di agent bakery

CEE La configurazione dell'agente nelle edizioni commerciali in Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules > Count, size and age of files (Linux, Windows) è molto più semplice: Qui devi solo definire il percorso del file sotto forma di modello di globbing. Questo solleva anche il problema del trasferimento di elenchi di file estremamente lunghi, che possono rallentare notevolmente il monitoraggio. Inoltre, per ogni file trovato viene creato di default un servizio separato, cosa che si può evitare solo formando dei gruppi di servizi.

Rule for fileinfo with filtering on the Windows path.
Monitoraggio di tutti i file in questa directory specifica

Includi tutte le sottodirectory: Solo sugli host Windows, puoi usare il cosiddetto globstar (due asterischi consecutivi) per includere tutti i file in tutte le sottodirectory. Tuttavia, usa questa opzione con cautela. Un'C:\**e imprudente porta o a un numero di servizi a 6 cifre o a un timeout durante la ricerca.

Rule for fileinfo with filtering on the Windows path and all subdirectories.
Monitoraggio di tutti i file in questa directory e in tutte le sue sottodirectory

Data aggiuntiva: Sugli host Linux hai la possibilità di filtrare per data: Nel modello di globbing, puoi usare la variabile $DATE per includere solo i file i cui nomi contengono la data corrente. Il formato di questa variabile è lo stesso di quello del programma Linux date.

Rule for fileinfo with filtering by date variable.
Su Linux, i file con timestamp nei nomi possono essere indicati solo in modo esplicito

Una specifica come /backups/mybackup_*_$DATE:%Y%m%d$ troverebbe quindi — a partire da oggi, 22/10/2021 — file come mybackup_01_20211022 e mybackup_foobar_20211022:

File in the monitoring, filtered by the date in the file name.
Per i file di backup, i timestamp e un check giornaliero sono utili

Puoi trovare ulteriori informazioni direttamente nella pagina della regola e nel relativo aiuto in linea.

Questo completa la configurazione e puoi distribuire il plug-in, inclusa la sua configurazione, tramite agent bakery.

Configurazione manuale

CRE In CRE Comunità Checkmk con fileinfo devi anche configurare utilizzando file che variano a seconda del sistema operativo:

Linux: il file di configurazione è fileinfo.cfg:

/etc/check_mk/fileinfo.cfg
C:\myfiles\*
/myfiles/*
/media/evo/test_$DATE:%Y%m%d$

Windows: il file di configurazione si trova all'check_mk.user.yml:

C:\ProgramData\Checkmk\agente Checkmk\check_mk.user.yml
fileinfo:
  enabled: yes
  path:
  - c:\myfiles\*
  - c:\myotherfiles\**
Copia il contenuto del file negli appunti
Contenuto del file copiato con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Solo sugli host Windows, puoi usare il cosiddetto globstar (due asterischi consecutivi) per includere tutti i file in tutte le sottodirectory. Tuttavia, usa questa opzione con cautela. Un'C:\**e imprudente porta a un numero di servizi a 6 cifre o a un timeout durante la ricerca del servizio.

Questo completa la configurazione e puoi effettuare l'installazione manuale del plug-in su Linux o su Windows.

Dati nell'output dell'agente

Troverai quindi il risultato della tua configurazione sotto forma di dati grezzi nell'output dell'agente, a partire dall'header delle sezioni fileinfo:

mysite-mywindowshost-agent_output.txt
<<<fileinfo:sep(124)>>>
1743070736
C:\myfiles\myfile01|30219|1724242936
C:\myfiles\myfile02|30219|1724242936
C:\myfiles\myfile03|1337|1741368907
C:\myotherfiles\myotherfile01|1900|1743070353
C:\myotherfiles\myotherfile02|728|1743070370
C:\myotherfiles\myotherfile03|1023120|1743070389
C:\myotherfiles\mysubdirectory\myfileinasubdirectory|14114|1743070321

Questo è un esempio di output che potrebbe corrispondere al file di configurazione per un host Windows indicato sopra.

4.2. Configurazione della regola del servizio

Nel secondo passaggio, la regola di servizio Setup > Services > Service monitoring rules > Size, age and count of file groups viene configurata nuovamente. Le opzioni minimo-massimo corrispondono a quelle di mk_filestats, ma qui non sono presenti le opzioni per visualizzare i nomi dei file interessati nei dettagli del servizio e per i valori anomali. Ci sono due opzioni aggiuntive per questo: In primo luogo, puoi inserire direttamente un periodo di tempo tramite Add time range — al di fuori di questo periodo di tempo il servizio avrà sempre uno stato OK.

D'altra parte, è disponibile la potente funzione Level conjunctions: Questa ti permette di impostare una serie di condizioni per ciascuno dei quattro stati OK, WARN, CRIT e SCONOSCIUTO. Ad esempio, potresti specificare che il servizio passi a CRIT se…​

  • ci sono esattamente 7 file

  • il file più piccolo è inferiore a 10 megabyte,

  • il file più vecchio ha meno di 5 giorni

Specifying conditions for files monitored with fileinfo.
Level conjunctions consenti anche la definizione di eccezioni esplicite

E ancora, puoi limitare questa regola al gruppo myfiles desiderato inserendo File Group Name nella box Conditions.

A differenza di mk_filestats, la formazione del gruppo avviene solo nel monitoraggio tramite la regola di servizio Setup > Services > Service monitoring rules > File grouping patterns. Garantisci l'assegnazione inserendo anche l'myfilese del gruppo in Group name.

I modelli per i file da includere ed esclusi non sono specificati qui per impostazione predefinita tramite espressioni regolari, ma solo tramite globbing. Tuttavia, se anteponi una tilde (~), puoi utilizzare anche le espressioni regolari.

Filtering of files in the group myfiles.
I campi di immissione non si comportano sempre allo stesso modo: l'aiuto in linea fornisce sempre ulteriori dettagli

Data aggiuntiva: anche in questo caso è possibile utilizzare la variabile $DATE. In alternativa, puoi anche utilizzare $YESTERDAY per il filtraggio, che sottrae semplicemente un giorno da $DATE. Come sempre, puoi trovare ulteriori informazioni al riguardo nell’aiuto in linea.

4.3. fileinfo nel monitoraggio

Nel monitoraggio, la visualizzazione di un gruppo fileinfo non è molto diversa da quella di un gruppo mk_filestats. Tuttavia, fileinfo elenca sempre esplicitamente tutti i file interessati, indipendentemente dal fatto che siano responsabili di un cambiamento di stato o meno. Qui nell'esempio puoi vedere i due file yourfile con 0 megabyte, che non ha alcun effetto sullo stato, e yourfile_2.exe con i suoi quasi 11 megabyte, che quindi attiva lo stato CRIT:

A fileinfo group in monitoring.
yourfile viene visualizzato da fileinfo, sebbene non sia responsabile del cambiamento di stato

Tutti i file consegnati al monitoraggio da fileinfo e che non sono assegnati a un gruppo rimangono come servizi individuali:

Single files as separate services in monitoring.
Con fileinfo, modelli di globbing imprecisi possono generare elenchi enormi

Proprio questo elenco mostra perché è così importante essere precisi con i filtri in fileinfo: Ad esempio, se qui fosse specificato C:\ senza alcuna restrizione, ci sarebbero successivamente diverse centinaia di migliaia di servizi singoli nel monitoraggio.

5. Risoluzione dei problemi

5.1. Nessun file o troppi file nel monitoraggio

Che tu utilizzi mk_filestats o fileinfo, la mancanza di file o la presenza di troppe voci nel monitoraggio sono spesso dovute a filtri errati. Ci sono due cause principali: un conflitto tra un pattern di globbing e un'espressione regolare, oppure una configurazione errata. Ad esempio, l'asterisco si comporta in modo diverso nelle due varianti: Nel globbing, * funge da segnaposto per un numero qualsiasi di caratteri arbitrari, mentre in un'espressione regolare sta per una o più occorrenze del carattere che lo precede. Per corrispondere a qualsiasi carattere in qualsiasi quantità tramite regex, dovresti usare .* di conseguenza.

6. File e directory

Come sempre, tutti i percorsi dei file per il server Checkmk sono relativi alla directory dell'istanza (ad es. /omd/sites/mysite).

6.1. mk_filestats

Posizione Percorso del file Contenuto

Server Checkmk

~/share/check_mk/agents/cfg_examples/filestats.cfg

File di configurazione di esempio

server Checkmk

~/share/check_mk/agents/plugins/mk_filestats.py

Plug-in dell'agente Python 3 con spiegazioni

Server Checkmk

~/share/check_mk/agents/plugins/mk_filestats_2.py

Plug-in dell'agente Python 2 con spiegazioni

Host Linux

/etc/check_mk/filestats.cfg

File di configurazione - creato dall'agent bakery o manualmente

6.2. fileinfo

Posizione Percorso del file Contenuto

server Checkmk

~/share/check_mk/agents/cfg_examples/fileinfo.cfg

File di configurazione di esempio

Host Linux

/etc/check_mk/fileinfo.cfg

File di configurazione - creato dall'agent bakery o manualmente

Host Windows

C:\ProgramData\checkmk\agent\bakery\check_mk.bakery.yml

File di configurazione - creato dall'agent bakery

Host Windows

C:\ProgramData\checkmk\agent\check_mk.user.yml

File di configurazione - creato manualmente


Last modified: Tue, 19 Aug 2025 12:03:40 GMT via commit f16bb5a82
In questa pagina