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

Il plug-in dell'agente mssql.vbs per il monitoraggio di Microsoft SQL Server descritto in questo articolo è stato sostituito e sarà presto rimosso da Checkmk (vedi Werk #15844). Se la configurazione di rete del tuo SQL Server consente l'accesso tramite TCP/IP, ti consigliamo di utilizzare il nuovo plug-in dell'agente mk-sql. Spieghiamo come configurare e utilizzare il nuovo plug-in dell'agente nell'articolo Monitoraggio di Microsoft SQL Server.

2. Introduzione

Checkmk ti permette di effettuare il monitoraggio completo di Microsoft SQL Server. Un elenco completo delle opzioni di monitoraggio è disponibile nel nostro catalogo dei plugin per i controlli. Tra le altre cose, Checkmk può monitorare i seguenti valori:

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 viene descritta la configurazione per gli host Windows. Più avanti vedremo come configurarlo tramite agent bakery.

3. Configurazione del monitoraggio

3.1. Utilizzo dell'account LocalSystem

Se puoi usare l'account LocalSystem (NT AUTHORITY\SYSTEM) per il monitoraggio, tieni presente che questo account (login) richiede almeno i seguenti elementi di sicurezza (Securables):

  • Connect any database

  • View Server State

  • Connect SQL

A seconda di quali database della tua istanza vuoi monitorare e anche a seconda dei ruoli server e delle mappature che l'account LocalSystem possiede già, potrebbe essere necessario concedere il permesso a Connect any database.

3.2. Digressione: configurazione di un nuovo utente

Se è assolutamente necessario che l'account LocalSystem non venga utilizzato nella tua organizzazione, devi creare un utente di monitoraggio del database adeguato sulle istanze da monitorare. Il requisito di base in MSSQL è che l'Server authentication sia impostato su SQL Server and Windows Authentication mode. Se non puoi utilizzare l'account Windows LocalSystem, questo requisito dovrebbe essere già soddisfatto, ma è bene ricordarlo.

Ora accedi a MSSQL con un utente che disponga di permessi di accesso sufficienti in MSSQL e crea un nuovo utente del database tramite Microsoft SQL Server Management Studio:

Selecting the 'New Login...' option in MSSQL.

Questo utente appena creato richiede il permesso sopra menzionato. Vai su Object Explorer, apri Security > Logins e poi le proprietà del login che hai configurato per il plug-in dell'agente. Sotto "Securables" troverai il permesso esplicito "Connect any database", che devi concedere.

Grant permission 'Connect any database'.

In alternativa, puoi anche creare l'utente e i permessi tramite la riga di comando. Nell'esempio seguente, questa operazione è stata eseguita per l'utente checkmk:

mssql> USE master;
      CREATE USER checkmk WITH PASSWORD = 'MyPassword123';
      GO
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

e poi:

mssql> USE master;
      GRANT CONNECT ANY DATABASE TO checkmk;
      GO
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Creazione di un file di configurazione

Sull'host Windows, crea un file nella directory specificata di seguito denominato mssql.ini:

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

Se stai eseguendo più istanze MSSQL con nomi utente e password diversi sull'host, crea semplicemente un file ini per ogni istanza secondo lo schema di denominazione mssql_instance-ID.ini.

3.3. Installazione del plug-in dell'agente

L'agente Windows viene fornito di serie con un'ampia gamma di plug-in. Dopo aver installato l'agente, troverai quindi anche il plug-in per il monitoraggio di MSSQL sul tuo host. Per utilizzarlo, basta copiarlo nella directory corretta:

PS> copy "c:\Program Files (x86)\checkmk\service\plugins\mssql.vbs" c:\ProgramData\checkmk\agent\plugins\
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

3.4. Configurazione 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:

Excerpt from the service discovery results.

4. Configurazione avanzata

4.1. Esecuzione asincrona del plug-in dell'agente

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

Per eseguire il plug-in in modo asincrono su Windows, personalizza la configurazione dell'agente e aggiungi la seguente voce alla sezione execution in plugins:

C:\ProgramData\Checkmk\agent\check_mk.user.yml
plugins:
    execution:
        - pattern: mssql.vbs
          cache_age: 300
          async: yes
Copia il contenuto del file negli appunti
Contenuto del file copiato con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Istruzioni dettagliate sull'esecuzione asincrona dei plug-in su un host Windows sono disponibili nell'articolo sull'agente Windows.

4.2. Configurazione dei valori di threshold

Monitoraggio delle connessioni

Puoi specificare i tuoi valori di threshold per l'utilizzo del numero massimo di connessioni simultanee specificato da MSSQL, poiché questi dipendono molto più dalla struttura della tua istanza MSSQL rispetto ad altri servizi. Puoi impostare i valori di threshold appropriati in pochissimo tempo utilizzando una regola dal set di regole "MSSQL Connections".

