Microsoft SQL Server
Contenu du Pack
Modèles
Le Plugin Pack Centreon Microsoft SQL Server apporte un modèle d'hôte :
- App-DB-MSSQL-custom
Il apporte les modèles de service suivants :
Alias | Modèle de service | Description | Défaut |
---|---|---|---|
Backup-Age | App-DB-MSSQL-Backup-Age | Contrôle permettant de vérifier les sauvegardes des bases données MSSQL | |
Blocked-Processes | App-DB-MSSQL-Blocked-Processes | Contrôle permettant de vérifier les processus bloqués. Ce service utilise une requête non valide selon les versions MS SQL Server | X |
Cache-Hitratio | App-DB-MSSQL-Cache-Hitratio | Contrôle permettant de vérifier le "Data Buffer Cache Hit Ratio" du serveur. Aucune alerte par défaut | |
Connected-Users | App-DB-MSSQL-Connected-Users | Contrôle permettant de vérifier le nombre d'utilisateurs connectés à la base de données | X |
Connection-Time | App-DB-MSSQL-Connection-Time | Contrôle permettant de vérifier la durée de connexion au serveur. Ce temps est donné en secondes | X |
Databases-Size | App-DB-MSSQL-Databases-Size | Contrôle permettant de vérifier l'espace utilisé des bases de données du serveur | X |
Deadlocks | App-DB-MSSQL-Deadlocks | Contrôle permettant de vérifier le nombre de "deadlocks" par seconde du serveur | X |
Failed-Jobs | App-DB-MSSQL-Failed-Jobs | Contrôle les jobs MSSQL en erreur | X |
Locks-Waits | App-DB-MSSQL-Locks-Waits | Contrôle permettant de vérifier le nombre de "locks-waits" par seconde du serveur | |
Page-Life-Expectancy | App-DB-MSSQL-Page-Life-Expectancy | Contrôle permettant de vérifier le "Page Life Expectancy" du serveur. Aucune alerte par défaut | |
Sql-Statement | App-DB-MSSQL-Sql-Statement | Contrôle permettant d'exécuter une requête SQL personnalisée renvoyant une donnée numérique | |
Sql-Statement-String | App-DB-MSSQL-Sql-Statement-String | Contrôle permettant d'exécuter une requête SQL personnalisée renvoyant une chaîne de caractères | |
Transactions | App-DB-MSSQL-Transactions | Contrôle permettant de vérifier le nombre de transactions par seconde du serveur. Aucune alerte par défaut | X |
Métriques & statuts collectés
- Backup-Age
- Blocked-Processes
- Cache-Hitratio
- Connected-Users
- Connection-Time
- Databases-Size
- Deadlocks
- Failed-Jobs
- Locks-Waits
- Page-Life-Expectancy
- Sql-Statement
- Sql-Statement-String
- Transactions
Métrique | Unité |
---|---|
last-duration | |
last-execution |
Métrique | Unité |
---|---|
blocked-processes | |
processes#wait-time |
Métrique | Unité |
---|---|
mssql.cache.hitratio.percentage | % |
Métrique | Unité |
---|---|
mssql.users.connected.count | count |
Métrique | Unité |
---|---|
connection.time.milliseconds | ms |
Métrique | Unité |
---|---|
datafiles.space.usage.bytes | bytes |
datafiles.space.free.bytes | bytes |
datafiles.space.usage.percentage | % |
logfiles.space.usage.bytes | bytes |
logfiles.space.free.bytes | bytes |
logfiles.space.usage.percentage | % |
Métrique | Unité |
---|---|
mssql.deadlocks.count | count |
Métrique | Unité |
---|---|
jobs. | |
jobs.total.count | count |
job.duration.seconds | s |
Métrique | Unité |
---|---|
mssql.lockswaits.count | count |
Métrique | Unité |
---|---|
page.life.expectancy.seconds | s |
Métrique | Unité |
---|---|
sqlrequest.execution.time.seconds | s |
Métrique | Unité |
---|---|
rows#string |
Métrique | Unité |
---|---|
databases.transactions.persecond | /s |
database#database.transactions.persecond | /s |
Prérequis
Utilisateur de supervision
Afin d'utiliser cette sonde, il est nécessaire de configurer un utilisateur avec des droits suffisants. Le rôle serveradmin peut être utilisé pour du test mais ne doit pas être utilisé pour de la production en raison du risque de sécurité associé.
Un contributeur de la sonde check_mssql_health, Birk Bohne, a écrit un script permettant d'assigner un minimum de privilèges pour que la majorité des contrôles fonctionnent. Ce script peut être trouvé dans la section Preparation of the database ici.
Néanmoins, la solution la plus optimale est l'utilisation d'un compte du domaine.
Dépendances
Il est nécessaire d'installer les paquets suivants: freetds perl-DBD-Sybase unixODBC
.
Configuration de freetds
Par défaut, la version utilisée dans le fichier de configuration de freetds est la 4.2. Il est nécessaire d'utiliser au
moins la version 8.0 pour un fonctionnement et une sécurité optimales. Pour cela, éditer le fichier freetds.conf afin de
décommenter la ligne version = 4.2
et remplacer 4.2
par 8.0
.
Chemin du fichier:
- RedHat-like: /etc/freetds.conf
- Debian 11: /etc/freetds/freetds.conf
Installation
Pack de supervision
Si la plateforme est configurée avec une licence online, l'installation d'un paquet n'est pas requise pour voir apparaître le pack dans le menu Configuration > Plugin Packs > Gestionnaire.
Au contraire, si la plateforme utilise une licence offline, installez le paquet sur le serveur central via la commande correspondant au gestionnaire de paquet associé à sa distribution :
- Alma / RHEL / Oracle Linux 8
- CentOS 7
- Debian 11
dnf install centreon-pack-applications-databases-mssql
yum install centreon-pack-applications-databases-mssql
apt install centreon-pack-applications-databases-mssql
Quel que soit le type de la licence (online ou offline), installez le Pack Microsoft SQL Server depuis l'interface web et le menu Configuration > Plugin Packs > Gestionnaire.
Plugin
À partir de Centreon 22.04, il est possible de demander le déploiement automatique du plugin lors de l'utilisation d'un pack.
Plus d'informations dans la section Installer le plugin.
Utilisez les commandes ci-dessous en fonction du gestionnaire de paquets de votre système d'exploitation :
- Alma / RHEL / Oracle Linux 8
- CentOS 7
- Debian 11
dnf install centreon-plugin-Applications-Databases-Mssql
yum install centreon-plugin-Applications-Databases-Mssql
apt install centreon-plugin-applications-databases-mssql
Configuration
Hôte
- Ajoutez un hôte à Centreon depuis la page Configuration > Hôtes.
- Complétez les champs Nom, Alias & IP Address/DNS correspondant à votre serveur SQL Server database.
- Appliquez le modèle d'hôte App-DB-MSSQL-custom.
- Une fois le modèle appliqué, les macros ci-dessous indiquées comme requises (Obligatoire) doivent être renseignées.
Obligatoire | Macro | Description |
---|---|---|
EXTRAOPTIONS | Options supplémentaires à ajouter à l'ensemble des commandes de l'hôte (ex: --verbose) | |
X | MSSQLPASSWORD | Mot de passe d'accès à la base de données (Défaut : 'PASSWORD') |
X | MSSQLPORT | Port d'écoute de l'instance MSSQL (Défaut : '1433') |
X | MSSQLUSERNAME | Utilisateur utilisé pour réaliser le contrôle (Défaut : 'USERNAME') |
Comment puis-je tester le plugin et que signifient les options des commandes ?
Une fois le plugin installé, vous pouvez tester celui-ci directement en ligne
de commande depuis votre collecteur Centreon en vous connectant avec
l'utilisateur centreon-engine (su - centreon-engine
) :
/usr/lib/centreon/plugins//centreon_mssql.pl \
--plugin database::mssql::plugin \
--hostname 10.0.0.1 \
--port 1433 \
--username 'USERNAME@DOMAIN' \
--password 'PASSWORD' \
--mode=connected-users \
--warning-connected-user='' \
--critical-connected-user='' \
--verbose \
--use-new-perfdata
La commande devrait retourner un message de sortie similaire à :
OK: 20 connected user(s) | 'mssql.users.connected.count'=20;;;0;
La liste de toutes les options complémentaires et leur signification peut être
affichée en ajoutant le paramètre --help
à la commande :
/usr/lib/centreon/plugins//centreon_mssql.pl \
--plugin database::mssql::plugin \
--hostname 10.0.0.1 \
--help
Tous les modes disponibles peuvent être affichés en ajoutant le paramètre
--list-mode
à la commande :
/usr/lib/centreon/plugins//centreon_mssql.pl \
--plugin database::mssql::plugin \
--list-mode
Diagnostic des erreurs communes
Rendez-vous sur la documentation dédiée pour le diagnostic des erreurs communes des plugins Centreon.