Ugrás a tartalomra

PromQL vs. GCP alerting policyk: metadata_system_name vackolások

·
Elkezdtem ismerkedni a Prometheusszal GCP-n, de vannak furcsa dolgok…

Eredetileg ilyen PromQL queryket próbáltam meg alertben használni:

sum by (metadata_system_name) (
    min_over_time(
      sum without (cpu_state) (
        {
          "__name__"="agent.googleapis.com/cpu/utilization",
          "monitored_resource"="gce_instance",
          "cpu_state"!~"^(idle|iowait|steal)$"
        }
      )[1m:]
    )
) > 80

A labelek között megjelent a metadata_system_name a helyes értékkel, Metrics Explorerben helyesen látszódott a bontás, de ahogy próbáltam a labelt a dokumentáció templateben használni, na az sehogy se működött. Mindenféle formátummal próbálkoztam:

  • ${metric.label.metadata_system_name},
  • ${metadata_system_name}
  • ${metadata.system_label.KEY}

Nem egészen értem, hogy miért van ez, de úgy néz ki, hogy valamiért vagy elnyelődik a metadata, vagy eleve ki sincs vezetve. Érdekes módon viszont ha csinálok rajta egy label_replace-t így:

label_replace(
  sum by (metadata_system_name) (
    min_over_time(
      sum without (cpu_state) (
        {
          "__name__"="agent.googleapis.com/cpu/utilization",
          "monitored_resource"="gce_instance",
          "cpu_state"!~"^(idle|iowait|steal)$"
        }
      )[1m:]
    )
  ),
  "custom_instance_name", "$1", "metadata_system_name", "(.*)"
) 

…akkor minden további nélkül működik a label behelyettesítése a ${metric.label.custom_instance_name} formátummal.

Nem vágom.