時間単位でプロメテウスにアラートを作成するにはどうすればよいですか?「過去2分間の平均応答時間が5秒を超えている」のように

WesternGun
  - name: app
    rules:
      - alert: ServerHighLatency
        expr: sum by(applicationName) (rate(http_server_requests_seconds_sum{status!~"4..|5.."}[1m]))/sum by(applicationName) (rate(http_server_requests_seconds_count{status!~"4..|5.."}[1m])) >= 5s
        for: 5s
        labels:
          severity: critical
        annotations:
          summary: "{{ $labels.applicationName }} is responding with high latency(5s+)"
          description: "*Host*: {{ $labels.node }}\n*Datacenter*: {{ $labels.datacenter }}\n*Value*: {{ humanize $value }}\n"

しかしs、式の最後の部分解析エラーが発生したため、許可されていないと思います。削除するsと機能しますが、トリガーされることはありません。範囲内の平均応答時間を調べるアラートの例は見つかりませんが、「一部のパーセンタイル> 0.8」などの値による比較のみであり、時間単位ではありません。それは意味がありますか?

補足:私は取得{{ $labels.datacenter }}{{ $labels.node }}て機能することはできませんが機能し{{ $labels.applicationName }}ています、なぜですか?Prometheusのアラート構文の良い例とドキュメントはどこにありますか?

マルセロアビラデオリベイラ

単位を式に追加する必要はありません(実際にはできません)。数値だけです。アラートがトリガーされない場合は、式に問題があるか、結果が常に5未満である可能性があります。Prometheusコンソールで式をテストしましたか?

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