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. Introduzione

Checkmk ti permette di monitorare in modo completo i cluster MySQL e Galera per MySQL. Puoi trovare un elenco completo delle opzioni di monitoraggio nel nostro catalogo dei plugin per i controlli. Tra le altre cose, Checkmk può monitorare quanto segue:

Per poter effettuare il monitoraggio dei database, oltre all'agente Checkmk ti serve solo il plug-in dell'agente sul server del database. Non è richiesto alcun software aggiuntivo né su Checkmk, né sul server del database.

Di seguito descriveremo come configurare il monitoraggio di MySQL per host Linux e Windows. Più avanti vedremo come configurarlo utilizzando l'agent bakery.

2. Configurazione del monitoraggio

2.1. Creazione di un utente

L'unico requisito per configurare il monitoraggio in MySQL è che siano disponibili un utente del database e la relativa password. A questo utente servono solo i diritti di lettura sulle istanze MySQL. Se un utente del genere non esiste ancora, crealo nelle istanze da monitorare. Per farlo, accedi a MySQL con un utente dotato di diritti di accesso sufficienti, quindi crea un nuovo utente del database:

mysql> CREATE USER 'checkmk'@'localhost' IDENTIFIED BY 'MyPassword';
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Questo utente appena creato ha bisogno del permesso per leggere le istanze. Controlla quindi se l'utente dispone dei permessi necessari oppure aggiungili con il seguente comando. L'esempio seguente lo fa per l'utente checkmk:

mysql> GRANT SELECT, SHOW DATABASES ON *.* TO 'checkmk'@'localhost';
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Se utilizzi la replica MySQL, l'utente deve disporre almeno del permesso REPLICATION CLIENT per effettuare il monitoraggio del server di replica:

mysql> GRANT REPLICATION CLIENT ON *.* TO 'checkmk'@'localhost';
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

2.2. Installazione del plug-in

Linux
Windows
Linux

Il plug-in richiesto, denominato "mk_mysql", è disponibile sul tuo server Checkmk all'indirizzo Setup > Linux, Solaris, AIX files > Plugins oppure nella directory ~/share/check_mk/agents/plugins/.

Come primo passo, copia questo plug-in nella directory dei plug-in dell'agente sull'host da monitorare. La directory dei plug-in è solitamente /usr/lib/check_mk_agent/plugins/. Non appena lo script si trova nella directory specificata, rendilo eseguibile:

root@linux# chmod 700 mk_mysql
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Questo plug-in può ovviamente essere eseguito anche in modo asincrono, se necessario.

Windows

2.3. Creazione del file di configurazione

Il file di configurazione che creerai qui sotto – o tramite agent bakery – viene utilizzato come unica fonte per le impostazioni di monitoraggio di MySQL. Eventuali altre impostazioni di configurazione presenti localmente non vengono prese in considerazione da Checkmk.

Linux
Windows
Linux

Crea quindi un file con il nome mysql.cfg nella directory di configurazione (di solito: /etc/check_mk/) per l'agente Checkmk sull'host di destinazione.

L'agente può recuperare le informazioni desiderate dalla tua istanza MySQL utilizzando i dati dell'utente inseriti nel file. Sebbene la specificazione di un utente del database sia facoltativa, te la consigliamo poiché l'agente di solito esegue il plug-in come utente di sistema root. Se non viene specificato alcun nome utente del database, il client MySQL tenta di accedere al database con il nome utente dell'utente di sistema che esegue il programma senza utilizzare una password, oppure utilizzando la password memorizzata in .mylogin.cnf. Ulteriori informazioni sono disponibili, ad esempio, nella documentazione di MySQL.

Questo viene fatto nel formato usuale per i file di configurazione di MySQL:

/etc/check_mk/mysql.cfg
[client]
user=checkmk
password=MyPassword
Copia il contenuto del file negli appunti
Contenuto del file copiato con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Salvare i dati di accesso con il seguente comando protegge da accessi non autorizzati:

root@linux# chmod 400 mysql.cfg
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!
Windows

2.4. Creazione dei servizi

Ora che hai installato e configurato il plug-in, puoi eseguire la scoperta del servizio per questo host. La schermata seguente mostra solo una selezione dei servizi che è possibile trovare:

mysql discovery

3. Configurazione avanzata

3.1. Esecuzione asincrona di un plug-in