Setting the upper thresholds for active connections.

Monitoraggio delle dimensioni dei file

Puoi anche definire valori di threshold per la dimensione dei singoli file in MSSQL. Per farlo, usa il set di regole "MSSQL datafile sizes".

Setting the file sizes used.

5. Configurazione tramite agent bakery

CEE Il Setup è stato notevolmente semplificato nelle edizioni commerciali grazie all'uso di Agent Bakery. Questo semplifica notevolmente il processo di Setup, poiché si evitano errori di sintassi nei file di configurazione e si possono apportare facilmente modifiche per adattarsi a ambienti in evoluzione. La differenza principale rispetto a un'installazione manuale è che devi lavorare sull'host MSSQL dalla riga di comando solo se vuoi effettuare configurazioni specifiche per MSSQL.

Per la configurazione iniziale, è sufficiente impostare l'utente del database sull'host MSSQL 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 "mssql" nel campo di ricerca:

The rule 'Microsoft SQL Server' in the agent rules.

Nella nuova regola nella sezione "Microsoft SQL Server (Windows)", seleziona idealmente l'opzione "System Authentication" per una connessione semplice e senza problemi.

Possible settings for the MSSQL Server in the Agent Bakery.

Se invece opti per l'opzione "Database User Credentials", devi anche inserire User ID e Password per l'utente del database desiderato (ad esempio, l'utente che hai creato in precedenza).

6. Opzioni di diagnostica

Se, ad esempio, si verificano comportamenti imprevisti o problemi durante la configurazione del monitoraggio, è consigliabile controllare direttamente sull'host interessato. Poiché il plug-in per il monitoraggio di MSSQL è uno script shell o Visual Basic, può essere facilmente eseguito senza l'agente. È sufficiente indicare in anticipo allo script shell o alla riga di comando la directory di configurazione pertinente.

Per poter eseguire il plug-in manualmente, apri prima una riga di comando con diritti di amministratore, e imposta la variabile d'ambiente MK_CONFDIR in questa riga di comando. Questo è necessario affinché il plug-in possa trovare i file di configurazione.

PS> set MK_CONFDIR=c:\ProgramData\checkmk\agent\config
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Nota: anche in questo caso, la variabile d'ambiente non viene impostata in modo permanente, ma è valida solo finché questa riga di comando rimane aperta.

Durante l'effettiva esecuzione del plug-in, si consiglia di reindirizzare l'output alla riga di comando. Windows fornisce lo strumento cscript a questo scopo.

PS> cscript c:\ProgramData\checkmk\agent\plugins\mssql.vbs
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

6.1. Possibili errori e messaggi di errore

Impossibile effettuare la connessione al database

Ci sono tre diversi driver con cui Checkmk tenta in alternativa di effettuare una connessione al database MSSQL: msoledbsql , sqloledb e sqlncli11.

Di default, tutti e tre i driver sono solitamente disponibili e vengono testati uno dopo l'altro durante la creazione della connessione. In alcune circostanze, questa elaborazione in successione può portare a messaggi di errore. Potresti quindi dover rimuovere uno o anche due dei driver citati dalla sintassi della chiamata.

mssql.vbs: "nessun backup trovato"

Se un plug-in segnala "nessun backup trovato", dovresti prima verificare manualmente se è disponibile un backup. Se esiste un backup e il problema persiste, ciò potrebbe essere dovuto alle convenzioni di denominazione sul lato MSSQL.

Checkmk interpreta sempre i nomi host in lettere minuscole, ma se questi vengono trasmessi dall'host in lettere maiuscole durante i backup, ad esempio, si verificheranno problemi di comunicazione.

Puoi quindi controllare il valore dell'serverproperty('collation')e sul lato MSSQL. Se, ad esempio, qui è impostato SQL_Latin1_General_CP1_CS_AS, allora CS sta per "Case Sensitive". Il plug-in non può quindi convertire il nome host e potrebbero verificarsi problemi dovuti all'ortografia. Passare a SQL_Latin1_General_CP1_CI_AS, ovvero a CI per "Case Insensitive", dovrebbe risolvere questo problema.

In alternativa, potresti anche modificare l'ortografia del nome originale del server MSSQL. Questo però non è semplicemente possibile in ogni azienda e per ogni ambiente.

7. File e directory

7.1. Sull'host MSSQL

Percorso del file Contenuto

C:\ProgramData\checkmk\agent\plugins\

Directory dei plug-in

C:\ProgramData\checkmk\agent\config\

Directory di configurazione

7.2. Sul server Checkmk

Percorso del file Contenuto

~/share/check_mk/agents/plugins/mssql

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


Last modified: Tue, 20 Jan 2026 15:14:32 GMT via commit 561e6d8c8
In questa pagina