Supervision Microsoft SQL Server avec Centreon

Dans cet article, nous allons voir ensemble comment mettre en place la supervision des bases de données Microsoft SQL Server (MSSQL) installé sous Windows Server 2016. Nous allons utiliser Centreon et Centreon Plugin Pack.SQL Server

Infrastructure requise :

  • Microsoft SQL Server
  • Windows Server 2012/2016

Solution de supervision :

Supervision Windows Server

Commençons par la supervision du système lui même (Windows Server 2016). Nous allons surveiller, la charge (cpu), la mémoire, le trafic, les disques et les services Microsoft SQL Server.

Windows Server 2016 Monitoring

Afficher les modes :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --list-mode

Plugin Description:
    Check Windows operating systems in SNMP.

Global Options:
    --mode  Choose a mode.

    --dyn-mode
            Specify a mode with the path (separated by '::').

    --list-mode
            List available modes.

    --mode-version
            Check minimal version of mode. If not, unknown error.

    --version
            Display plugin version.

Modes Available:
#   cpu
#   interfaces
   list-interfaces
   list-storages
#   memory
   processcount
#   service
#   storage
   swap
   time
   uptime
[root@centreon plugins]#

Check-CPU-Windows

Supervision du CPU. Utilisation et la charge moyenne :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=cpu --hostname=SQL-SERVER --warning-average=85 --critical-average=95
OK: 8 CPU(s) average usage is: 20.50% | 
'cpu0'=30.00%;;;0;100 
'cpu1'=17.00%;;;0;100 
'cpu2'=54.00%;;;0;100 
'cpu3'=14.00%;;;0;100 
'cpu4'=14.00%;;;0;100 
'cpu5'=13.00%;;;0;100 
'cpu6'=11.00%;;;0;100 
'cpu7'=11.00%;;;0;100 
'total_cpu_avg'=20.50%;0:85;0:95;0;100
[root@centreon plugins]#

Avec le mode VERBOSE 

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=cpu --hostname=SQL-SERVER --warning-average=85 --critical-average=95 --verbose
OK: 8 CPU(s) average usage is: 20.38% | 'cpu0'=23.00%;;;0;100 'cpu1'=20.00%;;;0;100 'cpu2'=57.00%;;;0;100 'cpu3'=15.00%;;;0;100 'cpu4'=14.00%;;;0;100 'cpu5'=13.00%;;;0;100 'cpu6'=10.00%;;;0;100 'cpu7'=11.00%;;;0;100 'total_cpu_avg'=20.38%;0:85;0:95;0;100
CPU 0 Usage is 23.00%
CPU 1 Usage is 20.00%
CPU 2 Usage is 57.00%
CPU 3 Usage is 15.00%
CPU 4 Usage is 14.00%
CPU 5 Usage is 13.00%
CPU 6 Usage is 10.00%
CPU 7 Usage is 11.00%
[root@centreon plugins]#

Si vous avez l’erreur : Unknown option: warning at /usr/lib/centreon/plugins/centreon/plugins/alternative/Getopt.pm line 67.

Mettez plutôt : --warning-average=90 --critical-average=95

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-CPU-Windows
  • Ligne de commande : sans le paramètre VERBOSE
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --mode=$_SERVICEMODE$ --warning-average=$_SERVICEWARNING$ --critical-average=$_SERVICECRITICAL$

Check CPU Windows

  • Ligne de commande : avec le paramètre VERBOSE
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --mode=$_SERVICEMODE$ --warning=$_SERVICEWARNING$ --critical=$_SERVICECRITICAL$ $_SERVICEOPTION$

$USER2$ = Centreon Plugin Path = /usr/lib/centreon/plugins

  • Description des macros. Exemple :
    • MACRO (SERVICE) PLUGIN : plugin windows
    • MACRO (SERVICE) MODE : mode memory
    • MACRO (SERVICE) WARNING : seuil warning
    • MACRO (SERVICE) CRITICAL : seuil critical
    • MACRO (HOST) SNMPCOMMUNITY : communauté SNMP
    • MACRO (HOST) SNMPVERSION : version SNMP
  • Modèle graphique : CPU
  • Sauvegarder

Check-Memory-Windows

Supervision de la mémoire RAM

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=memory --hostname=SQL-SERVER --warning-memory=85 --critical-memory=95
OK: RAM Total: 63.99GB Used: 53.36GB (83.38%) Free: 10.63GB (16.62%) | 'used'=57291636736B;0:58402809446;0:65273728204;0;68709187584
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-Memory-Windows
  • Ligne de commande :
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-memory=$_SERVICEWARNING$ --critical-memory=$_SERVICECRITICAL$

Check Memory Windows

  • Description des macros. Exemple :
    • MACRO (SERVICE) PLUGIN : plugin
    • MACRO (SERVICE) MODE : mode
    • MACRO (SERVICE) WARNING : warning
    • MACRO (SERVICE) CRITICAL : critical
    • MACRO (HOST) SNMPCOMMUNITY : snmp
    • MACRO (HOST) SNMPVERSION : version
  • Modèle graphique : Memory
  • Sauvegarder

Check-Storage-Windows

