grofers.rds-alarms
Alarmy RDS
Tworzy alarmy ostrzegawcze i krytyczne dla instancji RDS w Amazon CloudWatch. Aby uzyskać więcej informacji, zapoznaj się z artykułem na blogu.
:boom: Przetestowane w boju w Grofers
Wymagania
{
"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": [
"*"
]
}
]
}
Instalacja
Aby zainstalować, po prostu uruchom
$ ansible-galaxy install grofers.rds-alarms
Zmienne roli
rds_alarms_region
- region AWS (Wymagane)rds_alarms_common_action_list
- Lista ARN tematów w AWS SNSrds_alarms_period
- Czas (w sekundach) pomiędzy ewaluacją metrykrds_alarms_evaluation_periods
- Liczba razy, w których metryka jest oceniana przed ostatecznym obliczeniemrds_alarms_common_action_list
- Zawsze uwzględniaj te akcje alarmowerds_alarms_warning_threshold
- Próg ostrzeżenia (domyślnie - 75%)rds_alarms_critical_threshold
- Próg krytyczny (domyślnie - 90%)rds_alarms_warning_cpu_credits_threshold
- Próg zasobów CPU (domyślnie - 30)rds_alarms_critical_cpu_credits_threshold
- Próg zasobów CPU (domyślnie - 15)rds_alarms_db_instances
- Słownik w następującym formacie:
rds_alarms_db_instances:
<identyfikator-instancji-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 # Opcjonalne
warning_threshold: 75 # Opcjonalne
credit_warning_threshold: 30 # Opcjonalne
credit_critical_threshold: 15 # Opcjonalne
replica_lag_threshold: 1800 # Wymagane tylko dla replik. Jednostki w sekundach
Konwencje
Format nazwy alarmów tworzonych w Amazon CloudWatch to:
rds-<nazwa_instancji>-<nazwa_metryki>-<typ_alarmu>
.
Na przykład, alarm ostrzegawczy dla CPU
dla instancji o identyfikatorze my-rds-instance
będzie stworzony jako rds-my-rds-instance-cpu-warning
.
Przykład playbooka
Ten playbook stworzy alarmy dla my-rds-instance-identifier
z domyślnymi progami. Natomiast alarmy utworzone dla my-replica-rds-instance-identifier
będą miały próg ostrzegawczy wynoszący 80%, a próg krytyczny będzie ustalony na domyślną wartość (90%). Jeśli instancja jest repliką, zostanie również utworzony alarm dla opóźnienia repliki. Dla każdej instancji t2 alarmy są również tworzone dla pozostałych zasobów CPU.
- 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: # to użyje domyślnych wartości
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
Ograniczenia
Musisz tworzyć wiele playbooków dla różnych regionów.
Licencja
ansible-galaxy install grofers.rds-alarms