Il plug-in per il monitoraggio di MySQL, come molti altri, può essere eseguito in modo asincrono, ad esempio per tenere conto dei tempi di esecuzione più lunghi delle istanze MySQL di grandi dimensioni.

Linux
Windows
Linux

Su un host Linux, il plug-in viene semplicemente spostato in una sottodirectory della directory dei plug-in. Ad esempio, se vuoi eseguire il plug-in solo ogni 5 minuti, basta spostare lo script mk_mysql in una sottodirectory chiamata 300. Istruzioni dettagliate per l'esecuzione asincrona dei plug-in sono disponibili nell'articolo sull'agente Linux.

Windows

3.2. Opzioni aggiuntive per i file di configurazione

Configurazione della comunicazione con MySQL tramite socket

Invece di lasciare che l'agente comunichi con MySQL tramite TCP, puoi indicare a Checkmk di utilizzare il socket. Per farlo, basta definire la variabile socket nel file mysql.cfg. Ecco un esempio del file di configurazione per Windows:

C:\ProgramData\Checkmk\agent\config\mysql.ini
[client]
user=checkmk
password=MyPassword
*socket=/var/run/mysqld/mysqld.sock*
Copia il contenuto del file negli appunti
Contenuto del file copiato con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Definizione manuale degli host

Inoltre, è anche possibile impostare manualmente l'host MySQL tramite i file di configurazione. La variabile corrispondente si chiama semplicemente host. Anche in questo caso, usando l'esempio di Windows:

C:\ProgramData\Checkmk\agent\config\mysql.ini
[client]
user=checkmk
password=MyPassword
*host=127.0.0.1*
Copia il contenuto del file negli appunti
Contenuto del file copiato con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

3.3. Configurazione delle soglie

Sessioni di monitoraggio

Alcuni dei controlli configurati in questo modo non hanno valori di threshold predefiniti. Questo accade solitamente perché non esistono valori predefiniti ragionevoli che siano sufficienti nella maggior parte dei casi. Tuttavia, è possibile impostarli in pochi semplici passaggi.

Ad esempio, nell'Service monitoring rulese puoi trovare la regola MySQL sessions & connections. Questa può essere utilizzata per definire valori di threshold significativi per il servizio MySQL sessions della tua istanza MySQL.

mysql sessions connections

Monitoraggio delle connessioni

Non abbiamo specificato alcun valore di threshold per l'utilizzo del numero massimo di connessioni simultanee specificato da MySQL, poiché questi dipendono molto più dalla struttura della tua istanza MySQL che da altri servizi.

L'impostazione dei valori di threshold corrispondenti può essere effettuata in un attimo con una regola del set di regole MySQL connections. Lo stesso vale per il numero di connessioni aperte.

mysql connections

Monitoraggio delle dimensioni dei database

La dimensione dei singoli database in MySQL viene monitorata dal plug-in di controllo MySQL: Capacity check. I valori di threshold per questo plug-in possono essere determinati con la regola MySQL database sizes.

mysql size database

3.4. Monitoraggio dei file di log

Con l’aiuto del plug-in logwatch puoi anche effettuare il monitoraggio dei file di log generati da MySQL alla ricerca di errori. Dopo aver configurato il plug-in, verifica innanzitutto dove si trovano i file di log corrispondenti nella tua istanza MySQL. La loro posizione esatta è riportata nel file .ini o .cnf della tua istanza.

Puoi inserire i log che ti interessano nel file di configurazione di logwatch e inserire, ad esempio, le seguenti voci su un host Linux:

/etc/check_mk/logwatch.cfg
/var/log/mysql/error.log
 W Can't create/write to file
 C [ERROR] Can't start server
 C mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended

4. Configurazioni con agent bakery

CEE La configurazione è molto semplificata con Agent Bakery, poiché si evitano errori di sintassi nei file di configurazione e si possono facilmente apportare modifiche per adattarsi a ambienti in evoluzione. La differenza principale rispetto a un'installazione manuale è che solo per configurazioni specifiche di MySQL devi lavorare sull'host MySQL dalla sua riga di comando.

Per la configurazione iniziale, è sufficiente impostare l'utente del database sull'host MySQL e creare una regola corrispondente in agent bakery. Puoi trovare il set di regole in Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules. Puoi quindi cercare "mysql" nel campo di ricerca:

mysql bakery ruleset search

