grofers.rds-alarms
Alarmes RDS
Crée des alarmes d'avertissement et critiques pour les instances RDS sur Amazon CloudWatch. Pour plus de détails, consultez le article de blog.
:boom: Testé en conditions réelles chez Grofers
Exigences
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt19471460522000",
"Effect": "Allow",
"Action": [
"cloudwatch:DeleteAlarms",
"cloudwatch:DescribeAlarms",
"cloudwatch:PutMetricAlarm"
],
"Resource": [
"*"
]
},
{
"Sid": "Stmt1947940274000",
"Effect": "Allow",
"Action": [
"rds:DescribeDBInstances"
],
"Resource": [
"*"
]
}
]
}
Installation
Pour installer, il suffit d'exécuter
$ ansible-galaxy install grofers.rds-alarms
Variables de rôle
rds_alarms_region
- Région AWS (Requis)rds_alarms_common_action_list
- Liste des ARN des sujets dans AWS SNSrds_alarms_period
- Temps (en secondes) entre les évaluations de métriquesrds_alarms_evaluation_periods
- Nombre de fois où la métrique est évaluée avant le calcul finalrds_alarms_common_action_list
- Comprend toujours ces actions d'alarmerds_alarms_warning_threshold
- Seuil pour l’avertissement (par défaut - 75%)rds_alarms_critical_threshold
- Seuil pour l’avertissement (par défaut - 90%)rds_alarms_warning_cpu_credits_threshold
- Seuil pour les crédits CPU (par défaut - 30)rds_alarms_critical_cpu_credits_threshold
- Seuil pour les crédits CPU (par défaut - 15)rds_alarms_db_instances
- Dictionnaire avec le format suivant :
rds_alarms_db_instances:
<identifiant-instance-rds>:
warning_db_connections_threshold: 100
critical_db_connections_threshold: 200
warning_burst_balance_threshold: 100
critical_burst_balance_threshold: 200
alarm_action_list: ["arn:aws:sns:us-east-1:9783248248:MYALARM"]
critical_threshold: 90 # Optionnel
warning_threshold: 75 # Optionnel
credit_warning_threshold: 30 # Optionnel
credit_critical_threshold: 15 # Optionnel
replica_lag_threshold: 1800 # Requis seulement pour les réplicas. Unités en secondes
Conventions
Le format du nom des alarmes créées dans Amazon CloudWatch est :
rds-<nom_instance>-<nom_métrique>-<type_alerte>
.
Par exemple, l'alerte warning
pour CPU
pour une instance avec l'identifiant
my-rds-instance
sera créée sous le nom rds-my-rds-instance-cpu-warning
.
Exemple de Playbook
Ce playbook créera des alarmes pour my-rds-instance-identifier
avec les
seuils par défaut. Pour les alarmes créées pour
my-replica-rds-instance-identifier
, le seuil d'avertissement sera de
80 % et le seuil critique sera la valeur par défaut (90 %). Si l'instance est une
réplica, une alarme sera également créée pour le décalage de replica. Pour chaque instance t2,
des alarmes sont également créées pour les crédits CPU restants.
- hosts: localhost
connection: local
vars:
rds_alarms_common_action_list:
- "arn:aws:sns:us-east-1:9783248248:ALARMS"
rds_alarms_period: 60
rds_alarms_evaluation_periods: 2
rds_alarms_region: us-east-1
rds_alarms_warning_threshold: 70
rds_alarms_critical_threshold: 90
rds_alarms_warning_cpu_credits_threshold: 60
rds_alarms_critical_cpu_credits_threshold: 30
rds_alarms_db_instances:
my-rds-instance-identifier: # ceci utilisera les valeurs par défaut
warning_db_connections_threshold: 100
critical_db_connections_threshold: 200
alarm_action_list: ["arn:aws:sns:us-east-1:9783248248:MYALARM"]
my-replica-rds-instance-identifier:
warning_threshold: 80
warning_db_connections_threshold: 100
critical_db_connections_threshold: 200
alarm_action_list: ["arn:aws:sns:us-east-1:9783248248:MYALARM"]
credit_warning_threshold: 20
credit_critical_threshold: 10
replica_lag_threshold: 1800
roles:
- rds-alarms
Limitations
Vous devez créer plusieurs playbooks pour des régions différentes.
Licence
ansible-galaxy install grofers.rds-alarms