![]() |
This article is currently under construction and is being expanded on a regular basis. |
![]() |
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. |
![]() |
Questo articolo è attualmente in costruzione e viene ampliato regolarmente. |
1. Introduzione
Checkmk ti permette di monitorare in modo completo il server Checkmk (abbreviato in "MSSQL" in questo articolo). Puoi trovare un elenco completo di tutti i plug-in di controllo disponibili nel nostro Catalogo dei plug-in di controllo.
Per poter monitorare i database, oltre all'agente Checkmk è sufficiente il plug-in dell'agente mk-sql
. A partire da Checkmk 2.3.0, questo plug-in dell'agente è in grado di monitorare anche i database su sistemi remoti. Non è necessario alcun software aggiuntivo né sul server Checkmk né sul server dei 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 protocollo TCP/IP non è consentito o permesso nel tuo ambiente di configurazione del server MSSQL, fino a nuovo avviso dovrai ripiegare sul plug-in legacymssql.vbs
.
2. Impostazione di un login per il monitoraggio
Il plug-in dell'agente richiede l'accesso alle tue istanze MSSQL. Di regola, sarà chiaro - molto prima dell'arrivo del team di monitoraggio - come può essere tale accesso. Nel caso di MSSQL, ci sono due opzioni: o utilizzi esclusivamente la modalità Windows Authentication mode o quella mista SQL Server and Windows Authentication mode. Nelle due sezioni seguenti, ti spieghiamo a cosa fare attenzione in queste rispettive procedure.
2.1. Utilizzo dell'utente di sistema (solo Windows)
L'agente Checkmk viene eseguito dall'utente di sistema (NT AUTHORITY\SYSTEM
) nei sistemi Windows. Se puoi utilizzare questo utente di sistema anche per il monitoraggio di MSSQL, devi solo assicurarti che questo login abbia almeno i permessi per i seguenti elementi proteggibili (Securables):
View server state
Connect SQL
A seconda dei database delle tue istanze che vuoi monitorare e a seconda dei ruoli e delle mappature del server che l'utente di sistema (NT AUTHORITY\SYSTEM
) già possiede, potrebbe essere necessario concedere anche i permessi per Connect any database.
2.2. Utilizzare un account dedicato per il monitoraggio
Ci sono anche buone ragioni per non eseguire il monitoraggio di MSSQL tramite l'utente di sistema di Windows: la ragione più banale è che non esiste un utente di sistema di Windows sui sistemi Linux. Altre ragioni possono essere i requisiti di sicurezza all'interno dell'azienda o semplicemente il desiderio di avere login dedicati e chiaramente denominati, il cui significato e le cui funzioni sono facilmente riconoscibili dai loro nomi.
Il plug-in dell'agente funziona anche con questi login.
Il requisito di base in MSSQL è che Server authentication sia impostato su SQL Server and Windows Authentication mode. Se non vuoi o non puoi utilizzare l'utente di sistema di Windows, questo requisito dovrebbe essere già stato soddisfatto, ma questo punto non va trascurato.
Se non esiste un utente corrispondente sul tuo server MSSQL o nella tua istanza, puoi crearne uno utilizzando Microsoft SQL Server Management Studio:

Questo login richiede i seguenti permessi:
View server state
Connect SQL
Connect any database
Permetti questi permessi in Object Explorer tramite Security > Logins. Apri le proprietà del login e clicca su Securables. In Explicit troverai le tre voci sopra menzionate. Imposta i segni di spunta corrispondenti nella colonna Grant e conferma con OK.

In alternativa, puoi anche creare l'utente e i permessi tramite la linea di comando. Nell'esempio seguente, questo viene fatto per l'utente checkmk
:
mssql> USE master;
CREATE USER checkmk WITH PASSWORD = 'MyPassword123';
GO
e poi:
mssql> USE master;
GRANT CONNECT SQL TO checkmk;
GRANT CONNECT ANY DATABASE TO checkmk;
GRANT VIEW ANY DATABASE TO checkmk;
GO
3. Impostare la connessione manualmente
Se utilizzi Checkmk Raw o non vuoi utilizzare l'Agent bakery delle edizioni commerciali, imposta la comunicazione manualmente.
Per il resto della descrizione, assumeremo che l'agente di monitoraggio di Windows sia già stato installato sull'host.
3.1. Creare il file di configurazione
Sull'host Windows, crea un file mk-sql.yml
nella directory indicata di seguito:
Se utilizzi l'utente di sistema, questo sarà sufficiente:
---
mssql:
main:
authentication:
username: ''
type: integrated
Se invece lavori con l'account dedicato al monitoraggio, avrai bisogno del seguente contenuto:
---
mssql:
main:
authentication:
username: checkmk
password: MyPassword123
type: sql_server
Se sull'host sono in esecuzione più istanze MSSQL con nomi utente e password individuali, aggiungi di conseguenza i dettagli di queste istanze al file yml
. Il tuo file yml
potrebbe quindi avere il seguente aspetto, ad esempio:
---
mssql:
main:
authentication:
username: ""
type: integrated
instances:
- sid: myInstance 1
auth:
username: myUser1
password: "123456"
type: sql_server
- sid: myInstance 2
auth:
username: myUser2
password: "987654"
type: sql_server
3.2. Installazione del plug-in dell'agente
In Setup > Agents > Windows files troverai il file mk-sql.exe
nella sezione Windows Agent.

