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 effettuare il monitoraggio completo dell'Microsoft SQL Servers (di seguito abbreviato in "MSSQL"). Un elenco completo di tutti i plug-in di controllo disponibili è disponibile nel nostro catalogo dei plugin per i controlli.
Per poter monitorare i database, oltre all’agente Checkmk avrai bisogno anche del plug-in dell'agente mk-sql.
A partire dalla versione Checkmk 2.3.0, questo plug-in dell'agente è in grado di monitorare anche i database su sistemi remoti.
Ciò si riferisce ai database MS-SQL sui tuoi server remoti, non a quelli di provider cloud arbitrari!
Eccezione: i database Microsoft Azure SQL sono esplicitamente supportati.
Non è richiesto alcun software aggiuntivo né su Checkmk né sul server del database.
L'unico requisito obbligatorio per l'utilizzo di mk-sql è che il protocollo TCP/IP sia attivato nella configurazione di rete del server SQL.
Se il TCP/IP non è consentito o non è altrimenti permesso nel tuo ambiente server MSSQL, devi utilizzare il plug-in dell'agente legacy mssql.vbs fino a nuovo avviso.
2. Configurazione di un account per il monitoraggio
Il plug-in dell'agente richiede l'accesso alle tue istanze MSSQL. Di norma, è chiaro — ben prima che arrivi il team di monitoraggio — come possa o debba essere tale accesso.
2.1. Configurare un utente / utilizzare un account
- Linux
Creazione di un utente per il monitoraggio
Avrai bisogno di un utente in grado di effettuare una connessione alla tua istanza MSSQL. Questo utente richiede almeno i seguenti permessi:
Connessione a SQL
Connettersi a qualsiasi database
Visualizzazione dello stato del server
Oltre a questi permessi, spetta a te o alla tua organizzazione decidere come creare tale utente.
Puoi utilizzare un utente locale a scopo di test. Se non esiste un utente corrispondente sul tuo server MSSQL o nella tua istanza, puoi crearne uno sul tuo sistema Linux tramite la riga di comando:
Nell'esempio seguente, questa operazione viene eseguita per l'utente
checkmk:Segui le istruzioni per assegnare una password, ecc.
Quindi:
- Windows
Nel caso di MSSQL, ci sono due opzioni. Puoi usare solo l'account Windows Authentication mode oppure la modalità mista SQL Server and Windows Authentication mode.
Utilizzo dell'account LocalSystem
L'agente Checkmk viene eseguito sui sistemi Windows con l'account LocalSystem (
NT AUTHORITY\SYSTEM). Se puoi utilizzare questo account LocalSystem anche per il monitoraggio di MSSQL, dovrai solo assicurarti che questo account (login) disponga almeno dei permessi per i seguenti elementi di sicurezza (Securables):View server state
Connect SQL
Connect any database (optional)
Il permesso Connect any database (optional) è facoltativo, ma è richiesto in quasi tutti gli scenari di monitoraggio MSSQL.
Utilizzo di un account dedicato
Ci sono buoni motivi per non eseguire il monitoraggio di MSSQL tramite l'account LocalSystem di Windows. Tra i possibili motivi figurano i requisiti di sicurezza dell'organizzazione o semplicemente il desiderio di avere account dedicati e chiaramente denominati, il cui scopo sia già chiaro dal nome.
Il plug-in funziona ovviamente anche con tali account (login).
Il requisito fondamentale in MSSQL è che l'Server authentication sia impostato su SQL Server and Windows Authentication mode. Se non vuoi o non puoi utilizzare l'account Windows LocalSystem, questo requisito dovrebbe essere già soddisfatto, ma è bene menzionarlo comunque.
Se sul tuo server MSSQL o nella tua istanza non c'è un utente corrispondente, puoi crearne uno sul tuo sistema Windows tramite Microsoft SQL Server Management Studio (con qualsiasi nome utente):

Questo login richiede i seguenti permessi:
Connect SQL
Connect any database
View server state
Concedi questi permessi in Object Explorer tramite Security > Logins. Apri le proprietà dell'account (login) e clicca su "Securables". Sotto "Explicit" troverai le tre voci menzionate sopra. Metti i segni di spunta corrispondenti nella colonna "Grant" e conferma con "OK".

