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 pagesCe 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


    mssql-compilations

    This template gives informations about compilations.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    sql-initcompilationsInitial compilations per secondserver0 to n100200
    sql-recompilationsRe-Compilations per secondserver0 to n110


    mssql-full-scans

    This template gives informations about the full scans.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    full-scansFull table scans per secondserver0 to n100500


    mssql-latch

    This template gives informations about the latches.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    latches-wait-timeAverage time for a latch to wait before the request is metserver0 to n15
    latches-waitsNumber of latch requests that could not be granted immediatelyserver0 to n1050


    mssql-lazy-writes

    This template gives informations about the lazy writes.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    lazy-writesLazy writes per secondserver0 to n2040


    mssql-locks

    This template gives informations about locks.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    locks-deadlockThe number of deadlocks per secondserver0 to n15
    locks-timeoutsThe number of locks per second that timed outserver0 to n15
    locks-waitsThe number of locks per second that had to waitserver0 to n100500


    mssql-server-performance

    This template gives informations about MSSQL server performance.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    cpu-busyCpu busy in percentserver0 to n8090
    io-busyIO busy in percentserver0 to n8090
    mem-pool-data-buffer-hit-ratioData Buffer Cache Hit Ratioserver0 to n90:80:


    mssql-transactions

    This template gives informations about databases transactions.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    transactionsTransactions per second (per database)database0 to n1000050000


    mssql-usage

    This template gives informations about the database usage.

     

    CheckDetailScopeCheck rangeDefault WarningDefault Critical
    connected-usersNumber of currently connected usersserver0 to n5080


    How to 

    Configuration of Mssql-connection-method host template

    Click on Hosts then on Hosts Templates in the Elements menu

    Image RemovedImage Added

    In the Name field, type mssql-connection.

    Then clic on mssql-connection-method

    Clic 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

     

     

     

     

     


    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 RemovedImage Added

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

    For example the Oracle host template.

    Click on the Data tab

    Look for the field DATABASES in the From templates data

     

    Type the name of the database to be monitoring

    Check if the Following data are ok.

     

     

    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