grofers.rds-alarms
RDS Alarme
Erstellt Warn- und kritische Alarme für RDS-Instanzen auf Amazon CloudWatch. Weitere Details finden Sie im Blogbeitrag.
:boom: Bewährt bei Grofers
Anforderungen
{
"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
Um zu installieren, führen Sie einfach aus:
$ ansible-galaxy install grofers.rds-alarms
Rollenvariablen
rds_alarms_region
- AWS-Region (erforderlich)rds_alarms_common_action_list
- Liste von ARN der Themen in AWS SNSrds_alarms_period
- Zeit (in Sekunden) zwischen den Metrikbewertungenrds_alarms_evaluation_periods
- Die Anzahl der Bewertungen, bevor die endgültige Berechnung erfolgtrds_alarms_common_action_list
- Immer diese Alarmaktionen einfügenrds_alarms_warning_threshold
- Warnschwelle (standardmäßig - 75%)rds_alarms_critical_threshold
- Kritische Schwelle (standardmäßig - 90%)rds_alarms_warning_cpu_credits_threshold
- Schwelle für CPU-Guthaben (standardmäßig - 30)rds_alarms_critical_cpu_credits_threshold
- Kritische Schwelle für CPU-Guthaben (standardmäßig - 15)rds_alarms_db_instances
- Dict im folgenden Format:
rds_alarms_db_instances:
<rds-instance-identifier>:
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 # Optional
warning_threshold: 75 # Optional
credit_warning_threshold: 30 # Optional
credit_critical_threshold: 15 # Optional
replica_lag_threshold: 1800 # Nur für Replikate erforderlich. Einheiten Sekunden
Konventionen
Das Format des Namens der in Amazon CloudWatch erstellten Alarme lautet:
rds-<instance_name>-<metric_name>-<alert_type>
.
Zum Beispiel: Der warning
-Alarm für CPU
für eine Instanz mit dem Kennzeichen
my-rds-instance
wird als rds-my-rds-instance-cpu-warning
erstellt.
Beispiel-Playbook
Dieses Playbook erstellt Alarme für my-rds-instance-identifier
mit den
Standard-Schwellenwerten. Die Alarme für my-replica-rds-instance-identifier
werden mit einer Warnschwelle von 80 % und einer kritischen Schwelle mit dem
Standardwert (90 %) erstellt. Wenn die Instanz eine Replik ist, wird auch ein
Alarm für die Replikationsverzögerung erstellt. Für jede t2-Instanz werden auch
Alarme für verbleibende CPU-Guthaben erstellt.
- 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: # Dies verwendet die Standardwerte
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
Einschränkungen
Sie müssen mehrere Playbooks für verschiedene Regionen erstellen.
Lizenz
ansible-galaxy install grofers.rds-alarms