Supervision des disques. Tous les disques disponibles sans le paramètre VERBOSE (–verbose)

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=storage --hostname=SQL-SERVER --warning-usage=85 --critical-usage=95
OK: All storages are ok | 'used_C:\ Label:  Serial Number 22573743'=60005175296B;0:61520369868;0:68758060441;0;72376905728 'used_D:\ Label:D  Serial Number ec46c378'=763077656576B;0:934582206259;0:1044533054054;0;1099508477952
[root@centreon plugins]#

Tous les disques disponibles avec le paramètre VERBOSE  (–verbose)

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=storage --hostname=SQL-SERVER --warning-usage=85 --critical-usage=95 --verbose
OK: All storages are ok | 'used_C:\ Label:  Serial Number 22573743'=59972947968B;0:61520369868;0:68758060441;0;72376905728 'used_D:\ Label:D  Serial Number ec46c378'=763078377472B;0:934582206259;0:1044533054054;0;1099508477952
Storage 'C:\ Label:  Serial Number 22573743' Usage Total: 67.41 GB Used: 55.85 GB (82.86%) Free: 11.55 GB (17.14%)
Storage 'D:\ Label:D  Serial Number ec46c378' Usage Total: 1024.00 GB Used: 710.67 GB (69.40%) Free: 313.32 GB (30.60%)
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-Storage-Windows
  • Ligne de commande : sans le paramètre VERBOSE
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$

Check Storage Windows

  • Ligne de commande : avec le paramètre VERBOSE
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ $_SERVICEOPTION$
  • Modèle graphique : Storage
  • Sauvegarder
  • Voir également : /#Check_All_Disk
    • Check tous les disque
    • Check uniquement le disque C (ignore G et H)
    • Check uniquement le disque G et H (ignore le C)

Afficher de l’aide --help pour voir d’autres paramètres que vous pouvez utiliser.

Mode:
    --warning-usage
            Threshold warning.

    --critical-usage
            Threshold critical.

    --warning-access
            Threshold warning.

    --critical-access
            Threshold critical. Check if storage is readOnly:
            --critical-access=@2:2

    --add-access
            Check storage access (readOnly, readWrite).

    --units Units of thresholds (Default: '%') ('%', 'B').

    --free  Thresholds are on free space left.

    --storage
            Set the storage (number expected) ex: 1, 2,... (empty means
            'check all storage').

    --name  Allows to use storage name with option --storage instead of
            storage oid index.

    --regexp
            Allows to use regexp to filter storage (with option --name).

    --regexp-isensitive
            Allows to use regexp non case-sensitive (with --regexp).

    --reload-cache-time
            Time in minutes before reloading cache file (default: 180).

    --oid-filter
            Choose OID used to filter storage (default: hrStorageDescr)
            (values: hrStorageDescr, hrFSMountPoint).

    --oid-display
            Choose OID used to display storage (default: hrStorageDescr)
            (values: hrStorageDescr, hrFSMountPoint).

    --display-transform-src
            Regexp src to transform display value. (security risk!!!)

    --display-transform-dst
            Regexp dst to transform display value. (security risk!!!)

    --show-cache
            Display cache storage datas.

    --space-reservation
            Some filesystem has space reserved (like ext4 for root). The
            value is in percent of total (Default: none) (results like 'df'
            command).

    --filter-storage-type
            Filter storage types with a regexp (Default:
            '^(hrStorageFixedDisk|hrStorageNetworkDisk|hrFSBerkeleyFFS)$').

[root@centreon plugins]#

Check-Traffic-Windows

Supervision du trafic : afficher la liste des interfaces :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=list-interfaces --hostname=SQL-SERVER --name --oid-display=ifDesc --filter-status='up'
List interfaces:
'Software Loopback Interface 1' [speed = 1073.74, status = up, id = 1]
'Broadcom BCM5709S NetXtreme II GigE (client NDIS VBD) #35' [speed = 1000, status = up, id = 12]
'Broadcom BCM5709S NetXtreme II GigE (client NDIS VBD) #36' [speed = 1000, status = up, id = 13]
...
# 'Microsoft Network Adapter Multiplexor Driver' [speed = 2000, status = up, id = 16]
...
'Broadcom BCM5709S NetXtreme II GigE (client NDIS VBD) #35-WFP Native MAC Layer LightWeight Filter-0000' [speed = 1000, status = up, id = 21]
'Broadcom BCM5709S NetXtreme II GigE (client NDIS VBD) #36-WFP Native MAC Layer LightWeight Filter-0000' [speed = 1000, status = up, id = 23]
...
'Microsoft Network Adapter Multiplexor Driver-WFP Native MAC Layer LightWeight Filter-0000' [speed = 2000, status = up, id = 26]
'Microsoft Network Adapter Multiplexor Driver-Microsoft Load Balancing/Failover Provider-0000' [speed = 2000, status = up, id = 27]
'Microsoft Network Adapter Multiplexor Driver-QoS Packet Scheduler-0000' [speed = 2000, status = up, id = 28]
'Microsoft Network Adapter Multiplexor Driver-WFP 802.3 MAC Layer LightWeight Filter-0000' [speed = 2000, status = up, id = 29]
...
[root@centreon plugins]#

Connectez-vous sur votre serveur pour identifier l’interface réseau utilisée. Dans mon cas, j’ai deux cartes réseau Broadcom en agrégation. L’interface utilisée est Microsoft Network Adapter… (id=16)

