tencent cloud

Cloud Log Service

トリガー条件式

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 15:13:56
AI翻訳
トリガー条件式はアラートをトリガーするかどうかを判断するために使用されます。実行ステートメントの結果をトリガー式の入力変数として使用し、式の判断結果が真の場合にアラートがトリガーされます。

構文説明

演算子
説明
例
$N.__QUERYCOUNT__
実行ステートメントの結果件数です。Nは対応する実行ステートメントの番号です。
異なるユースケースに応じて、その具体的な意味は以下のとおりです。
ログトピック
実行ステートメントにSQLが含まれない場合:検索条件に一致する生ログの件数
実行ステートメントにSQLが含まれる場合:SQL結果件数(注意:SQLでlimitが指定されていない場合、デフォルトで最大100件の結果が返されます)
指標トピック:PromQLクエリ結果件数
$1.__QUERYCOUNT__
$N.keyname
実行ステートメントの結果を参照します。Nは対応する実行ステートメントの番号、keynameは実行ステートメントの結果におけるフィールド名です。
注意:
keynameの先頭文字は英字である必要があります。英字、数字、アンダースコアを含めることができます。特殊文字が含まれる場合は以下の通りです:
日志主题の実行ステートメントでは、AS構文を使用してフィールド名にエイリアスを設定できます。
角括弧で全体を囲みます。例えば[$1.@value]のようにします。
監視対象が指標トピックの場合、指標ディメンション(label)を除き、システムは以下の変数をプリセットします:
$N.__name__:指標の名前
$N.value:指標の値
$N.time:指標に対応する時刻、秒単位のUNIXタイムスタンプ
指標ディメンション(label)のフィールド名が上記の変数と競合する場合、元のフィールド名の前に@記号が自動的に追加されます。例えば、[$1.@value]です。
$1.ErrCount
$1.value
+
合計演算子
$1.ErrCount+$1.FatCount>10
-
減法演算子
$1.Count-$1.InfoCount>100
*
乗法演算子
$1.RequestMilSec*1000>10
/
除算演算子
$1.RequestSec/1000>0.01
%
剰余演算子
$1.keyA%10==0
==
比較演算子:等しい
$1.ErrCount==100
$1.level=="Error"
>
比較演算子:より大きい
$1.ErrCount>100
<
比較演算子:より小さい
$1.pv<100
>=
比較演算子:以上
$1.ErrCount>=100
<=
比較演算子:以下
$1.pv<=100
!=
比較演算子:等しくない
$1.level!="Info"
()
括弧、演算の優先順位を制御します。
($1.a+$1.b)/$1.c>100
&&
論理演算子:AND
$1.ErrCount>100 && $1.level=="Error"
||
論理演算子:OR
$1.ErrCount>100 || $1.level=="Error"
比較演算子を使用して変数を比較し、結果がブール値で「真」の場合にのみアラートがトリガーされます。例えば、$1.aの値が80、$1.bの値が20の場合:
式$1.a+$1.b:結果は100であり、ブール値ではないため、アラートはトリガーされません。
式$1.a+$1.b>=100:結果が「真」の場合、アラートがトリガーされます。
1つのアラートポリシーには複数の実行ステートメントを設定できます(最大3つ)。各実行ステートメントには番号が付いています(1から順に増加します)。例えば、$1.key1は番号1の実行ステートメントのkey1フィールドを参照し、$2.key2は番号2の実行ステートメントのkey2フィールドを参照します。
監視対象がメトリクストピックの場合、実行ステートメントでアラート条件を直接設定することをお勧めします。トリガー条件では$N.__QUERYCOUNT__ > 0を直接使用します(その中のNを実行ステートメント番号に置き換えてください)。詳細は例3を参照してください。
実行ステートメントが複数の結果を返す場合、返された結果に基づいて順に最大1000回計算し、トリガー条件を満たすかどうかを判断します。計算結果が真の場合に停止します。例えば、式が$1.a+$2.b>100の場合、実行ステートメント1がm件の結果を返し、実行ステートメント2がn件の結果を返すと、m * n回の計算が行われます。計算中に$1.a+$2.b>100が真になると停止するか、または計算が1000回を超えると停止します。1000回を超えてもトリガー条件を満たさない場合、今回の判断結果は偽とみなされ、アラートはトリガーされません。

例

例1:【ログトピック】直近5分間にerrorレベルのログが発生した場合にアラートをトリガーする

監視対象:ログトピック
実行ステートメント:
level:error
クエリ時間範囲:直近5分間
トリガー条件:実行ステートメント1の結果件数が0より大きい場合
$1.__QUERYCOUNT__>0

例2:【ログトピック】特定のVIPユーザー(uid:10001)のリクエスト平均遅延が10sを超えた場合にアラートをトリガーする

監視対象:ログトピック
実行ステートメント:
uid:10001 | select avg(request_time) as latency
クエリ時間範囲:直近5分間
トリガー条件:実行ステートメント1のlatencyが10より大きい場合
$1.latency>10

例3:【指標トピック】ファイルシステムのスペース使用率が50%を超えた場合にアラートをトリガーする

監視対象:メトリクストピック
実行ステートメント:
filesystem_usage_pct > 0.5
トリガー条件:実行ステートメント1の結果件数が0より大きい場合
$1.__QUERYCOUNT__>0
__QUERYCOUNT__はシステムのプリセット変数であり、実行ステートメントの結果件数を表します。実行ステートメントでは> 0.5によって指標がフィルタリングされているため、実行ステートメントの結果件数が0より大きい場合にアラートをトリガーする必要があります。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック