Prometheus 形式のアラーム値

Prometheus は$value変数を使用して、現在のアラーム ルール式の値をアラーム情報に出力できます。しかし、一部の浮動小数点値は非常に長く、読み取りが非常に困難であり、強迫性障害の患者にとってはさらに受け入れられません。アラーム値を「人間が判読できる」ようにするにはどうすればよいですか?
特定のドメイン名を検出し、アクセス時間が 0.5 秒を超え、1 分を超えた場合にアラームを送信する次のアラーム ルールがあります。

- name: blackbox-exporter
    rules:
    - alert: DomainAccessDelayExceeds0.5s
      annotations:
        description: 域名:{
    
    {
    
     $labels.instance }} 探测延迟大于 0.5 秒,当前延迟为:{
    
    {
    
     $value }}
        summary: 域名探测,访问延迟超过 0.5 秒
      expr: sum(probe_http_duration_seconds{
    
    job=~"blackbox"}) by (instance) > 0.5
      for: 1m
      labels:
        severity: warning
        type: blackbox

トラフィックが 0.5 秒を超えると、アラーム通知がトリガーされます。

[1] Firing
Labels
alertname = DomainAccessDelayExceeds0.5s
instance = https://www.baidu.com
prometheus = monitoring/k8s
severity = warning
type = blackbox

Annotations
description = 域名:https://www.baidu.com 探测延迟大于 0.5 秒,当前延迟为:1.042937559
summary = 域名探测,访问延迟超过 0.5 秒

受信したアラーム通知情報では、遅延時間が小数点以下9桁までであることがわかります

アラーム ルール内の変数の値をフォーマットするには 3 つの方法があります$value

{
   
   { printf "%.2f" $value }}
或
{
   
   { $value | printf "%.2f" }}
或
{
   
   { humanize $value }}

テスト{ { printf "%.2f" $value }}または{ { $value | printf "%.2f" }}調整後、受信したアラーム通知情報は小数点以下 2 桁のみで、{ { humanize $value }}小数点以下 3 桁 (例: 1.262)、またはミリ秒単位 (例: 686.2m) で表示されます。

おすすめ

転載: blog.csdn.net/zyy247796143/article/details/130605030
おすすめ