Supervision de l’interface en utilisant le nom : ‘Microsoft Network Adapter Multiplexor Driver’

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=interfaces --hostname=SQL-SERVER --interface='^Microsoft Network Adapter Multiplexor Driver$' --name --add-traffic --add-status --oid-display=ifDesc --oid-filter=ifDesc
OK: Interface 'Microsoft Network Adapter Multiplexor Driver' Status : up (admin: up), Traffic In : Buffer creation, Traffic Out : Buffer creation |
[root@centreon plugins]#

Attendez quelques secondes pour la création du buffer et relancer la commande :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=interfaces --hostname=SQL-SERVER --interface='^Microsoft Network Adapter Multiplexor Driver$' --name --add-traffic --add-status --oid-display=ifDesc --oid-filter=ifDesc
OK: Interface 'Microsoft Network Adapter Multiplexor Driver' Status : up (admin: up), Traffic In : 37.41Kb/s (0.00%), Traffic Out : 12.42Kb/s (0.00%) | 'traffic_in'=37409.59b/s;;;0;2000000000 'traffic_out'=12424.20b/s;;;0;2000000000
[root@centreon plugins]#

--interface='^Microsoft Network Adapter Multiplexor Driver$'

Explication : En utilisant les expressions régulères ‘^Microsoft Network Adapter Multiplexor Driver$’ on effectue une recherche précise. Sans ces expressions, le plugin retournera également les 4 autres interfaces commençant par “Microsoft Network…” :

Microsoft Network Adapter Multiplexor Driver-WFP…
Microsoft Network Adapter Multiplexor Driver-Microsoft…
Microsoft Network Adapter Multiplexor Driver-QoS Packet…
Microsoft Network Adapter Multiplexor Driver-WFP…

  • Le ‘^….  = veut dire, commence strictement par Microsoft Network Adapter Multiplexor Driver
  • Le ‘….$’ =  veut dire, se termine strictement par Microsoft Network Adapter Multiplexor Driver

Vous pouvez également rajouter les paramètres suivants pour obtenir un joli graphique sous Centreon :

--warning-in-traffic=80 --warning-out-traffic=80 --critical-in-traffic=90 --critical-out-traffic=90

Supervision de l’interface en utilisant l’ID : 16

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=interfaces --hostname=SQL-SERVER --interface=16 --add-traffic --add-status --oid-display=ifDesc --oid-filter=ifDesc --warning-in-traffic=80 --warning-out-traffic=80 --critical-in-traffic=90 --critical-out-traffic=90
OK: Interface 'Microsoft Network Adapter Multiplexor Driver' Status : up (admin: up), Traffic In : 59.12Kb/s (0.00%), Traffic Out : 19.61Kb/s (0.00%) | 'traffic_in'=59121.14b/s;0:1600000000;0:1800000000;0;2000000000 'traffic_out'=19609.14b/s;0:1600000000;0:1800000000;0;2000000000
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-Traffic-Windows
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --snmp-version=$_HOSTSNMPVERSION$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --mode=$_SERVICEMODE$ --interface=$_SERVICEINTERFACE$ --warning-in-traffic=$_SERVICEWARNINGIN$ --warning-out-traffic=$_SERVICEWARNINGOUT$ --critical-in-traffic=$_SERVICECRITICALIN$ --critical-out-traffic=$_SERVICECRITICALOUT$ $_SERVICEOPTION$

Check Traffic Windows

  • Modèle graphique : Traffic
  • Sauvegarder

Check-Services-MSSQL

Supervision des services SQL Server : Avec le paramètre VERBOSE

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=service --hostname=SQL-SERVER --service='^SQL Server.*' --regexp --state --critical='4:' --verbose
OK: All service states are ok |
Service 'SQL Server (MSSQLSERVER)' match (pattern: 'SQL Server.*') [operating state = active, installed state = installed]
Service 'SQL Server Reporting Services (MSSQLSERVER)' match (pattern: 'SQL Server.*') [operating state = active, installed state = installed]
Service 'SQL Server Agent (MSSQLSERVER)' match (pattern: 'SQL Server.*') [operating state = active, installed state = installed]
Service 'SQL Server CEIP service (MSSQLSERVER)' match (pattern: 'SQL Server.*') [operating state = active, installed state = installed]
Service pattern 'SQL Server.*': service list SQL Server (MSSQLSERVER), SQL Server Reporting Services (MSSQLSERVER), Enregistreur VSS SQL Server, SQL Server Agent (MSSQLSERVER), SQL Server CEIP service (MSSQLSERVER)
[root@centreon plugins]#

le '^SQL Server.*' = on check les services commençant strictement par SQL Server… (il y a donc 4 services MSSQL). Sans le paramètre VERBOSE

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=service --hostname=SQL-SERVER --service='^SQL Server.*' --regexp --state --critical='4:'
OK: All service states are ok |
[root@centreon plugins]#

le --critical='4:' = veut dire , au-dessous de 4 services, l’alerte critique se déclenche. Vous devez alors démarrer le ou les services manquants.

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-Services-MSSQL ou Check-Service-Windows
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --snmp-version=$_HOSTSNMPVERSION$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --mode=$_SERVICEMODE$ --service=$_SERVICENAME$ --critical=$_SERVICECRITICAL$ $_SERVICEOPTION$

