Cette page de documentation décrit comment superviser une base de données MSSQL et surveillant des indicateurs comme:
Cette section décrit les étapes à suivre pour superviser une base de données MSSQL:
Pour rendre plus facile la supervision de bases MSSQL, quelques opérations de configuration sont déjà faites lors de l'installation:
| 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. |
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/
Pour tester la connexion à la base MSSQL en utilisant un utilisateur de domaine, lancer la commande suivante:
/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"
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:
|
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.
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 |
Ce modèle contient l'ensemble des modèles définis dans la liste des modèle visibles pour les administrateurs Shinken ci dessous.
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. |
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.
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 |
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 |
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 |
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 |
This template gives informations about compilations.
| Check | Detail | Scope | Check range | Default Warning | Default Critical |
|---|---|---|---|---|---|
| sql-initcompilations | Initial compilations per second | server | 0 to n | 100 | 200 |
| sql-recompilations | Re-Compilations per second | server | 0 to n | 1 | 10 |
This template gives informations about the full scans.
| Check | Detail | Scope | Check range | Default Warning | Default Critical |
|---|---|---|---|---|---|
| full-scans | Full table scans per second | server | 0 to n | 100 | 500 |
This template gives informations about the latches.
| Check | Detail | Scope | Check range | Default Warning | Default Critical |
|---|---|---|---|---|---|
| latches-wait-time | Average time for a latch to wait before the request is met | server | 0 to n | 1 | 5 |
| latches-waits | Number of latch requests that could not be granted immediately | server | 0 to n | 10 | 50 |
This template gives informations about the lazy writes.
| Check | Detail | Scope | Check range | Default Warning | Default Critical |
|---|---|---|---|---|---|
| lazy-writes | Lazy writes per second | server | 0 to n | 20 | 40 |
This template gives informations about locks.
| Check | Detail | Scope | Check range | Default Warning | Default Critical |
|---|---|---|---|---|---|
| locks-deadlock | The number of deadlocks per second | server | 0 to n | 1 | 5 |
| locks-timeouts | The number of locks per second that timed out | server | 0 to n | 1 | 5 |
| locks-waits | The number of locks per second that had to wait | server | 0 to n | 100 | 500 |
This template gives informations about MSSQL server performance.
| Check | Detail | Scope | Check range | Default Warning | Default Critical |
|---|---|---|---|---|---|
| cpu-busy | Cpu busy in percent | server | 0 to n | 80 | 90 |
| io-busy | IO busy in percent | server | 0 to n | 80 | 90 |
| mem-pool-data-buffer-hit-ratio | Data Buffer Cache Hit Ratio | server | 0 to n | 90: | 80: |
This template gives informations about databases transactions.
| Check | Detail | Scope | Check range | Default Warning | Default Critical |
|---|---|---|---|---|---|
| transactions | Transactions per second (per database) | database | 0 to n | 10000 | 50000 |
This template gives informations about the database usage.
| Check | Detail | Scope | Check range | Default Warning | Default Critical |
|---|---|---|---|---|---|
| connected-users | Number of currently connected users | server | 0 to n | 50 | 80 |
Click on Hosts then on Hosts Templates in the Elements menu | |
In the Name field, type mssql-connection. Then clic on mssql-connection-method | ![]() |
| Clic on Data tab | |
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.
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. |
| 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. | ![]() |
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 |