Inserisci l'ID utente e la password per il nuovo utente del database. Con il campo seguente puoi impostare l'agente Checkmk per gli host Linux in modo che non stabilisca la connessione a MySQL tramite TCP, ma tramite il socket. A seconda delle dimensioni e dell'utilizzo, questo può contribuire a migliorare la performance.

Con questo set di regole è possibile definire anche una versione asincrona del plug-in MySQL. Ciò può essere utile per tenere conto di tempi di esecuzione più lunghi con istanze MySQL di grandi dimensioni, oppure se i dati di stato non sono semplicemente necessari ogni minuto.

mysql bakery

5. Opzioni di diagnostica

Se, ad esempio, si verificano comportamenti imprevisti o problemi durante la configurazione del monitoraggio, ti consigliamo di controllare direttamente sull'host interessato. Poiché i plug-in per il monitoraggio di MySQL sia per Linux che per Windows sono script shell o Visual Basic, possono essere facilmente eseguiti senza l'agente. Indipendentemente dal sistema operativo utilizzato, è sufficiente indicare alla shell o alla riga di comando la directory di configurazione pertinente.

Linux
Windows
Linux

Check prima le directory applicabili per il tuo host.

user@host:~$  grep 'export MK' /usr/bin/check_mk_agent
export MK_LIBDIR='/usr/lib/check_mk_agent'
export MK_CONFDIR='/etc/check_mk'
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Ora usa il comando export per creare le variabili d'ambiente MK_CONFDIR e MK_LIBDIR. Personalizza i comandi in base alle tue directory effettive.

root@linux# export MK_CONFDIR="/etc/check_mk/"
root@linux# export MK_LIBDIR="/usr/lib/check_mk_agent"
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!
Tip

Queste variabili d'ambiente esistono solo nella shell attualmente aperta e scompaiono non appena la chiudi.

Puoi quindi eseguire lo script mk_mysql direttamente nella directory dei plug-in dell'agente Checkmk.

root@linux# $MK_LIBDIR/plugins/mk_mysql
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Se tutti i permessi sono stati concessi correttamente all'utente del database, dovresti ora vedere diverse centinaia di righe di output anche in un ambiente MySQL piccolo e nuovo.

Windows

5.1. Possibili errori e messaggi di errore

mysqladmin: impossibile effettuare la connessione al server xyz

Il messaggio di errore connect to server at xyz failed indica che l'utente specificato nel file di configurazione non ha accesso a MySQL. Check innanzitutto che non si siano verificati errori di trasmissione durante la creazione del file di configurazione (mysql.cfg o mysql.ini).

Se il nome utente o la password specificati nel file di configurazione non sono corretti, riceverai un messaggio di errore simile al seguente:

Access denied for user checkmk
La dimensione del database non viene visualizzata

Se in Checkmk vedi un'intera serie di dati provenienti dalla tua istanza MySQL, ma non c'è alcun servizio che effettua il monitoraggio della dimensione dei database in essa contenuti, questo indica che l'utente del database non dispone del permesso "SELECT".

Controlla il tuo utente del database in MySQL con il seguente comando:

mysql> show grants for 'checkmk'@'localhost';

+--------------------------------------------------------------------------+
| Grants for checkmk@localhost                                             |
+--------------------------------------------------------------------------+
| GRANT SELECT, SHOW DATABASES ON *.* TO `checkmk`@`localhost`             |
+--------------------------------------------------------------------------+
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Se nella tua output manca la keyword SELECT, concedi all'utente del database i diritti appropriati come specificato nella sezione di Setup dell'utente.

6. File e directory

6.1. Sull'host MySQL

Linux
Windows
Linux
Percorso del file Funzione

/usr/bin/check_mk_agent

L'agente che raccoglie tutti i dati relativi all'host.

/usr/lib/check_mk/plugins/

La directory in cui di solito vengono memorizzati i plug-in.

/etc/check_mk/mysql.cfg

Il file di configurazione per il plug-in MySQL.

/etc/check_mk/mysql.local.cfg

File di configurazione aggiuntivo per specificare socket specifici dell'host.

Windows

6.2. Sul server Checkmk

Percorso del file Funzione

~/share/check_mk/agents/plugins/mk_mysql

Il plug-in che recupera i dati dall'host MySQL.


Last modified: Fri, 06 Feb 2026 07:13:00 GMT via commit e3b1403cf
In questa pagina