Check Service SQL Server Windows

  • Sauvegarder

Check-Hardware (Dell PowerEdge)

Si vous vous avez un serveur Dell PowerEdge, vous pouvez superviser le châssis de votre machine. Télécharger et installez Dell OpenManage Server Administrator sur votre serveur Windows : dell.com/support

Remarque : installer OMSA par défaut et redémarrer votre serveur Windows. N’oubliez pas de configurer le service SNMP.

[root@centreon plugins]# ./centreon_plugins.pl --list-plugin | grep dell | grep PLUGIN
PLUGIN: storage::dell::TL2000::plugin
PLUGIN: storage::dell::MD3000::cli::plugin
PLUGIN: network::dell::sseries::snmp::plugin
# PLUGIN: hardware::server::dell::openmanage::snmp::plugin
PLUGIN: storage::dell::fluidfs::snmp::plugin
PLUGIN: storage::dell::ml6000::snmp::plugin
PLUGIN: network::dell::n4000::snmp::plugin
PLUGIN: hardware::server::dell::idrac::snmp::plugin
PLUGIN: storage::dell::compellent::local::plugin
PLUGIN: storage::dell::equallogic::snmp::plugin
PLUGIN: network::dell::6200::snmp::plugin
PLUGIN: storage::dell::compellent::snmp::plugin
PLUGIN: hardware::server::dell::cmc::snmp::plugin
[root@centreon plugins]#

Il y a qu’un seul mode et c’est hardware :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=hardware::server::dell::openmanage::snmp::plugin --list-mode

Plugin Description:
    Check Dell servers in SNMP thanks to Dell Openmanage.

Global Options:
    --mode  Choose a mode.

    --dyn-mode
            Specify a mode with the path (separated by '::').

    --list-mode
            List available modes.

    --mode-version
            Check minimal version of mode. If not, unknown error.

    --version
            Display plugin version.

Modes Available:
#   hardware
[root@centreon plugins]#

Afficher de l’aide :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=hardware::server::dell::openmanage::snmp::plugin --mode=hardware --hostname=SQL-SERVER --help
...
Mode:
    Check Hardware (Global status, Fans, CPUs, Power Supplies, Temperature,
    Storage).

#   --component
            Which component to check (Default: '.*'). Can be:
            'globalstatus', 'fan', 'cpu', 'psu', 'temperature',
            'cachebattery', 'physicaldisk', 'logicaldrive', 'battery',
            'controller', 'connector'.

    --exclude
            Exclude some parts (comma seperated list) (Example:
            --exclude=fan,cpu) Can also exclude specific instance:
            --exclude=fan#1#,cpu

    --no-component
            Return an error if no compenents are checked. If total (with
            skipped) is 0. (Default: 'critical' returns).

    --threshold-overload
            Set to overload default threshold values (syntax:
            section,status,regexp) It used before default thresholds (order
            stays). Example:
            --threshold-overload='temperature,CRITICAL,^(?!(ok)$)'

    --warning
            Set warning threshold for temperature, psu.power or fan (syntax:
            type,regexp,threshold) Example: --warning='temperature,.*,30'

    --critical
            Set critical threshold for temperature, psu.power or fan
            (syntax: type,regexp,threshold) Example:
            --critical='temperature,.*,40'

[root@centreon plugins]#

On peut donc superviser :

  • L’ensemble des composants : globalstatus
  • Fan, cpu, temperature, cachebattery, physicaldisk, logicaldrive, battery, controller, connector
  • Il permet donc de vérifier l’était du RAID et les disques physiques/virtuelles.

Check Dell OpenManage Hardware

[root@centreon plugins]# ./centreon_plugins.pl --plugin=hardware::server::dell::openmanage::snmp::plugin --mode=hardware --hostname=SQL-SERVER --component
WARNING: Chassis '1' global status is 'nonCritical' - Cache battery '1' status is 'nonCritical' - Controller 'PERC 6/i Integrated' status is 'nonCritical' | 'temp_1.1'=19C;;;0;
[root@centreon plugins]#

J’ai une alerte WARNING et c’est normal :

Check Dell PERC 6 i RAID Disk

Le résultat dépend bien sûr du modèle de votre serveur Dell PowerEdge. Voici un exemple avec un serveur Dell PowerEdge R730 :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=hardware::server::dell::openmanage::snmp::plugin --mode=hardware --hostname=EXCHANGE-SERVER --component='.*'
OK: All 32 components are ok [1/1 batteries, 1/1 cache batteries, 2/2 connectors, 1/1 controllers, 2/2 CPUs, 1/1 ESM log, 6/6 fans, 1/1 global system status, 1/1 logical drives, 8/8 memory modules, 2/2 physical disks, 2/2 power supplies, 4/4 temperatures]. | 'fan_1.1'=3720rpm;;;0; 'fan_1.2'=3720rpm;;;0; 'fan_1.3'=3720rpm;;;0; 'fan_1.4'=3480rpm;;;0; 'fan_1.5'=3720rpm;;;0; 'fan_1.6'=3720rpm;;;0; 'psu_power_1.1'=750W;;;0; 'psu_power_1.2'=750W;;;0; 'temp_1.1'=16C;;;0; 'temp_1.2'=27C;;;0; 'temp_1.3'=43C;;;0; 'temp_1.4'=43C;;;0;
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-Services-MSSQL ou Check-Service-Windows
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --snmp-version=$_HOSTSNMPVERSION$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --mode=$_SERVICEMODE$ --component=$_SERVICECOMPONENT$

