Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Cette page de documentation décrit comment superviser une base de données MSSQL et surveillant des indicateurs comme:

  • Le temps de connexion
  • Le nombre de connexions
  • L'utilisation du cache
  • etc...


Cette section décrit les étapes à suivre pour superviser une base de données MSSQL:

  • Prendre connaissance de ce qui est disponible par défaut dans une installation Shinken Entreprise classique
  • Mettre en place l'utilisateur utilisé pour la supervision du côté du serveur MSSQL
  • Tester la connexion à la base
  • Mettre en place l'hôte pour la supervision dans Shinken


Panel
titleOn this page

Table of Contents
maxLevel3


Éléments présents dans une installation Shinken Entreprise

Pour rendre plus facile la supervision de bases MSSQL, quelques opérations de configuration sont déjà faites lors de l'installation:

  • La sonde check_mssql_health est installée dans /var/lib/shinken/libexec/check_mssql_health
  • Des modèles d'hôtes sont préconfigurés et prêts à être utilisés


Tip
titleNote
On suppose dans la suite de cette documentation que le serveur MSSQL à superviser s'appelle "srv-win-1" et est un système Windows. Il faudra penser à changer ce paramètre pour l'adapter à votre configuration et le nom réel de votre serveur.


Mise en place de l'utilisateur utilisé pour la supervision sur le serveur MSSQL

La page de documentation de la sonde décrit de manière détaillée comment configurer un utilisateur sur une base MSSQL.

Veuillez vous referer à la page suivante pour plus d'informations: http://labs.consol.de/lang/en/nagios/check_mssql_health/

Test de la connexion à la base

Pour tester la connexion à la base MSSQL en utilisant un utilisateur de domaine, lancer la commande suivante:

Code Block
/var/lib/shinken/libexec/check_mssql_health --server "srv-win-1" --username "shinkendom\\shinken" --password "shinkenpassword" --mode connection-time


Superviser plusieurs bases avec le même hôte

Certains checks présents dans les modèles d'hôtes MSSQL fournis dans Shinken Entreprise utilisent la fonctionnalité Duplicate Foreach.

Pour chaque base listée dans la donnée personnalisée DATABASES sur l'hôte, les checks de ces modèles seront dupliqués. Un hôte qui héberge 2 bases MSSQL pour avoir les checks du modèle MSSQL utilisé présents en double, une fois pour chaque base de donnée spécifiée dans la donnée "DATABASES"


Info
titleExemple

Par exemple, un hôte possède la configuration suivante:

  • La donnée "DATABASES" contient "DB1, DB2, DB3"
  • Le modèle d'hôte "mssql" est utilisé par l'hôte

Si on considère le check "Mssql-$KEY$-database-free", on voit dans l'interface de Configuration qu'il a été dupliqué 3 fois, une fois pour chaque base:

  • Mssql-DB1-database-free
  • Mssql-DB2-database-free
  • Mssql-DB3-database-free


Indicateurs vérifiés par les modèles d'hôtes mssql

Modèles publics

Modèle d'hôte mssql

Le modèle d'hôte "mssql" est le modèle de base du pack mssql qui permet de savoir rapidement si la base MSSQL est en fonctionnement et utilisable.

Note

Tous les modèles de pack mssql (sauf Mssql-connection-method) utilisent ce modèle comme parent. Il ne faut donc pas le désactiver



CheckDétailCibleValeurs possiblesSeuil Warning par défautSeuil Critique par défaut
database-freeEspace libre dans le base de donnéesBase de données0 to 100%2%5%
free-list-stallsNombre de requêtes par seconde qui ont dû attendre pour avoir une page libreRequests per second that had to wait for a free pageServeur0 to n410
page-life-expectancyDurée de vie en secondes d'une page avant d'être suppriméeServeur0 to n300:180:
total-server-memoryQuantité de mémoire totale que le server SQL utiliseServeur0 to n10000005000000


Modèle mssql-full

Ce modèle contient l'ensemble des modèles définis dans la liste des modèle visibles pour les administrateurs Shinken ci dessous.


Warning
titleWarning