In alternativa, puoi anche creare l'utente e i permessi tramite la riga di comando. Nell'esempio seguente, questo viene fatto per l'utente
checkmk:e successivamente:
2.2. Configurazione manuale della connessione
Se utilizzi la Comunità Checkmk
o non desideri utilizzare l'agent bakery delle edizioni commerciali, configura la comunicazione manualmente.
Per il resto di questa descrizione, si presume che l'agente di monitoraggio per Linux o Windows sia già stato installato sull'host.
Creazione di un file di configurazione
- Linux
Sull'host Linux, crea un file `
mk-sql.yml` nella directory specificata di seguito:Se stai eseguendo più istanze MSSQL con nomi utente e password diversi sull'host, aggiungi i dettagli delle istanze al file
ymldi conseguenza. Il tuo fileymlpotrebbe quindi apparire così, ad esempio:- Windows
Sull'host Windows crea un file
mk-sql.ymlnella directory specificata di seguito:Se usi l'account LocalSystem, basta questo:
Se utilizzi un account dedicato al monitoraggio, al suo posto ti servirà il seguente contenuto:
Se stai eseguendo più istanze MSSQL con nomi utente e password diversi sull'host, aggiungi i dettagli delle istanze al file
ymldi conseguenza. Il tuo fileymlpotrebbe quindi apparire così, ad esempio:
Installazione del plug-in dell'agente
Il plug-in "mk-sql" si trova...
- Linux
…nella Comunità Checkmk alla voce Setup > Agents > Linux e nelle edizioni commerciali …alla voce Setup > Agents > Windows, Linux, Solaris, AIX > Related > Linux, Solaris, AIX files:

Esecuzione dello scaricamento del file
mk-sqlsull'host Linux nella directory/usr/lib/check_mk_agent/plugins/.- Windows
…nella Comunità Checkmk alla voce Setup > Agents > Windows e nelle edizioni commerciali …alla voce Setup > Agents > Windows, Linux, Solaris, AIX > Related > Windows files:

Esecuzione dello scaricamento del file
mk-sql.exee salvataggio su host Windows nella directoryC:\ProgramData\checkmk\agent\plugins\.
Configurazione dei servizi
Ora che hai installato e configurato il plug-in dell'agente, puoi eseguire la scoperta del servizio per questo host. La schermata seguente mostra solo una selezione dei servizi che è possibile trovare:

2.3. Configurazione avanzata
Esecuzione asincrona del plug-in dell'agente
Il plug-in dell'agente per il monitoraggio di MSSQL può, come molti altri, essere eseguito in modo asincrono, ad esempio per tenere conto dei tempi di esecuzione più lunghi delle istanze MSSQL di grandi dimensioni.
- Linux
- Windows
3. Ulteriori opzioni di configurazione in Checkmk
3.1. Configurazione dei valori di threshold
Monitoraggio delle connessioni
Puoi specificare i tuoi valori di soglia 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 soglia corrispondenti in un attimo utilizzando una regola dal set di regole "MSSQL Connections".

Monitoraggio delle dimensioni dei file
Puoi anche definire valori di threshold per le dimensioni dei singoli file in MSSQL. Per farlo, usa il set di regole "MSSQL datafile sizes".

4. Configurazione tramite agent bakery
L'installazione è stata notevolmente semplificata nelle edizioni commerciali
grazie all'agent bakery, poiché si evitano errori di sintassi nei file di configurazione e si possono effettuare facilmente personalizzazioni per adattarsi a ambienti in evoluzione.
La differenza principale rispetto a un'installazione manuale è che devi lavorare sull'host MSSQL tramite la riga di comando solo se desideri effettuare configurazioni specifiche per MSSQL.
Per il Setup iniziale è sufficiente creare una regola corrispondente in agent bakery.
Puoi trovare il set di regole in Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules.
Lì cerca "mssql" nel campo di ricerca:

4.1. Configurazione della regola dell'agente
- Linux
In Authentication seleziona l'opzione SQL database user credentials.

Quindi inserisci l'Login name nel campo User e aggiungi l'Password corrispondente. Per l'Connection, aggiungi l'Host name.
Se stai eseguendo più istanze MSSQL con nomi utente e password diversi sull'host, seleziona l'opzione Custom instances. Usa Add new element per accedere ai dettagli della prima istanza da sottoporre a monitoraggio e poi di ciascuna istanza aggiuntiva. Inserisci qui i dati di accesso per ciascuna istanza, come descritto sopra.

- Windows
A seconda di come è consentito al plug-in dell'agente di accedere al tuo server MSSQL (vedi Configurazione di un account per il monitoraggio), seleziona l'opzione appropriata in Authentication. Se stai utilizzando l'account LocalSystem (
NT AUTHORITY\SYSTEM), lascia la selezione su Local Integrated Authentication (Windows).
Se invece utilizzi l'autenticazione SQL Server, seleziona l'opzione "SQL database user credentials", inserisci l'Login name (vedi "Utilizzo di un account dedicato") nel campo "User" e aggiungi l'Password corrispondente.
Se stai eseguendo più istanze MSSQL con nomi utente e password diversi sull'host, seleziona l'opzione "Custom instances". Usa "Add new element" per accedere ai dettagli della prima istanza da sottoporre a monitoraggio e poi di ciascuna istanza aggiuntiva. Inserisci qui i dati di accesso per ciascuna istanza, come descritto sopra.

4.2. Ulteriori opzioni
Con le impostazioni che hai appena configurato, crei innanzitutto un semplice agente di monitoraggio per la tua istanza MSSQL, che si trova direttamente sull'host. Tutti i dati disponibili vengono valutati direttamente in Checkmk e questo dovrebbe essere sufficiente per uno scenario tipico. Tuttavia, se la tua organizzazione dispone di un ambiente MSSQL più complesso, sono disponibili ulteriori opzioni, sia per il monitoraggio del database sullo stesso host che per il monitoraggio su un host remoto. Queste opzioni sono sostanzialmente le stesse per entrambi i tipi di connessione.
| Opzione | Descrizione |
|---|---|
Connection |
Se hai bisogno di dati di connessione più specifici per la connessione generale al server MSSQL, puoi specificarli qui. |
Data to collect (Sections) |
Qui puoi limitare per sezione quali dati devono essere raccolti e se devono essere raccolti in modo sincrono o asincrono. |
Cache age for asynchronous checks |
Puoi modificare il periodo di cache in secondi per i controlli asincroni definiti in precedenza. |
Mappa i dati su un host specifico (piggyback) |
I dati piggyback possono essere assegnati a un host, indipendentemente dalla fonte effettiva. Ad esempio, le informazioni SQL possono essere separate dai dati del server Windows sottostante. |
Discovery mode of database instances |
Impostazioni per la ricerca nell'istanza. |
Custom instances |
Oltre alle impostazioni generali per l'accesso al tuo server MSSQL, qui puoi anche definire le tue impostazioni personalizzate per istanze specifiche. |
Options |
Qui puoi impostare il numero massimo di connessioni parallele al server SQL. |
5. Opzioni di diagnostica
5.1. Possibili errori e messaggi di errore
Messaggio di errore: Impossibile raccogliere le istanze di SQL Server
Verifica se la connessione TCP/IP è stata configurata e funziona correttamente.
6. File e directory
6.1. Sull'host MSSQL
- Linux
Percorso del file Descrizione /usr/lib/check_mk_agent/plugins/Directory in cui sono memorizzati i plug-in dell'agente.
/etc/check_mk/mk-sql.ymlFile di configurazione del plug-in dell'agente.
- Windows
Percorso del file Descrizione C:\ProgramData\checkmk\agent\plugins\Directory in cui sono memorizzati i plug-in dell'agente.
C:\ProgramData\checkmk\agent\config\mk-sql.ymlFile di configurazione per il plug-in dell'agente.
6.2. Sul server Checkmk
| Percorso del file | Descrizione |
|---|---|
|
Il plug-in dell'agente da copiare sui tuoi host Windows per effettuare il monitoraggio di MSSQL su di essi. |
|
Il plug-in dell'agente da copiare sui tuoi host Linux per effettuare il monitoraggio di MSSQL su di essi. |
