- 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]
コメントを追加