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

Abstract

This document describes how you can monitor an MSSQL database server such as:

  • Connection time
  • The number of connections
  • Cache hit
  • etc

 

There are some steps you’ll need to follow in order to monitor a new database machine: 

  • Understand what is already available (in the Shinken Entreprise installation) 
  • Setup the MSSQL user account
  • Test the connection to the database 
  • Setup your server host definition  


    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

    What is already available in the Shinken Installation

    To make your life a bit easier, a few configuration tasks have already been done for you:

    Installation of
    • check_mssql_health
    plugin : 
    • est installée dans /var/lib/shinken/libexec/check_mssql_health
  • Several host templates are ready to be used
    • Des modèles d'hôtes sont préconfigurés et prêts à être utilisés


     

    Tip
    titleNote
    We suppose here that the MSSQL server you want to monitor is named On suppose dans la suite de cette documentation que le serveur MSSQL à superviser s'appelle "srv-win-1 and is a Windows. Please change the configuration and commands according with the real name of your server." 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://

    Setup the MSSQL user account

    Create the database user

    Look at the labs.consol.de/lang/en/nagios/check_mssql_health/ page about how to configure your user connection.

     

    Test de la connexion à la base

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

    Test the connection

    To see if the connection to the MSSQL server is ok using a domain user, just launch :

    Image Removed Code Block
    languagebash
    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"

    Manage more than 1 database on the same host

    Some checks presents in MSSQL templates provided by Shinken Entreprise use the "Duplicate For Each" functionality.

    For each database name listed in the DATA "DATABASES", check will be duplicated. An host, having 2 databases, will then have in double each checks with the datatabase name in the check.


    Info
    titleExampleExemple

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

    • La donnée "DATABASES" contient

    Let's look an example: an host has the following:

    The data "DATABASES" set to
    • "DB1, DB2, DB3"
  • The MSSQL template attached on it.
  • Let's consider the Mssql
    • Le modèle d'hôte "mssql" est utilisé par l'hôte

    Si on considère le check "Mssql-$KEY$-database-free

    check. It will then have 2 checks

    ", 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
    Each check able to be used on a database base will be indicated with a scope "database".
    • 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

    What is checked with the templates

    Public templates

    mssql

    This is the very basic MSSQL template allowing to know if your MSSQL database server is running and usable.

    Every MSSQL templates (except

    Mssql-connection-method)

    use it as a parent template.

    utilisent ce modèle comme parent. Il ne faut donc pas le désactiver



    CheckDetailDétailScopeCibleCheck rangeValeurs possiblesDefault Seuil Warning Default Criticalpar défautSeuil Critique par défaut
    database-freeFree space in databaseEspace libre dans le base de donnéesBase de donnéesdatabase0 to 100%2%5%
    free-list-stallsRequests Nombre de requêtes par seconde qui ont dû attendre pour avoir une page libreRequests per second that had to wait for a free pageserverServeur0 to n410
    page-life-expectancySeconds a page is kept in memory before being flushedDurée de vie en secondes d'une page avant d'être suppriméeServeurserver0 to n300:180:
    total-server-memoryThe amount of memory that SQL Server has allocated to itQuantité de mémoire totale que le server SQL utiliseServeurserver0 to n10000005000000


    Modèle mssql-full

    Contains all MSSQL host templates listed in the Shinken Adminstrators templatesCe 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

    Using the mssql-full template will require a lot of resources on your poller daemon. We advise to use only needed templates.

    Shinken Administrator templates (can't be seen by other users)

    mssql-connection-method

    This template describes the method to connect to MSSQL server. Every MSSQL templates use it as a parent template.

     

    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

    mssql-availability

    This template gives informations about the database availability.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    connectionTime to connect to the serverserver

    0 to n sec12


    Modèle mssql-backup-age

    This template gives informations about the backup age of your databasesCe modèle récupère des informations sur les sauvegardes des bases de données et leur ancienneté.

     

    CheckDetailDétailsScopeCibleCheck rangeValeurs possiblesDefault Seuil Warning Default Criticalpar défautSeuil Critique par défaut
    database-backup-ageElapsed time (in hours) since a database was last backed upNombre de secondes écoulées depuis la dernière sauvegarde de base.Base de donnéesdatabase0 to n hours4872


    Modèle mssql-batch-requests

    This template gives informations about the batch requestsCe modèle récupère des informations sur les batchs de requêtes.

     

    CheckDetailDétailsScopeCibleCheck rangeValeurs possiblesDefault Seuil Warning Default Criticalpar défautSeuil Critique par défaut
    batch-requestsBatch requests per secondNombre de batchs par secondesServeurserver0 to n100200


    Modèle mssql-checkpoint-pages

    This template gives informations about the checkpoint pages.

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


    CheckDetailDétailsScopeCibleCheck rangeValeurs possibles Default Seuil Warning Default Criticalpar défaut Seuil Critique par défaut
    checkpoint-pagesDirty pages flushed to disk per second. (usually by a checkpoint)Nombre de pages de mémoire Dirty écrites sur le disque par secondeServeurserver0 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

    This template gives informations about the latchesCe modèle récupère des informations sur les latches SQL.

     

    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.