Amazon SNS
Contenu du Pack​
Modèles​
Le connecteur de supervision Centreon Amazon SNS apporte un modèle d'hôte :
- Cloud-Aws-Sqs-custom
Il apporte le modèle de service suivant :
Alias | Modèle de service | Description | Défaut |
---|---|---|---|
Sns-Topic-Notifications | Cloud-Aws-Sns-Topic-Notifications-Api | Contrôle les notifications Amazon SNS par "topic" | X |
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 SNS :
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 & statuts collectés​
Plus de détails sur les métriques présentées ci-après sont disponibles sur la documentation officielle du service SNS: https://docs.aws.amazon.com/fr_fr/sns/latest/dg/sns-monitoring-using-cloudwatch
- Sns-Topic-Notifications
Metric name | Description |
---|---|
sns.notifications.published.count | The number of messages published to your Amazon SNS topics. |
sns.notifications.delivered.count | The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints. |
sns.notifications.failed.count | The number of messages that Amazon SNS failed to deliver. |
sns.notifications.filtered.count | The number of messages that were rejected by subscription filter policies. |
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 SNS. Ce compte doit bénéficier des privilèges suivants :
AWS Privilege | Description |
---|---|
sns:ListTopics | Returns a list of the requester's topics. |
cloudwatch:listMetrics | List all metrics from Cloudwatch AWS/VPN namespace |
cloudwatch:getMetricStatistics | Get 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.
- perl-Paws-installation
- aws-cli-installation
yum install perl-Paws
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
Installation​
- Online License
- Offline License
- Installez le plugin sur tous les collecteurs Centreon devant superviser des ressources SNS :
yum install centreon-plugin-Cloud-Aws-Sns-Api
- Sur l'interface web de Centreon, installez le connecteur de supervision Amazon SNS depuis la page Configuration > Packs de plugins.
- Installez le plugin sur tous les collecteurs Centreon devant superviser des ressources SNS :
yum install centreon-plugin-Cloud-Aws-Sns-Api
- Sur le serveur central Centreon, installez le RPM du connecteur de supervision Amazon SNS :
yum install centreon-pack-cloud-aws-sns
- Sur l'interface web de Centreon, installez le connecteur de supervision Amazon SNS depuis la page Configuration > Packs de plugins.
Configuration​
- 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-Sns-custom.
- Une fois le modèle appliqué, les Macros ci-dessous indiquées comme requises (Mandatory) doivent être renseignées:
Mandatory | Nom | Description |
---|---|---|
X | AWSSECRETKEY | AWS Secret key of your IAM role. Password checkbox must be checked |
X | AWSACESSKEY | AWS Access key of your IAM role. Password checkbox must be checked |
X | AWSREGION | Region where the instance is running |
X | AWSCUSTOMMODE | Custom mode to get metrics, 'awscli' is the default, you can also use 'paws' perl library |
PROXYURL | Configure proxy URL | |
TOPICNAME | Topic name (Default : '.*') | |
EXTRAOPTIONS | Any extra option you may want to add to every command line (eg. a --verbose flag) | |
DUMMYSTATUS | Host state. Default is OK, do not modify it unless you know what you are doing | |
DUMMYOUTPUT | Host 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_sns_api.pl \
--plugin=cloud::aws::sns::plugin \
--mode=notifications \
--custommode=awscli \
--aws-secret-key='*******************' \
--aws-access-key='**********' \
--region='eu-west-1' \
--proxyurl='http://myproxy.mycompany.org:8080'
--statistic=sum \
--timeframe='600' \
--period='60' \
--topic-name='my_sns_topic_1' \
--filter-metric='NumberOfNotificationsFailed' \
--warning-notifications-failed=0 \
--critical-notifications-failed=5 \
--verbose
La commande devrait retourner un message de sortie de la forme ci-dessous:
OK: 'my_sns_topic_1' Statistic 'Sum' number of notifications failed: 0 | 'my_sns_topic_1~sum#sns.notifications.failed.count'=0;;;;
Notifications for topic 'my_sns_topic_1' :
Statistic 'Sum' number of notifications failed: 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_aws_sns_api.pl \
--plugin=cloud::aws::sns::plugin \
--mode=notifications \
--help
Tous les modes disponibles peuvent être affichés en ajoutant le paramètre
--list-mode
à la commande :
/usr/lib/centreon/plugins//centreon_aws_sns_api.pl \
--plugin=cloud::aws::sns::plugin \
--list-mode
Diagnostic des erreurs communes​
Rendez-vous sur la documentation dédiée pour le diagnostic des erreurs communes des plugins Centreon.