Ce modèle regroupe un nombre important de checks et va donc entrainer une utilisation de ressources importantes sur les Pollers. Il vaut mieux ne pas en abuser pour préserver les Pollers d'une congestion prématurée. A la place, on conseille d'utiliser les modèles décrits ci-dessous lorsque possible.


Modèles visibles uniquement pour les utilisateurs Administrateurs Shinken 

Modèle mssql-connection-method

Ce modèle décrit la méthode et les paramètres pour l'authentification au serveur MSSQL. Il est nécessaire et utilisé par tous les autres modèles du pack mssql. Il ne faut donc pas le supprimer ou désactiver sous peine de rendre les autres modèles du pack non fonctionnels.

Modèle mssql-availability

Ce modèle renseigne sur la disponibilité de la base de données MSSQL


 

CheckDétailsCibleValeurs possiblesSeuil Warning par défautSeuil Critique par défaut
connectionTemps de connexion au serveur

Serveur

0 to n sec12


Modèle mssql-backup-age

Ce modèle récupère des informations sur les sauvegardes des bases de données et leur ancienneté.

 

CheckDétailsCibleValeurs possiblesSeuil Warning par défautSeuil Critique par défaut
database-backup-ageNombre de secondes écoulées depuis la dernière sauvegarde de base.Base de données0 to n hours4872


Modèle mssql-batch-requests

Ce modèle récupère des informations sur les batchs de requêtes.

 

CheckDétailsCibleValeurs possiblesSeuil Warning par défautSeuil Critique par défaut
batch-requestsNombre de batchs par secondesServeur0 to n100200


Modèle mssql-checkpoint-pages

Ce modèle donne des informations sur le nombre de pages de mémoire Dirty écrites sur le disque par seconde.

 


CheckDétailsCibleValeurs possibles Seuil Warning par défaut Seuil Critique par défaut
checkpoint-pagesNombre de pages de mémoire Dirty écrites sur le disque par secondeServeur0 to n100500


Modèle mssql-compilations

This template gives informations about compilationsCe modèle récupère du serveur des informations sur les compilations SQL.

 

CheckDetailDétailsScopeCibleCheck rangeValeurs possibles Default Seuil Warning Default Criticalpar défaut Seuil Critique par défaut
sql-initcompilationsInitial compilations per secondNombre initial de compilations par secondeserveurserver0 to n100200
sql-recompilationsRe-Compilations per secondNombre de recompilations par secondeserveurserver0 to n110


Modèle mssql-full-scans

This template gives informations about the full scans.

  Ce modèle récupère des informations sur les scans de table complets.


CheckDetailDétailsScopeCibleCheck rangeValeurs possibles Default Seuil Warning Default Criticalpar défaut Seuil Critique par défaut
full-scansFull table scans per secondNombre de scans de table complets par secondeserveurserver0 to n100500


Modèle mssql-latch

mssql-latch

Ce modèle récupère des informations sur les latches SQLThis template gives informations about the latches.

 

CheckDetailDétailsScopeCibleCheck rangeValeurs possibles Default Seuil Warning Default Criticalpar défaut Seuil Critique par défaut
latches-wait-timeAverage time for a latch to wait before the request is metTemps moyen de latch avant qu'une requête soit acceptéeserveurserver0 to n15
latches-waitsNumber of latch requests that could not be granted immediatelyNombre de requêtes qui n'ont pas pu être satisfaites immédiatement à cause des latchesserveurserver0 to n1050


Modèle mssql-lazy-writes

This template gives informations about the lazy writesCe modèle récupère les informations sur les écritures "lazy".

 

CheckDetailDétailsScopeCibleCheck rangeValeurs possiblesDefault Seuil Warning Default Criticalpar défaut Seuil Critique par défaut
lazy-writesLazy writes per secondNombre de "lazy writes" par secondeserveurserver0 to n2040


Modèle mssql-locks

This template gives informations about locksCe modèle donne des informations à propos des locks SQL.

 

CheckDetailDétailsScopeCibleCheck rangeValeurs possibles Default Seuil Warning Default Criticalpar défaut Seuil Critique par défaut
locks-deadlockThe number of deadlocks per secondNombre de locks par secondeserveurserver0 to n15
locks-timeoutsThe number of locks per second that timed outNombre de locks par seconde qui ont expiréserveurserver0 to n15
locks-waitsThe number of locks per second that had to waitNombre de locks par seconde qui ont du attendreserveurserver0 to n100500