Checl Dell Hardware OMSA

  • Sauvegarder

Supervision SQL Server (CLI)

Passons maintenant à la supervision des bases de données Microsoft SQL Server.

SQL Server Database Monitoring

Recherche de plugin :

[root@centreon plugins]# ./centreon_plugins.pl --list-plugin | grep database | grep PLUGIN
PLUGIN: database::postgres::plugin
PLUGIN: database::sap::hana::plugin
PLUGIN: database::oracle::plugin
# PLUGIN: database::mssql::plugin
PLUGIN: database::mysql::plugin
PLUGIN: database::sybase::plugin
PLUGIN: database::firebird::plugin
PLUGIN: database::informix::plugin
[root@centreon plugins]#

Les modes disponibles :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --list-mode

Plugin Description:
    Check MSSQL Server.

    --hostname
            Hostname to query.

    --port  Database Server Port.

Global Options:
    --mode  Choose a mode.

    --dyn-mode
            Specify a mode with the path (separated by '::').

    --list-mode
            List available modes.

    --mode-version
            Check minimal version of mode. If not, unknown error.

    --version
            Display plugin version.

    --sqlmode
            Choose a sql mode (Default: "dbi").

    --list-sqlmode
            List available sql modes.

    --multiple
            Multiple database connections (some mode needs it).

Modes Available:
   backup-age
   blocked-processes
   cache-hitratio
   connected-users
   connection-time
   databases-size
   dead-locks
   failed-jobs
   locks-waits
   logs-size
   sql
   sql-string
   transactions
[root@centreon plugins]#

Check-MSSQL-Cache-HitRatio

Permet de vérifier le Data Buffer Cache Hit Ratio du serveur :

Remarque : s’il y a un élément à prendre en compte pour évaluer les performances de vos bases de données, c’est le Cache Hit Ratio !

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=cache-hitratio --hostname=SQL-SERVER --username=USER --password=PASS --port=1433 --critical='90:'
OK: Buffer cache hit ratio is 100.00% | 'cache_hitratio'=100%;;90:;0;100
[root@centreon plugins]#

Plus la valeur est élevée (100%) plus les performances sont au top.

  • Si la valeur est au-dessus de 90%, cela reste toujours acceptable
  • Si la valeur est au-dessous de 90%, vous allez vous retrouver avec des performances médiocres. 

Réglez donc la valeur --critical='90:' qui veut dire, on dessous de 90%, l’alerte critical se déclenche.

Remarque : le compte et le mot de passe, c’est les identifiants utilisés pour vous connecter sur la console SQL Server Management.

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-HitRatio
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$ --critical=$_SERVICECRITICAL$

Check MSSQL Cache Hit Ratio

  • Sauvegarder

Check-MSSQL-Database

Permet de vérifier l’espace utilisé des bases de données :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --hostname=SQL-SERVER --username=USER --password=PASS --port=1433 --mode=databases-size
OK: All databases are OK | 'db_master_used_master'=4718592B;;;0;4980736 'db_model_used_model'=12184453.12B;;;0;13694402.56 'db_msdb_used_msdb'=112145203.2B;;;0;118751232 'db_tempdb_used_tempdb'=2365786685.44B;;;0;20460475514.88
[root@centreon plugins]#

Une seule base de données : la base master

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --hostname=SQL-SERVER --username=USER --password=PASS --port=1433 --mode=databases-size --filter-database='master' --warning-database=80 --critical-database=90
CRITICAL: Database 'master' Total: 4.75 MB Used: 4.50 MB (94.74%) Free: 256.00 KB (5.26%) | 'db_master_used'=4718592B;0:3984588;0:4482662;0;4980736
[root@centreon plugins]#

Remarque : il faut respectez les minuscules et les majuscules 


Si vous avez l’erreur suivant : 

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=databases-size --hostname=SQL-SERVER --username=USER --password=PASS --port=1433 --filter-database=master --warning-database=80 --critical-database=90
UNKNOWN: install_driver(Sybase) failed: Can't locate DBD/Sybase.pm in @INC (@INC contains: /usr/lib/centreon/plugins /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 9) line 3.
Perhaps the DBD::Sybase perl module hasn't been fully installed,
or perhaps the capitalisation of 'Sybase' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Oracle, Pg, Proxy, SQLite, Sponge, WMI, mysql.
 at /usr/lib/centreon/plugins/centreon/plugins/dbi.pm line 210
[root@centreon plugins]#

Solution : 

[root@centreon plugins]# yum install perl-DBD-Sybase.x86_64

Si vous avez l’erreur suivant  (CentOS 6.x) : 

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=connection-time --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
CRITICAL: Cannot connect: OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (44)
Server , database
Message String: Server name not found in configuration files.
OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (45)
Server , database
Message String: Unknown host machine name. |
[root@centreon plugins]#

J’ai eu ce problème sous CentOS 6.x. Aucun problème sous CentOS 7. 

Solution #1 : ce package est normalement installé déjà.

[root@centreon ~]# yum install freetds.x86_64

Modifier le fichier de configuration :

