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 | ||||
|---|---|---|---|---|
| ||||
|
É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 | ||
|---|---|---|
| ||
| 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 | ||
|---|---|---|
| ||
Par exemple, un hôte possède la configuration suivante:
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:
|
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 |
| Check | Détail | Cible | Valeurs possibles | Seuil Warning par défaut | Seuil Critique par défaut |
|---|---|---|---|---|---|
| database-free | Espace libre dans le base de données | Base de données | 0 to 100% | 2% | 5% |
| free-list-stalls | Nombre de requêtes par seconde qui ont dû attendre pour avoir une page libreRequests per second that had to wait for a free page | Serveur | 0 to n | 4 | 10 |
| page-life-expectancy | Durée de vie en secondes d'une page avant d'être supprimée | Serveur | 0 to n | 300: | 180: |
| total-server-memory | Quantité de mémoire totale que le server SQL utilise | Serveur | 0 to n | 1000000 | 5000000 |
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 | ||
|---|---|---|
| ||
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
| Check | Détails | Cible | Valeurs possibles | Seuil Warning par défaut | Seuil Critique par défaut |
|---|---|---|---|---|---|
| connection | Temps de connexion au serveur | Serveur | 0 to n sec | 1 | 2 |
Modèle mssql-backup-age
Ce modèle récupère des informations sur les sauvegardes des bases de données et leur ancienneté.
| Check | Détails | Cible | Valeurs possibles | Seuil Warning par défaut | Seuil Critique par défaut |
|---|---|---|---|---|---|
| database-backup-age | Nombre de secondes écoulées depuis la dernière sauvegarde de base. | Base de données | 0 to n hours | 48 | 72 |
Modèle mssql-batch-requests
Ce modèle récupère des informations sur les batchs de requêtes.
| Check | Détails | Cible | Valeurs possibles | Seuil Warning par défaut | Seuil Critique par défaut |
|---|---|---|---|---|---|
| batch-requests | Nombre de batchs par secondes | Serveur | 0 to n | 100 | 200 |
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.
| Check | Détails | Cible | Valeurs possibles | Seuil Warning par défaut | Seuil Critique par défaut |
|---|---|---|---|---|---|
| checkpoint-pages | Nombre de pages de mémoire Dirty écrites sur le disque par seconde | Serveur | 0 to n | 100 | 500 |
Modèle mssql-compilations
This template gives informations about compilationsCe modèle récupère du serveur des informations sur les compilations SQL.
| Check | DetailDétails | ScopeCible | Check rangeValeurs possibles | Default Seuil Warning Default Criticalpar défaut | Seuil Critique par défaut | |
|---|---|---|---|---|---|---|
| sql-initcompilations | Initial compilations per second | Nombre initial de compilations par seconde | serveurserver | 0 to n | 100 | 200 |
| sql-recompilations | Re-Compilations per second | Nombre de recompilations par seconde | serveurserver | 0 to n | 1 | 10 |
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.
| Check | DetailDétails | ScopeCible | Check rangeValeurs possibles | Default Seuil Warning Default Criticalpar défaut | Seuil Critique par défaut | |
|---|---|---|---|---|---|---|
| full-scans | Full table scans per second | Nombre de scans de table complets par seconde | serveurserver | 0 to n | 100 | 500 |
Modèle mssql-latch
mssql-latch
Ce modèle récupère des informations sur les latches SQLThis template gives informations about the latches.
| Check | DetailDétails | ScopeCible | Check rangeValeurs possibles | Default Seuil Warning Default Criticalpar défaut | Seuil Critique par défaut | |
|---|---|---|---|---|---|---|
| latches-wait-time | Average time for a latch to wait before the request is met | Temps moyen de latch avant qu'une requête soit acceptée | serveurserver | 0 to n | 1 | 5 |
| latches-waits | Number of latch requests that could not be granted immediately | Nombre de requêtes qui n'ont pas pu être satisfaites immédiatement à cause des latches | serveurserver | 0 to n | 10 | 50 |
Modèle mssql-lazy-writes
This template gives informations about the lazy writesCe modèle récupère les informations sur les écritures "lazy".
| Check | DetailDétails | ScopeCible | Check rangeValeurs possibles | Default Seuil Warning Default Criticalpar défaut | Seuil Critique par défaut | |
|---|---|---|---|---|---|---|
| lazy-writes | Lazy writes per second | Nombre de "lazy writes" par seconde | serveurserver | 0 to n | 20 | 40 |
Modèle mssql-locks
This template gives informations about locksCe modèle donne des informations à propos des locks SQL.
| Check | DetailDétails | ScopeCible | Check rangeValeurs possibles | Default Seuil Warning Default Criticalpar défaut | Seuil Critique par défaut | |
|---|---|---|---|---|---|---|
| locks-deadlock | The number of deadlocks per second | Nombre de locks par seconde | serveurserver | 0 to n | 1 | 5 |
| locks-timeouts | The number of locks per second that timed out | Nombre de locks par seconde qui ont expiré | serveurserver | 0 to n | 1 | 5 |
| locks-waits | The number of locks per second that had to wait | Nombre de locks par seconde qui ont du attendre | serveurserver | 0 to n | 100 | 500 |
Modèle mssql-server-performance
This template gives informations about MSSQL server performanceCe modèle donne des renseignements sur les performances du server MSSQL.
| Check | DetailDétails | ScopeCible | Check rangeValeurs possibles | Default Seuil Warning Default Criticalpar défaut | Seuil Critique par défaut | |
|---|---|---|---|---|---|---|
| cpu-busy | Cpu busy in percent | Pourcentage de CPU utilisé pour le calcul (busy) | serveurserver | 0 to n | 80 | 90 |
| io-busy | IO busy in percent | Pourcentage de CPU utilisé pour les attentes sur les entrées/sorties | serveurserver | 0 to n | 80 | 90 |
| mem-pool-data-buffer-hit-ratio | Data Buffer Cache Hit Ratio | Ratio d'utilisation du cache et des buffers | serveurserver | 0 to n | 90: | 80: |
Modèle mssql-transactions
This template gives informations about databases transactionsCe modèle donne des informations relatives aux transactions dans la base.
| Check | DetailDétails | ScopeCible | Check rangeValeurs possibles | Default Seuil Warning Default Criticalpar défaut | Seuil Critique par défaut |
|---|---|---|---|---|---|
| transactions | Transactions per second (per databaseNombre de transactions par seconde (par base)database | base | 0 to n | 10000 | 50000 |
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.
| Check | DetailDétails | ScopeCible | Check rangeValeurs possibles | Default Seuil Warning Default Criticalpar défaut | Seuil Critique par défaut | |
|---|---|---|---|---|---|---|
| connected-users | Number of currently connected users | Nombre d'utilisateurs actuellement connectés | serveurserver | 0 to n | 50 | 80 |
Comment utiliser le pack mssql
Configuration
ofdu modèle d'hôte "Mssql-connection-method
host templateClick on Hosts then on Hosts Templates in the Elements menu
In the Name field, type mssql-connection.
Then clic on mssql-connection-method
You can setup the following DATA :
The parameters specifics to each server, such as database name for example, has to be done in the host's data itself.
| Tip | ||
|---|---|---|
| ||
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 menu | |
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 | ||
|---|---|---|
| ||
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 |
|---|
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 |
|---|
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. |





