Aller au contenu principal

Amazon RDS

Vue d'ensemble​

Amazon Relational Database Service (Amazon RDS) est un service web qui facilite la configuration, l'exploitation et la mise à l'échelle d'une base de données relationnelle dans le Cloud AWS. Il fournit des capacités redimensionnables, à faible coût, pour les bases de données relationnelles classiques, et gère les tâches courantes d'administration de base de données.

Contenu du pack de supervision​

Objets supervisés​

  • Instances (MySQL, MariaDB, Oracle ...)
  • Clusters (Aurora, ...)

Règles de découvertes​

Rule nameDescription
Cloud-Aws-Rds-Api-HostDiscoveryDiscover Instances and Clusters from your Cloudwatch endpoint

Métriques collectées​

Vous pouvez vous renseigner en détails sur les métriques présentées ci après sur la documentation officiel du service RDS: https://docs.aws.amazon.com/rds/index

Metric nameDescriptionUnit:
DatabaseConnectionsNumber of connections to the database.Count

Prerequisistes​

AWS Configuration​

Voici la liste des droits nécessaires au travers des access/secret key utilisées pour pouvoir utiliser le monitoring AWS/RDS:

AWS PrivilegeDescription
rds:DescribeDBInstancesDisplay RDS instances & cluster descriptions
cloudwatch:getMetricStatisticsGet metrics from the AWS/RDS namespace on Cloudwatch

Plugin dependencies​

Afin de récupérer les informations nécessaires via les APIs AWS, il est possible d'utiliser soit le binaire awscli, soit le SDK perl Paws. Le SDK est recommandé car plus performant. Attention il n'est pas possible d'utiliser perl-Paws si vous passez pas un proxy !

yum install perl-Paws

Installation​

  1. Installer le code du connecteur sur l'ensemble des collecteurs supervisant des ressources RDS:
yum install centreon-plugin-Cloud-Aws-Rds-Api
  1. Installer le pack depuis la page Configuration > Gestionnaire de connecteurs de supervision:

Configuration​

En fonction du type d'instance et de la base de données supervisée, choisissez le modèle d'hôte correspondant dans ceux commençant par "Cloud-Aws-Rds-". Une fois le modèle d'hôte appliqué, il est possible de définir l'ensemble des macros nécessaires au fonctionnement des contrôles:

ObligatoireNomDescription
XAWSSECRETKEYAWS Secret key of your IAM role. Password checkbox must be checked
XAWSACESSKEYAWS Access key of your IAM role. Password checkbox must be checked
XAWSREGIONRegion where the instance is running
XAWSCUSTOMMODECustom mode to get metrics, 'awscli' is the default, you can also use 'paws' perl library
XAWSINSTANCENAMEName of the instance you want to monitor
XAWSINSTANCETYPEInstance type checked ('instance' or 'cluster')
PROXYURLConfigure proxy URL informations
EXTRAOPTIONSAny extraoptions you may want to add to every command_line (eg. a --verbose flag)
DUMMYSTATUSHost state. Default is OK, do not modify it until you know what you are doing
DUMMYOUTPUTHost check output. Default is 'This is a dummy check'. Customize it with your own if needed

FAQ​

Comment tester en ligne de commande et quelles significations portent les options principales ?​

A partir du moment ou la sonde est installée, vous pouvez tester directement depuis votre poller de supervision avec l'utilisateur centreon-engine:

/usr/lib/centreon/plugins//centreon_aws_rds_api.pl \
--plugin=cloud::aws::rds::plugin \
--mode=connections \
--custommode='awscli' \
--aws-secret-key='*******************' \
--aws-access-key='**********' \
--region='eu-west-1' \
--type='cluster' \
--name='dev-cluster' \
--environment='HTTPS_PROXY=http://proxy.int.company.com:3128/' \
--filter-metric='' \
--statistic='average' \
--timeframe='600' \
--period='60' \
--warning-databaseconnections-average='25' \
--critical-databaseconnections-average='50' \
--verbose

OK: Cluster 'dev-cluster' average DatabaseConnections: 3 | 'dev-cluster#databaseconnections_average'=3;25;50;0;
Cluster 'dev-cluster' average DatabaseConnections: 3

La commande ci-dessus interroge le nombre de connections (--mode=connections sur un cluster de base de données (--type='cluster') dont le nom est dev-cluster (--name='dev-cluster'). Ce cluster est herbergé sur la zone/région eu-west-1 d'AWS (--region='eu-west-1'). La valeur de la métrique sera une moyenne (--statistic='average') sur une période de 600 secondes / 10 min (--timeframe='600') et échantilloné à un point par minute (--period='60').

Une alerte WARNING sera déclenchée si la valeur dépasse 25, et CRITICAL si elle dépasse 50 (--warning-databaseconnections-average='25' --critical-databaseconnections-average='50').

Toutes les options des différents modes sont consultables via le help:

/usr/lib/centreon/plugins//centreon_aws_rds_api.pl --plugin=cloud::aws::rds::plugin --mode=<modename> --help

UNKNOWN: No metrics. Check your options or use --zeroed option to set 0 on undefined values​

Lors du déploiement de mes contrôles, j'obtiens le message suivant 'UNKNOWN: No metrics. Check your options or use --zeroed option to set 0 on undefined values'. Cela signifie qu'Amazon Cloudwatch n'a pas consolidé de données sur la période.

Vous pouvez ajouter ' --zeroed' à la macro EXTRAOPTIONS du service en question afin de forcer le stockage d'un 0 et ainsi éviter un statut UNKNWON.