[root@centreon plugins]# nano /etc/freetds.conf

Modifier le dernier bloc comme ci-dessous :

# A typical Microsoft server
[sql2012]
        host = SERVER-SQL // mettez l'adresse IP c'est mieux
        port = 1433
        tds version = 7.0

Il faut ensuite supprimer et rajouter certains paramètres dans la commande. Exemple :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --username=USER --password=PASS --datasource='Sybase:server=sql2012' --mode=databases-size --filter-database='master' --warning-database=80 --critical-database=90
CRITICAL: Database 'master' Total: 4.75 MB Used: 4.50 MB (94.74%) Free: 256.00 KB (5.26%) | 'db_master_used'=4718592B;0:3984588;0:4482662;0;4980736
[root@centreon plugins]#

Vous n’avez pas besoin de mettre HOSTNAME et le PORT. Il faut ajouter --datasource='Sybase:server=sql2012'

Solution #2 : je n’ai pas essayé, il faut mettre à jour le package freetds.

Version sous CentOS 6.x

[root@centreon plugins]# tsql -C
...
            Version: freetds v0.91
...
...
...
[root@centreon plugins]#

Version sous CentOS 7.x

[root@centreon ~]# tsql -C
...
           Version: freetds v0.95.81
...
...
...
[root@centreon ~]#

Je suis sous CentOS 7. Je ne compte pas revenir en arrière. A vous de passer à la dernière version ou appliquer l’une des solutions ci-dessus.


Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-Database
  • Ligne de commande : Toutes les bases de données
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$

Check MSSQL Database Size

  • Ligne de commande : Une seule base de données :
  • Allez dans : Configuration > Collecteurs > Ressources  >  Ajouter
    • Nom de la ressource : $_SERVICEDATABASE$
    • Valeur de la ressource : 0
    • Lié au collecteur : Central
    • Status : Activé
  • Pour CentOS 6.x ajoutez également :
    • Nom de la ressource : $_SERVICEDATASOURCE$
    • Valeur de la ressource : 0
    • Lié au collecteur : Central
    • Status : Activé
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$ --filter-database=$_SERVICEDATABASE$ --warning-database=$_SERVICEWARNING$ --critical-database=$_SERVICECRITICAL$

Check MSSQL One Database Size

  • Sauvegarder

Check-MSSQL-BackupAge

Permet de vérifier les sauvegardes des bases données MSSQL. Ce temps est donné en minutes :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=backup-age --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
CRITICAL: No backup found for DB 'tempdb' | 'db_master_backup_age'=151085s;;;0; 'db_master_backup_duration'=1s;;;0; 'db_model_backup_age'=151163s;;;0; 'db_model_backup_duration'=1s;;;0; 
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-BackupAge
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Remarque : à partir d’ici, la commande ne change pas. Dupliquez la commande Check-MSSQL-BackupAge et modifier simplement le nom de la commande.

Check-MSSQL-BlockedProcess

Permet de vérifier les processus bloqués :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=blocked-processes --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
OK: 0 blocked process(es). | 'blocked_processes'=0;;;0;
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-BlockedProcess
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Check-MSSQL-ConnectedUsers

Permet de vérifier le nombre d’utilisateurs connectés à la base de données :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=connected-users --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
OK: 43 Connected user(s). | 'connected_users'=43;;;0;
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-ConnectedUsers
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Check-MSSQL-ConnectionTime

Permet de vérifier la durée de connexion au serveur. Ce temps est donné en secondes :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=connection-time --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
OK: Connection established in 0.018s. | 'connection_time'=18ms;;;0;
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-ConnectionTime
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Check-MSSQL-DeadLocks

Permet de vérifier le nombre de “deadlocks” par seconde du serveur :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=dead-locks --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
OK: 0 dead locks/s. | 'dead_locks'=0/s;;;0;
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-DeadLocks
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Check-MSSQL-FailedJobs

Permet de vérifier les jobs MSSQL en erreur :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=failed-jobs --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
OK: All jobs are ok. | 'failed_jobs'=0;;;0;2
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-FailedJobs
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Check-MSSQL-LockWaits

Permet de vérifier le nombre de “locks-waits” par seconde du serveur :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=locks-waits --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
OK: 0 Locks Waits/s. | 'locks_waits'=0/s;;;0;
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-LockWaits
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Check-MSSQL-Transactions

Permet de vérifier le nombre de transactions par seconde du serveur :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=transactions --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
OK: 100.89 transactions/s. | 'tranUSERctions'=100.89/s;;;0;
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-Transactions
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Check-MSSQL-LogsSize

Permet de vérifier l’espace utilisé par les logs des bases de données :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=logs-size --hostname=SQL-SERVER --username=USER --password=PASS --port=1433
OK: All logs are OK | 'log_master_used'=559103.975B;;;0;778240 'log_model_used'=1364480.01648438B;;;0;9428992 'log_msdb_used'=906752.0271875B;;;0;1564672 'log_tempdb_used'=380103137.195156B;;;0;2337660928
[root@centreon plugins]#

Commande Centreon UI : Configuration > Commandes >

  • Nom de la commande : Check-MSSQL-LogsSize
  • Ligne de commande : 
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --mode=$_SERVICEMODE$ --username=$_SERVICEUSERNAME$ --password=$_SERVICEPASSWORD$ --port=$_SERVICEPORT$
  • Sauvegarder

