PromSQL の実践的なクエリ ステートメントの概要 (常に更新)

1. 特定のインターフェイスまたは特定のエラー コードをフィルターで除外します。

sum(http_request_total{api!="example",code!="500"}offset 2m)

2. 特定のインターフェイスの特定のエラー コードをフィルタリングして除外する

sum(http_request_total{}offset 2m unless on(api,code){api="example",code="500"})

3. トラフィックの急増または急減に対するアラーム ルールを定義する

sum by(code)(http_request_total{code="200"} offset 3m) >400 and abs(sum by(code) (delta(http_request_total{code="200"}[2m] offset 2m))) / sum by (code)(http_request_total{code="200"} offset 3m) >0.5

このうち、インジケーター http_request_total はゲートウェイ クラスター呼び出しの総数を示し、ラベル コードはステータス コードを示します。

这个表达式的意思可以分为以下几部分解释:

1. `sum by(code)(http_request_total{code="200"} offset 3m) >400` 表示在过去的三分钟内,状态码为 200 的 http 请求总量按照状态码进行汇总,并且这个总量大于 400。

2. `delta(http_request_total{code="200"}[2m] offset 2m)` 表示在过去的两分钟内,状态码为 200 的 http 请求总量的变化量。

3. `sum by(code) (delta(http_request_total{code="200"}[2m] offset 2m))` 表示在过去的两分钟内,状态码为 200 的 http 请求总量的变化量按照状态码进行汇总。

4. `abs(sum by(code) (delta(http_request_total{code="200"}[2m] offset 2m))) / sum by (code)(http_request_total{code="200"} offset 3m) >0.5` 表示过去两分钟内状态码为 200 的 http 请求总量的变化量与过去三分钟内状态码为 200 的 http 请求总量的比值大于 0.5,并且变化量和总量都按照状态码进行汇总。

综合起来,这个表达式的意思是:如果在过去的三分钟内,状态码为 200 的 http 请求总量大于 400,同时过去两分钟内状态码为 200 的 http 请求总量的变化量与过去三分钟内状态码为 200 的 http 请求总量的比值大于 0.5,就认为这个网关集群存在异常情况。

おすすめ

転載: blog.csdn.net/zfw_666666/article/details/130564600