Можете создавать любые алёрты.
Например вот так для редиса:
- alert: REDIS_HIGH_CPU_USAGE
expr: aws_elasticache_cpuutilization_average > 80
for: 5m
labels:
severity: critical
emoji: 🔥
annotations:
summary: '`{{ $labels.cacheclusterid }}` is using {{ $value }}% of CPU. <https://****.grafana-workspace.us-east-1.amazonaws.com/d/AWSERedis/aws-elasticache-redis?var-cacheclusterid={{ $labels.cacheclusterid }}|Dashboard> | <https://****.pagerduty.com/incidents|PD>'
или для RDS:
- alert: RDS_HIGH_CPU_USAGE
expr: round(avg_over_time(aws_rds_cpuutilization_average[5m]), 0.01) > 80
for: 5m
labels:
severity: critical
emoji: 🔥
annotations:
summary: '`{{ $labels.dbinstance_identifier }}` is using {{ $value }}% of CPU. <https://****.grafana-workspace.us-east-1.amazonaws.com/d/AWSRDSdbi/aws-rds?var-dbinstanceidentifier={{ $labels.dbinstance_identifier }}|Dashboard> | <https://***.pagerduty.com/incidents|PD>'
❤️Profit!
Всё! Больше ничего делать не надо!
Сколько бы вы потом не создали сотен и тысяч SQS/Redis/RDS - вам не надо для каждого из них писать отдельный алёрт!
То есть мы ну вообще никак не завязаны на конкретных инстансах или нодах!
Просто один раз установка экспортёра, один раз внести сбор метрик для прометиуса(если нет автодискавери) и добавить демешны/фильтры.
⚠️ВАЖНО
Важно понимать, что каждый запрос от клаудвоч экспортёра до клаудвоча это деньги.
- нужно собирать метрики не часто, чтобы не чарджить в большую сумму
- можно фильтровать(в конфиге пример с production)
- нужно собирать ровно то, что вам нужно, например только cpu usage average, min/max нам для самого алёрта не надо
- тайминги надо выставить для вас - чтобы не очень часто, чтобы много платить, но чтобы и не слишком редко - тогда вы будете поздно получать алёрты
#AWS