Checkmk
to checkmk.com
Tip

This article is currently under construction and is being expanded on a regular basis.

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.

Tip

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:

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

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.

Grant 'Connect any database' permission.

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:

C:\ProgramData\checkmk\agent\config\mk-sql.yml
---
mssql:
  main:
    authentication:
      username: ''
      type: integrated

Se invece lavori con l'account dedicato al monitoraggio, avrai bisogno del seguente contenuto:

C:\ProgramData\checkmk\agent\configurazione\mk-sql.yml
---
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:

C:\ProgramData\checkmk\agent\config\mk-sql.yml
---
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.

Selection of the Checkmk agent plug-in.

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:

Extract from the service discovery.

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:

C:\ProgramData\checkmk\agent\check_mk.user.yml
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.

Setting the upper thresholds for active 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.

Setting the file sizes used.

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:

The rule 'Microsoft SQL Server (Linux, Windows)' in the agent rules.

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

Possible settings for the MSSQL server in the agent bakery.

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.

Multiple MSSQL instances in the Bakery rule.

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

C:\ProgramData\checkmk\agent\plugins\

Directory per la memorizzazione dei plug-in dell'agente.

C:\ProgramData\checkmk\agent\config\mk-sql.yml

File di configurazione del plug-in dell'agente.

7.2. Sull'host MSSQL (Linux)

Percorso del file Contenuto

/usr/lib/check_mk_agent/plugins/

Directory per la memorizzazione dei plug-in dell'agente.

/etc/check_mk/mk-sql.yml

File di configurazione del plug-in dell'agente.

7.3. Sul server Checkmk

Percorso del file Contenuto

~/share/check_mk/agents/windowss/mk-sql.exe

Il plug-in dell'agente che devi copiare nei tuoi host Windows per monitorare MS SQL.

~/share/check_mk/agents/linux/mk-sql

Il plug-in dell'agente che devi copiare nei tuoi host Linux per monitorare MS SQL.

In questa pagina