Modèle mssql-server-performance

This template gives informations about MSSQL server performanceCe modèle donne des renseignements sur les performances du server MSSQL.

 

CheckDetailDétailsScopeCibleCheck rangeValeurs possiblesDefault Seuil Warning Default Criticalpar défautSeuil Critique par défaut
cpu-busyCpu busy in percentPourcentage de CPU utilisé pour le calcul (busy)serveurserver0 to n8090
io-busyIO busy in percentPourcentage de CPU utilisé pour les attentes sur les entrées/sortiesserveurserver0 to n8090
mem-pool-data-buffer-hit-ratioData Buffer Cache Hit RatioRatio d'utilisation du cache et des buffersserveurserver0 to n90:80:


Modèle mssql-transactions

This template gives informations about databases transactionsCe modèle donne des informations relatives aux transactions dans la base.

 

CheckDetailDétailsScopeCibleCheck rangeValeurs possibles Default Seuil Warning Default Criticalpar défaut Seuil Critique par défaut
transactionsTransactions per second (per databaseNombre de transactions par seconde (par base)databasebase0 to n1000050000


Modèle mssql-usage

Ce modèle donne récupère des informations sur l'utilisation de la base.

This template gives informations about the database usage.

 

CheckDetailDétailsScopeCibleCheck rangeValeurs possibles Default Seuil Warning Default Criticalpar défaut Seuil Critique par défaut
connected-usersNumber of currently connected usersNombre d'utilisateurs actuellement connectésserveurserver0 to n5080


How to 

Comment utiliser le pack mssql

Configuration

of

du modèle d'hôte "Mssql-connection-method

host template

Click on Hosts then on Hosts Templates in the Elements menu

Image Removed

In the Name field, type mssql-connection.

Then clic on mssql-connection-method

Image RemovedClic on Data tab 

You can setup the following DATA : 

  • DATABASES : the name(s) of the database(s) to be monitored.
  • MSSQLPASSWORD : the MSSQL password of the user used to connect to database
  • MSSQLUSER : the MSSQL user name used to connect to database

     

    Image Removed 

     

     

     

    The parameters specifics to each server, such as database name for example, has to be done in the host's data itself.
    Tip
    titleTip

    It's a best practice to use the same database monitoring user on every MSSQL server monitored. Doing so, you can configure the database user/password only once in the host template mssql-connection-method.

    Attach a MSSQL template to you host

    Clic on Hosts in the Elements menuImage Removed

    Add the chosen Oracle host template to the Host Templates to inherit field.

    For example the Oracle host template.

    Image Removed

    Click on the Data tab

    Image Removed

    Look for the field DATABASES in the From templates data

     

    Type the name of the database to be monitoring

    Image Removed
    Check if the Following data are ok.Image Removed

     

     

    Tip
    titleTip

    You can monitor multiple database on the same host in typing the name of the database name separated by a comma.

    Exemple : DB1,DB2,DB3

     

    "

    Ouvrir la liste des modèle d'hôtes dans le menu Elements dans la barre de navigation supérieure

    Filtrer la liste suivant le nom du modèle en tapant mssql-connection dans le champ, puis éditer le modèle en cliquant sur son nom.



    Dans l'onglet Données


    Panel

    Image Added


    Il est alors possible de configurer les données suivantes:

    • DATABASES: Nom des bases de données à superviser
    • MSSQLUSER: Nom de l'utilisateur MSSQL à utiliser pour la connexion à la base
    • MSSQLPASSWORD: Mot de passe utilisé pour l'utilisateur MSSQL


    Panel

    Image Added


    Les paramètres spécifiques à chaque base de donnée peuvent ensuite être effectués dans l'hôte concerné.

    Tip

    Utiliser le même utilisateur pour toutes les bases supervisées permet de définir cet utilisateur une seule fois dans le modèle plutôt que individuellement pour chaque hôte. Cela permet de faire gagner du temps lors de la configuration et la maintenance.