Aller au contenu principal

Amazon SQS

Contenu du Pack​

Modèles​

Le connecteur de supervision Centreon Amazon SQS apporte un modèle d'hôte :

  • Cloud-Aws-Sqs-custom

Il apporte le modèle de service suivant :

AliasModèle de serviceDescriptionDéfaut
Sqs-QueuesCloud-Aws-Sqs-Queues-ApiContrôle la file d'attente Amazon SQSX

Règles de découverte​

Ce pack propose une règle de découverte d'hôtes permettant de découvrir automatiquement des ressources AWS SQS :

image

Vous trouverez plus d'informations sur la découverte d'Hôtes et son fonctionnement sur la documentation du module : Découverte des hôtes

Métriques collectées​

Plus de détails sur les métriques présentées ci-après sont disponibles sur la documentation officielle du service SQS: https://docs.aws.amazon.com/fr_fr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-monitoring-using-cloudwatch

Metric nameDescriptionUnit
sqs.queue.messages.oldest.secondsThe approximate age of the oldest non-deleted message in the queue.s
sqs.queue.messages.delayed.countThe number of messages in the queue that are delayed and not available for reading immediately.
sqs.queue.messages.notvisible.countThe number of messages that are in flight.
sqs.queue.messages.visible.countThe number of messages available for retrieval from the queue.
sqs.queue.messages.empty.countThe number of ReceiveMessage API calls that did not return a message.
sqs.queue.messages.deleted.countThe number of messages deleted from the queue.
sqs.queue.messages.received.countThe number of messages returned by calls to the ReceiveMessage action.
sqs.queue.messages.sent.countThe number of messages added to a queue.

Prérequis​

Privilèges AWS​

Un compte de service (paire d'identifiants access/secret keys) est nécessaire afin de pouvoir superviser les resources Amazon SQS. Ce compte doit bénéficier des privilèges suivants :

AWS PrivilegeDescription
sqs:ListQueuesReturns a list of your queues in the current region.
cloudwatch:listMetricsList all metrics from Cloudwatch AWS/VPN namespace
cloudwatch:getMetricStatisticsGet metrics values from Cloudwatch AWS/VPN namespace

Dépendances du Plugin​

Afin de récupérer les informations nécessaires via les APIs AWS, il est possible d'utiliser soit le binaire awscli fourni par Amazon, soit le SDK Perl paws. Le SDK est recommandé car plus performant.

Attention il n'est pas possible d'utiliser paws si la connexion s'effectue au travers d'un proxy.

yum install perl-Paws

Installation

  1. Installez le plugin sur tous les collecteurs Centreon devant superviser des ressources SQS :
yum install centreon-plugin-Cloud-Aws-Sns-Api
  1. Sur l'interface web de Centreon, installez le connecteur de supervision Amazon SQS depuis la page Configuration > Packs de plugins.

Configuration​

Hôte​

  • Ajoutez un hôte à Centreon depuis la page Configuration > Hôtes.
  • Remplissez le champ Adresse IP/DNS avec l'adresse 127.0.0.1.
  • Appliquez le modèle d'hôte Cloud-Aws-Sqs-custom.
  • Une fois le modèle appliqué, les Macros ci-dessous indiquées comme requises (Mandatory) doivent être renseignées:
MandatoryNomDescription
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
QUEUENAMEQueue name (Default : '.*')
PROXYURLConfigure proxy URL
EXTRAOPTIONSAny extra option you may want to add to every command line (eg. a --verbose flag)
DUMMYSTATUSHost state. Default is OK, do not modify it unless you know what you are doing
DUMMYOUTPUTHost check output. Default is 'This is a dummy check'. Customize it with your own if needed

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) (certaines options comme --proxyurl doivent être ajustées en fonction du contexte) :

/usr/lib/centreon/plugins/centreon_aws_sqs_api.pl \
--plugin=cloud::aws::sqs::plugin \
--mode=queues \
--custommode=awscli \
--aws-secret-key='*******************' \
--aws-access-key='**********' \
--region='eu-west-1' \
--proxyurl='http://myproxy.mycompany.org:8080'
--statistic=average \
--timeframe='600' \
--period='60' \
--queue-name='my_sqs_queue_1' \
--filter-metric='NumberOfMessagesSent|NumberOfMessagesReceived' \
--critical-messages-sent=1: \
--critical-messages-received=1: \
--verbose

La commande devrait retourner un message de sortie de la forme ci-dessous:

OK: 'my_sqs_queue_1' Statistic 'Average' number of messages sent: 45, number of 
messages received: 32 | 'my_sqs_queue_1~average#sqs.queue.messages.sent.count'=45;;1:;; 'my_sqs_queue_1~average#sqs.queue.messages.received.count'=32;;1:;;
SQS Queue'my_sqs_queue_1'
Statistic 'Average' number of messages sent: 45, number of messages received: 32

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_aws_sqs_api.pl \
--plugin=cloud::aws::sns::plugin \
--mode=queues \
--help

Diagnostic des erreurs communes​

Rendez-vous sur la documentation dédiée pour le diagnostic des erreurs communes des plugins Centreon.