Мониторинг предупреждений Terraform / Datadog

Я пытаюсь создать предупреждение Datadog с помощью Terraform, когда несколько хостов (1 или более) используют ›= 95% ЦП. Пока что с использованием того кода, который у меня есть, предупреждение будет срабатывать каждый раз, когда хост превышает пороговое значение, и это слишком шумно. Не знаете ли вы, как создать логику для удовлетворения обоих условий до того, как сработает предупреждение? (Предупреждение, когда несколько хостов имеют 95% ЦП или выше)

resource "datadog_monitor" "worker_high_disk_usage" {
    type    = "metric alert"
    name    = "worker high disk usage"
    message = <<-EOT
    {{#is_alert}} 
    @slack_channel {{system}} {{env}} host {{host.name}} device {{device}} has had disk usage 
    enter code hereover {{threshold}} of availible disk space for the last 30m
    {{/is_alert}} 
    {{#is_recovery}}
    @pagerduty
    {{system}} {{env}} host {{host.name}} device {{device}} high disk usage resolved.
    {{/is_recovery}}
    EOT
    query   = "min(last_30m):avg:system.disk.in_use{env:prod,system:worker,team:team} by 
    {host,device} > 0.95"

    thresholds = {
    critical = 0.95

    timeout_h           = 1
  
    require_full_window = false
      lifecycle {
        ignore_changes = [silenced]
      }
      tags = ["disk"]
    }

person Richard    schedule 20.10.2020    source источник


Ответы (1)


Не уверен, что это сработает, но вы можете попробовать ..:

  1. создать 2 экземпляра одного и того же монитора, упомянутого о
  2. создать составной монитор на их основе
  3. запускать композит только тогда, когда a.value не совпадает с b.value

{{^ is_exact_match a.value b.value}}

@ my @ mail.com Оповещение 2 хоста превысили порог

{{/ is_exact_match}}

то же значение - игнорировать - ничего не делать


Проблема в том, что вы, вероятно, можете получить 2 предупреждения одновременно ...

person eilon47    schedule 19.11.2020