Scarica il file e salvalo sull'host Windows nella directory C:\ProgramData\checkmk\agent\plugins\
. Poi esegui il file una volta.
3.3. Configurazione dei servizi
Ora che hai installato e configurato il plug-in dell'agente, puoi eseguire una scoperta del servizio per questo host. La seguente schermata mostra solo una selezione dei servizi che possono essere trovati:

4. Configurazione estesa
4.1. Esecuzione asincrona del plug-in dell'agente
Il plug-in dell'agente per il monitoraggio di MSSQL, come molti altri, può essere eseguito in modo asincrono, ad esempio per tenere conto di tempi di esecuzione più lunghi per istanze MSSQL di grandi dimensioni.
Per eseguire il plug-in dell'agente in modo asincrono in Windows, modifica la configurazione dell'agente e aggiungi la seguente voce alla sezione execution
in plugins
:
plugins:
execution:
- pattern: mssql.vbs
cache_age: 300
async: yes
Puoi trovare istruzioni dettagliate sull'esecuzione asincrona dei plug-in dell'agente su un host Windows nell'articolo sull'agente Windows.
4.2. Configurazione delle soglie
Monitoraggio delle connessioni
Puoi specificare le tue soglie per l'utilizzo del numero massimo di connessioni simultanee specificate da MSSQL, in quanto queste dipendono molto di più dalla struttura della tua istanza MSSQL rispetto ad altri servizi. Puoi impostare le soglie corrispondenti in pochissimo tempo utilizzando una regola del set di regole MSSQL Connections.

Monitoraggio delle dimensioni dei file
Puoi anche definire delle soglie per le dimensioni dei singoli file in MSSQL. Per farlo, utilizza il set di regole MSSQL datafile sizes.

5. Configurazione con l'Agent bakery
L'installazione è notevolmente semplificata nelle edizioni commerciali utilizzando l'Agent bakery, in quanto si evitano gli errori di sintassi nei file di configurazione e si possono apportare facilmente le modifiche agli ambienti in evoluzione. La differenza principale rispetto a un'installazione manuale è che dovrai lavorare sull'host MSSQL solo alla linea di comando se vuoi effettuare configurazioni speciali specifiche per MSSQL.
Per la configurazione iniziale, è sufficiente creare una regola corrispondente nell'agent bakery. Puoi trovare il set di regole sotto Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules.. Puoi quindi cercare mssql
nel campo di ricerca:

A seconda del modo in cui il plugin agente è autorizzato ad accedere al server SQL (vedi Impostazione di un login per il monitoraggio), seleziona l'opzione appropriata in Authentication. Se utilizzi lo user agent (NT AUTHORITY\SYSTEM
), lascia la selezione a Local Integrated Authentication (Windows).

Se invece utilizzi l'autenticazione del server SQL, seleziona l'opzione SQL Database User Credentials, inserisci anche Login name nel campo User e aggiungi il corrispondente Password.
Se sull'host sono in esecuzione più istanze MSSQL con nomi utente e password diversi, seleziona l'opzione Custom instances. Utilizza Add new element per accedere ai dettagli della prima istanza da monitorare e poi di ogni altra. Inserisci qui i dati di accesso per ogni istanza, come descritto sopra.

5.1. Altre opzioni
Con le impostazioni appena effettuate, hai creato un semplice agente di monitoraggio della tua istanza MSSQL, che si trova direttamente sull'host. Tutti i dati disponibili vengono valutati direttamente in Checkmk e questo dovrebbe essere sufficiente per una configurazione standard. Tuttavia, se nella tua organizzazione hai un mondo MSSQL più complesso, ci sono altre opzioni, sia per monitorare il database sullo stesso host che per monitorarlo su un host remoto. Queste opzioni sono fondamentalmente le stesse per entrambi i tipi di connessione.
Opzione | Funzione |
---|---|
Connection |
Se hai bisogno di dati di connessione più specifici per la connessione generale al server MS SQL, puoi inserirli qui. |
Data to collect (Sections) |
Qui puoi limitare sezione per sezione i dati da raccogliere o se questi 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 precedentemente definiti. |
Map data to specific host (Piggyback) |
I datipiggyback 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 databases |
Impostazioni per la ricerca di istanze. |
Custom instances |
Oltre alle impostazioni generali per l'accesso al tuo server MS SQL, qui puoi effettuare le tue impostazioni per istanze specifiche. |
Options |
È possibile impostare il numero massimo di connessioni parallele a SQL Server. |
6. Opzioni diagnostiche
6.1. Possibili errori e messaggi di errore
Messaggio di errore: Impossibile raccogliere le istanze del server SQL
Controlla che la connessione IP sia configurata e funzionante.
7. File e directory
7.1. Sull'host MSSQL (Windows)
Percorso dei file | Contenuto |
---|---|
|
Directory per la memorizzazione dei plug-in dell'agente. |
|
File di configurazione del plug-in dell'agente. |
7.2. Sull'host MSSQL (Linux)
Percorso del file | Contenuto |
---|---|
|
Directory per la memorizzazione dei plug-in dell'agente. |
|
File di configurazione del plug-in dell'agente. |
7.3. Sul server Checkmk
Percorso del file | Contenuto |
---|---|
|
Il plug-in dell'agente che devi copiare nei tuoi host Windows per monitorare MS SQL. |
|
Il plug-in dell'agente che devi copiare nei tuoi host Linux per monitorare MS SQL. |