Rate Alertsの設定(一部)
resource "datadog_monitor" "burn_rate_1h" { name = "[${var.service} ${var.region} ${var.operation}] slo(5xx) burn rate alert(1h window)" type = "slo alert" message = <<EOF {{#is_alert}} <!channel> ``` ## 概要 - ${var.service} ${var.region} ${var.operation} availability SLO(5xx) Burn Rateが上昇しており、このままだと SLO budgetが枯渇する可能性があります - budgetを消費しきらないように調査 /チューニングしてください ``` **[インシデントチケットを切る ](${var.jira["incident_ticket"]})** [JP Health Check Dashboard](${var.datadog_dashboard["jp_healthcheck"]}) / [JP Error Log](${var.datadog_logs_saved_views["pairs_jp_main_err"]}) [TW Health Check Dashboard](${var.datadog_dashboard["tw_healthcheck"]}) / [TW Error Log](${var.datadog_logs_saved_views["pairs_tw_main_err"]}) [KR Health Check Dashboard](${var.datadog_dashboard["kr_healthcheck"]}) / [KR Error Log](${var.datadog_logs_saved_views["pairs_kr_main_err"]}) {{/is_alert}} {{#is_recovery}} <!channel> ${var.service} ${var.region} ${var.operation} availability SLO(5xx) burn rate alert recovery {{/is_recovery}} @slack-pairs-infra-critical EOF query = "burn_rate(\"${datadog_service_level_objective.availability.id}\").over(\"30d\").long_window(\"1h\").short_window(\"5m\") > 14.4" thresholds = { critical = 14.4 } renotify_interval = 5 notify_no_data = false include_tags = false } 1時間もしくは5分間の間にBurnRateが14.4 以上かどうかを閾値に設定