Supervision SQL Server (UI)

Je vous donne un exemple pour la création d’un service pour l’hôte SQL-SERVER (déjà créée).

Check-MSSQL-HitRatio

  • Configuration > Services > Ajouter
    • Description : Check-MSSQL-HitRatio
    • Lié aux hôtes : SQL-SERVER
    • Modèle : Service_template
    • Commande de vérification : Check-MSSQL-HitRatio

Service MSSQL Cache Hit Ratio

  • Sauvegarder

Check-Traffic-Windows

Voici un exemple pour le trafic en utilisant l’ID de l’interface :

  • Configuration > Services > Ajouter
    • Description : Check-Traffic-Windows
    • Lié aux hôtes : SQL-SERVER
    • Modèle : Service_template
    • Commande de vérification : Check-Traffic-Windows

Service MSSQL Traffic Windows

  • Le champ OPTION contient :--add-traffic --add-status --oid-display=ifDesc --oid-filter=ifDesc
  • Sauvegarder

Rappel de la commande :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=os::windows::snmp::plugin --mode=interfaces --hostname=SQL-SERVER --interface=16 --add-traffic --add-status --oid-display=ifDesc --oid-filter=ifDesc --warning-in-traffic=80 --warning-out-traffic=80 --critical-in-traffic=90 --critical-out-traffic=90 
OK: Interface 'Microsoft Network Adapter Multiplexor Driver' Status : up (admin: up), Traffic In : 59.12Kb/s (0.00%), Traffic Out : 19.61Kb/s (0.00%) | 'traffic_in'=59121.14b/s;0:1600000000;0:1800000000;0;2000000000 'traffic_out'=19609.14b/s;0:1600000000;0:1800000000;0;2000000000
[root@centreon plugins]#

Service MSSQL Traffic Windows OK

Check-MSSQL-BDD

Faisons pour une seule base :

  • Configuration > Services > Ajouter
    • Description : Check-MSSQL-BDD
    • Lié aux hôtes : SQL-SERVER
    • Modèle : Service_template
    • Commande de vérification : Check-MSSQL-BDD

Service MSSQL Database Size

  • Sauvegarder

Relancer le collecteur central pour prendre en compte la configuration. Voir #Demarrage_de_la_supervision

Après quelques secondes :

Centreon Microsoft SQL Server Monitoring

Service MSSQL Database Size Critical

Service MSSQL Cache Hit Ratio 100%

C’est terminé les amis. A vous de mettre en place les autres services. N’hésitez surtout pas en cas de besoin.

Bonne journée et à très bientôt.

 
Besoin d’aide ? des questions ?

Venez sur le forum
logo Forum Pixelabs
***********
La rédaction de cette documentation demande beaucoup de temps, de motivation, mais surtout beaucoup de café 🙂

Vous aimez pixelabs ?

Offrez moi un petit café en cliquant sur la tasse ci-dessous.
pixelans_donation
Merci !

17 réponses

  1. Mickael dit :

    Salut, c’est encore moi désolé!
    Je Check-MSSQL-BlockedProcess fonctionne bien mais je voudrais lui ajouter un warning et critical, j’ai donc essayé d’ajouter --critical=$_SERVICECRITICAL$ à la fin de la commande mais le plugin ne fonctionne plus et sa met en UNKNOW…
    Avez-vous une solution ? merci

    • sysadmin dit :

      Salut,
      Il faut mettre plutôt :
      --warning-blocked-processes=$_SERVICEWARNING$ --critical-blocked-processes=$_SERVICECRITICAL$

      Tu peux voir plus d’information en affichant de l’aide :

      ./centreon_plugins.pl --plugin=database::mssql::plugin --datasource='Sybase:server=sql2016' --username='user' --password='pass' --mode=blocked-processes --help
      Mode:
          Checks if some processes are in a blocked state.
      
          --filter-status
                  Filter results based on the status (can be a regexp).
      
          --filter-program
                  Filter results based on the program (client) name (can be a
                  regexp).
      
          --filter-command
                  Filter results based on the command name (can be a regexp).
      
      #    --warning-blocked-processes
                  Threshold warning for total number of blocked processes.
      
      #    --critical-blocked-processes
                  Threshold critical for total number of blocked processes.
      
      #    --warning-wait-time
                  Threshold warning for blocked wait time.
      
      #    --critical-wait-time
                  Threshold critical for blocked wait time.

      Bonne journée 🙂
      -sysadmin

      • Mickael dit :

        au top merci! je viens comprendre l’utilité de la commande –help -‘

  2. Mickael dit :

    Bonjour,

    Est-il possible de checker avec le plugin mssql, l’instance de la base de données ? Car mon problème est le suivant:
    L’authentification sur mon management sql server fonctionne comme cela: srv-toto\NomDeLinstance
    Du coup en mettant juste le --hostname=srv-toto, la connexion ne fonctionne pas :/

    Merci

    • sysadmin dit :

      Salut,
      C’est quoi le résultat avec le paramètre --hostname ?

      • Mickael dit :

        Salut,
        J’ai un UNKNOW: Cannot connect: Adapative Server is unavailable or does not exist
        Et ma connexion sur le serveur directement via SQL Management studio, je suis obligé de mettre l’instance après le nom du serveur sinon la connexion ne se fait pas.

        • sysadmin dit :

          Salut,
          j’ai tenté pas mal de combine, mais ça ne fonctionne pas :-/
          je ne sais pas si c’est lié à la configuration de ton serveur SQL, mais moi ça marche directement ou en passant par FREETDS :

          Connexion direct :

          ./centreon_plugins.pl --plugin=database::mssql::plugin --hostname=sql-server.pixelabs.lan --username='sa' --password='pass' --port=58141 --mode=connected-users
          OK: 62 Connected user(s). | 'connected_users'=62;;;0;

          Connexion via FREETDS :

          [root@centreon plugins]# cat /etc/freetds.conf
          [...]
          [sql2016]
                  host = sql-server.pixelabs.lan
                  port = 58141
          #       port = 1433
                  tds version = 8.0
          [root@centreon plugins]#
          /centreon_plugins.pl --plugin=database::mssql::plugin --datasource='Sybase:server=sql2016' --username='sa' --password='pass' --mode=connected-users
          OK: 46 Connected user(s). | 'connected_users'=46;;;0;

          ou

          ./centreon_plugins.pl --plugin=database::mssql::plugin --server='sql2016' --username='sa' --password='pass' --mode=connected-users
          OK: 55 Connected user(s). | 'connected_users'=55;;;0;

          Je n’ai rien trouvé d’autres, désolé :-/
          Bonne journée.
          -sysadmin

          • Mickael dit :

            Merci! j’ai réussi, en fait rien à voir… le port utilisé par SQL Server n’était pas celui par défaut, ils ont utilisé un port aléatoire! Ca fonctionne merci pour vos tuto super!

          • sysadmin dit :

            Salut,
            C’est super 🙂
            Bonne journée.
            -sysadmin

  3. martial dit :

    Bonjour,
    problème rencontrer avec cette commande

    [root@centreon ~]# cd  /usr/lib64/nagios/plugins/                                                                                                                          
    [root@centreon plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=blocked-processes --hostname=xxxxxxxxxxxxx --username=xxxxxx --password=xxxxxxx --port=1433 --mode=connection-time
    
    ct_describe() failed at /usr/lib64/nagios/plugins/centreon/plugins/dbi.pm line 274.
    
    OK: Connection established in 0.031s. | 'connection_time'=31ms;;;0;

    si vous avez une idée je suis preneur 😉

    Bonne journée à tous

  4. Mickael dit :

    Bonjour,

    Merci beaucoup pour ton tutoriel très bien détaillé au top!
    J’ai 2 questions:

    1. Avez-vous un script en cas de suppression d’une BDD, car j’ai essayé avec la commande Check-MSSQL-BDD sur une seule base de données et de la supprimer, le résultat après suppression est: ‘OK: All databases are OK’

    2. Le script Check-MSSQL-BackupAge, check malheureusement aussi la ‘tempdb’ qui ne peut jamais etre sauvegarder donc il y a t-il un moyen que son statut ne soit pas tout le temps en CRITICAL et qu’il check toutes les autres bdd sauf ‘tempdb’.

    Merci à vous

    • pixelabs dit :

      Salut Mickeal,

      Pour ta première question, je ne comprends pas, si la base est supprimée, normalement l’état doit passé en Critical… as-tu bien supprimé la base (et relancer SQL peut être ?). Sinon, je ne sais pas désolé.

      Pour ta deuxième question, il suffit d’ajouter dans le champs OPTION le paramètre suivant : –skip-no-backup
      Sans ce paramètre :

      [root@pixelabs plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=backup-age --hostname=HOST --username=USER --password=PASS --port=1433
      CRITICAL: No backup found for DB 'tempdb' |[...] 


      Avec le paramètre –skip-no-backup

      [root@pixelabs plugins]# ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=backup-age --hostname=HOST --username=USER --password=PASS --port=1433 --skip-no-backup
      OK: All backups are ok. |[...] 

      Bonne journée.
      -Pixel.

      • Mickael dit :

        Merci, pour le Check-MSSQL-BDD impossible, j’ai toujours ‘OK: All databases are OK’ :/
        Pour le –skip-no-backup ça fonctionne parfaitement merci.

        Désolé encore petit question sur le Check-MSSQL-LogsSize. Ça traduit bien la taille des bases mais peut-on y ajouter un warning et critical ?
        Car j’ai une base pleine pour tester, mais aucune alerte >
        ‘log_test_bdd2_used’=752465592.3175B;;;0;754835456

        J’ai essayé d’y ajouter –warning-database=80 mais option inconnu.

        • pixelabs dit :

          Le Check-MSSQL-BDD vérifie l’état de toutes les bases de données, mais tu peux filtrer en vérifiant base par base. Exemple ici, la base master :

           ./centreon_plugins.pl --plugin=database::mssql::plugin --mode=databases-size --hostname=HOST --username=USER --password=PASS --port=1433 --filter-database='master'
          OK: Database 'master' Total: 14.94 MB Used: 14.69 MB (98.33%) Free: 256.00 KB (1.67%) | ... 

          Pour Check-MSSQL-LogsSize, il faut utiliser plutôt :

          --warning-log=80 --critical-log=90

          -Pixel.

  5. pixelabs dit :

    Mise à jour de l’article