コンテンツにスキップ

新規作成



POST /api/v1/checker/add

概要

モニターを作成します。

Body リクエストパラメータ

パラメータ名 型 必須 説明
configVersion integer V2 変更時に必須の現在の設定バージョン。期限切れの場合は 409 を返します。旧版 OpenAPI ではこのフィールドは不要です
$minValue: 1
generationId string Front AI が新規作成または再生成した候補クレデンシャル。生成インターフェースのレスポンスヘッダーから取得します
queryType string extend.querylist を渡さない場合に使用・検証される DQL フロントエンド表示モード。simple は Studio が解析してシンプルモードのフィールドを注入することを示し、dql は DQL テキストモードを示します。デフォルトは dql。extend.querylist を明示的に渡した場合はその構造を優先してそのまま使用し、queryType の注入セマンティクスは無視されます。simple の変換に失敗した場合は自動的に dql にフォールバックし、jsonScript.targets で実際に実行される DQL は変更されません
空の値を許可: False
例: simple
type string モニタータイプ。デフォルトは trigger。trigger: 通常モニター、aiMonitor: AI セマンティックモニター、smartMonitor: インテリジェントモニタリング
空の値を許可: False
例: smartMonitor
status integer モニターの状態フィールド。0 は有効状態、2 は無効状態。デフォルトは有効状態(2025-02-19 のリリースで追加)
空の値を許可: False
選択可能な値: [0, 2]
extend json 追加情報(インシデント関連フィールドとフロントエンド表示用の一部フィールド)
空の値を許可: True
alertPolicyUUIDs array アラートポリシー UUID
空の値を許可: False
dashboardUUID string 関連付けるダッシュボード ID
空の値を許可: False
tags array フィルタリングに使用するタグ名
空の値を許可: False
例: ['xx', 'yy']
secret string Webhook アドレス内の一意の識別子 secret(通常はランダムな UUID を使用し、ワークスペース内で一意にします)
空の値を許可: False
例: secret_xxxxx
jsonScript json ルール設定
空の値を許可: False
jsonScript.targetWorkspaceUUID string ターゲットワークスペース。ワークスペースをまたぐクエリ。しきい値検出タイプのみサポート(2025-08-13 のリリースで追加)
空の値を許可: False
空文字列を許可: False
jsonScript.type string Y チェック方法タイプ
例: simpleCheck
空の値を許可: False
jsonScript.windowDql string window dql
空の値を許可: False
jsonScript.title string Y 生成するイベントのタイトル
例: モニター: {{monitor_name}} チェッカー:{{monitor_checker_name}} トリガー値:{{M1}}
空の値を許可: False
空文字列を許可: True
最大長: 256
jsonScript.message string イベントの内容
例: status: {{status}}, title:{{title}}
空の値を許可: False
空文字列を許可: True
jsonScript.recoverTitle string 復旧イベントのタイトルテンプレートを出力します
例: モニター: {{monitor_name}} チェッカー:{{monitor_checker_name}} トリガー値:{{M1}}
空の値を許可: False
空文字列を許可: True
jsonScript.recoverMessage string 復旧イベントの情報テンプレートを出力します
例: status: {{status}}, title:{{title}}
空の値を許可: False
空文字列を許可: True
jsonScript.noDataTitle string データなしイベントのタイトルテンプレートを出力します
例: モニター: {{monitor_name}} チェッカー:{{monitor_checker_name}} トリガー値:{{M1}}
空の値を許可: False
空文字列を許可: True
jsonScript.noDataMessage string データなしイベントの情報テンプレートを出力します
例: status: {{status}}, title:{{title}}
空の値を許可: False
空文字列を許可: True
jsonScript.openNotificationMessage boolean イベント通知内容を有効にするかどうか。デフォルトは無効(イベント内容を通知内容として使用)
例: False
空の値を許可: False
jsonScript.notificationMessage string イベント通知内容
例: モニター: {{monitor_name}} チェッカー:{{monitor_checker_name}} トリガー値:{{M1}}
空の値を許可: False
空文字列を許可: True
jsonScript.openNoDataNotificationMessage boolean データ欠落イベントの通知内容を有効にするかどうか。デフォルトは無効(データ欠落イベントの内容を通知内容として使用)
例: False
空の値を許可: False
jsonScript.noDataNotificationMessage string データ欠落イベントの通知内容
例: status: {{status}}, title:{{title}}
空の値を許可: False
空文字列を許可: True
jsonScript.noDataRecoverTitle string データなし復旧イベントのタイトルテンプレートを出力します
例: モニター: {{monitor_name}} チェッカー:{{monitor_checker_name}} トリガー値:{{M1}}
空の値を許可: False
空文字列を許可: True
jsonScript.noDataRecoverMessage string データなし復旧イベントの情報テンプレートを出力します
例: status: {{status}}, title:{{title}}
空の値を許可: False
空文字列を許可: True
jsonScript.every string チェック頻度
例: 1m
空の値を許可: False
jsonScript.customCrontab string カスタムチェック頻度
例: 0 */12 * * *
空の値を許可: False
jsonScript.delaySeconds integer 通常モニターのデータ待機ウィンドウ(単位: 秒)。0 は待機しないことを示します。インテリジェントモニタリングではこの設定はサポートされません
例: 60
空の値を許可: False
選択可能な値: [0, 60, 120, 180, 300, 600, 900, 1800]
jsonScript.interval integer クエリ区間。1 回のクエリの時間範囲の差を示します
例: 60
空の値を許可: False
jsonScript.range integer 高度な検出・急変検出の range パラメータ。単位: 秒
例: 3600
空の値を許可: False
jsonScript.range_2 integer 高度な検出・急変検出の range_2 パラメータ。単位: 秒。補足: -1 は前周期比を表し、0 は periodBefore フィールドを使用することを表します
例: 600
空の値を許可: False
jsonScript.periodBefore integer 高度な検出・急変検出の(前日/1 時間前)パラメータ。単位: 秒
例: 600
空の値を許可: False
jsonScript.recoverNeedPeriodCount integer 異常発生から何回のチェック周期後に復旧イベントを生成するかを指定します。チェック頻度がカスタム customCrontab の場合はこのフィールドは時間長(単位: 秒)を表し、それ以外の場合はチェック頻度の回数を表します
例: 60
空の値を許可: False
jsonScript.noDataInterval integer どのくらいの期間データがない場合にデータなしイベントを生成するか
例: 60
空の値を許可: False
jsonScript.noDataAction string データなしの処理操作
空の値を許可: False
選択可能な値: ['none', 'checkAs0', 'noDataEvent', 'fatalEvent', 'criticalEvent', 'errorEvent', 'warningEvent', 'okEvent', 'noData', 'recover']
jsonScript.checkFuncs array チェック関数情報のリスト
例: [{'funcId': 'xxx', 'kwargs': {}}]
空の値を許可: False
jsonScript.groupBy array トリガー次元
例: ['性别']
空の値を許可: False
jsonScript.targets array チェックターゲット
例: [{'dql': 'M::士兵信息:(AVG(潜力值)) [::auto] by 性别', 'alias': 'M1'}]
空の値を許可: False
jsonScript.checkerOpt json チェック条件の設定
空の値を許可: False
jsonScript.checkerOpt.yamlConfig string V2 の完全なソース YAML テキスト。最大 256KiB。JSON オブジェクトではなく、Markdown フェンスも付きません
jsonScript.checkerOpt.disableLargeScaleEventProtect boolean 大規模イベント保護を無効にするかどうか。デフォルトは false
例: True
jsonScript.checkerOpt.script string プログラマブルモニターのスクリプト内容
空の値を許可: False
空文字列を許可: True
jsonScript.checkerOpt.rules array トリガー条件リスト
例: [{'status': 'warning', 'conditions': [{'operands': [60], 'operator': '>', 'alias': 'M1'}], 'conditionLogic': 'and', 'matchTimes': 10}]
空の値を許可: False
jsonScript.checkerOpt.openOkConditions boolean 段階的復旧を有効にするかどうか。デフォルトは無効 false
例: True
jsonScript.checkerOpt.openMatchTimes boolean 連続トリガー判定を有効にするかどうか。デフォルトは無効 false
例: True
jsonScript.checkerOpt.infoEvent boolean 正常状態が続いているときに info イベントを生成するかどうか。デフォルトは false
例: True
jsonScript.checkerOpt.infoEventCondition json 情報イベントの生成条件。しきい値モニターのみサポートされます。空のオブジェクトは無条件で生成することを示します
例: {'alias': 'M1', 'operator': '>=', 'operands': [60]}
空の値を許可: False
jsonScript.checkerOpt.infoEventCondition.alias string 判定オブジェクトのエイリアス
jsonScript.checkerOpt.infoEventCondition.operator string 判定演算子
jsonScript.checkerOpt.infoEventCondition.operands array 判定オペランドのリスト
jsonScript.checkerOpt.diffMode string 高度な検出のうち急変検出の差分モード。列挙値: value、percent
例: value
選択可能な値: ['value', 'percent']
jsonScript.checkerOpt.direction string 高度な検出のうち急変検出・区間検出のトリガー条件の方向
例: up
選択可能な値: ['up', 'down', 'both']
jsonScript.checkerOpt.eps float 距離パラメータ。値の範囲: 0 ~ 3.0
例: 0.5
jsonScript.checkerOpt.threshold json 急変検出のトリガー前提条件の設定
空の値を許可: False
jsonScript.checkerOpt.threshold.status boolean Y 急変検出のトリガー前提条件を有効にするかどうか
例: True
jsonScript.checkerOpt.threshold.operator string Y 急変検出のトリガー前提条件の演算子
例:
jsonScript.checkerOpt.threshold.value float Y 急変検出のトリガー前提条件の検出値
例: 90
空の値を許可: True
jsonScript.checkerOpt.combineExpr string 複合モニタリングの組み合わせ方式
例: A && B
空文字列を許可: False
jsonScript.checkerOpt.ignoreNodata boolean 複合モニタリングでデータなしの結果を無視するかどうか(true は無視することを示します)
例: True
jsonScript.checkerOpt.confidenceInterval integer 区間検出 V2 で追加されたパラメータ。信頼区間の範囲は 1~100
例: 10
jsonScript.checkerOpt.category string AI モニタリングのカテゴリメタデータ
空の値を許可: False
jsonScript.checkerOpt.userPrompt string AI ユーザープロンプト。渡す場合は空にできません。最大 20000 文字
空の値を許可: False
空文字列を許可: True
最大長: 20000
jsonScript.checkerOpt.systemPrompt string AI システムプロンプト。渡す場合は空にできません。最大 20000 文字
空の値を許可: False
空文字列を許可: True
最大長: 20000
jsonScript.checkerOpt.mentions array DQL 参照リスト。各項目に type=dql、namespace、datasource が必須で、index はオプション(ログを選択する場合に指定)。シリアライズ後は最大 20000 文字
空の値を許可: False
jsonScript.checkerOpt.mentions[*] None
jsonScript.checkerOpt.mentions[*].type string Y データソースタイプ
選択可能な値: ['dql']
jsonScript.checkerOpt.mentions[*].namespace string Y DQL 名前空間
空文字列を許可: False
jsonScript.checkerOpt.mentions[*].index string DQL インデックス。ログを選択する場合に指定します
空文字列を許可: False
jsonScript.checkerOpt.mentions[*].datasource string Y DQL データソース
空文字列を許可: False
jsonScript.checkerOpt.model string 今回の検出で使用するモデル
空の値を許可: False
jsonScript.checkerOpt.contextWindowLimit integer コンテキストウィンドウの Token 上限。0 より大きい必要があります
空の値を許可: False
$minValue: 1
jsonScript.checkerOpt.maxChatRounds integer 最大対話ラウンド数。1 以上である必要があります
空の値を許可: False
$minValue: 1
jsonScript.checkerOpt.maxDQLQueries integer 最大 DQL クエリ回数。0 以上である必要があります
空の値を許可: False
$minValue: 0
jsonScript.checkerOpt.creditSoftBudget number 1 回の検出あたりの Credit ソフト予算。0 より大きい必要があります
空の値を許可: False
jsonScript.channels array チャンネル UUID リスト
例: ['名称1', '名称2']
空の値を許可: False
jsonScript.atAccounts array 通常検出時に @ されるアカウント UUID のリスト
例: ['xx1', 'xx2']
空の値を許可: False
jsonScript.atNoDataAccounts array データなしの場合に @ されるアカウント UUID のリスト
例: ['xx1', 'xx2']
空の値を許可: False
jsonScript.subUri string OuterEventChecker の Webhook アドレス接尾辞。新規作成時に必須。一意である必要はありません
例: datakit/push
空の値を許可: False
jsonScript.isChangeEvent boolean OuterEventChecker を変更イベントとして処理するかどうか。デフォルトは false。既存ルールにこのフィールドがない場合は false として処理されます
例: False
空の値を許可: False
jsonScript.disableCheckEndTime boolean 終了時間の制限を無効にするかどうか
例: True
空の値を許可: False
jsonScript.eventChartEnable boolean イベントチャートを有効にするかどうか。デフォルトは無効(メインストレージエンジン logging が doris の場合にのみ有効になります)
例: False
空の値を許可: False
jsonScript.eventCharts array イベントチャートのリスト
例: True
空の値を許可: False
jsonScript.eventCharts[*] None
jsonScript.eventCharts[*].dql string イベントチャートのクエリ文
例: M::cpu:(avg(load5s)) BY host
空の値を許可: False
openPermissionSet boolean カスタム権限設定を有効にするかどうか(デフォルト false: 無効)。有効にすると、このルールの操作権限は permissionSet に従います
空の値を許可: False
permissionSet array 操作権限の設定。設定可能なもの: ロール(所有者を除く)、メンバー UUID、チーム UUID
例: ['wsAdmin', 'acnt_xxxx', 'group_yyyy']
空の値を許可: False

パラメータ補足説明

インテリジェントモニタリング V2 では、外側の type=smartMonitor、jsonScript.type=smartMonitorV2Check、および checkerOpt.yamlConfig を使用します。 10 分ごとに固定で実行され、クエリは YAML のみから取得されます。変更できるのは DQL、既存のしきい値設定、既存アルゴリズムの公開パラメータのみです。ルールセット、アルゴリズムタイプ、ディメンション、時間、テンプレートは変更できません。 extend.smartMonitor には、ソース、プロンプト、およびサーバー側の設定バージョンが保存されます。Front は旧バージョンの作成・インポート・編集を拒否しますが、既存インスタンスの削除と有効/無効の切り替えは引き続き可能です。OpenAPI の旧バージョン機能は互換性を維持します。

データ説明.

jsonScript パラメータの説明

1. チェックタイプ jsonScript.type の説明

key 説明
simpleCheck しきい値検出
seniorMutationsCheck 急変検出
seniorRangeCheck 区間検出
seniorRangeV2Check 区間検出 V2
outlierCheck 外れ値検出
loggingCheck ログ検知
processCheck プロセス異常検知
objectSurvivalCheck インフラストラクチャー生存検知
objectSurvivalV2Check インフラストラクチャー生存検知 V2。doris ワークスペースのみサポート
objectChangeCheck インフラストラクチャー変更検知
apmCheck APM メトリクス検知
rumCheck RUM メトリクス検知
securityCheck セキュリティチェック異常検知
cloudDialCheck Synthetic テスト異常検知
networkCheck ネットワークデータ検知
OuterEventChecker 外部イベント検知
smartHostCheck インテリジェントモニタリング、ホストインテリジェント検知
smartLogCheck インテリジェントモニタリング、ログインテリジェント検知
smartApmCheck インテリジェントモニタリング、APM インテリジェント検知
smartRumCheck インテリジェントモニタリング、RUM インテリジェント検知
smartKubeCheck インテリジェントモニタリング、Kubernetes インテリジェント検知
smartCloudBillingCheck インテリジェントモニタリング、クラウド請求書インテリジェント検知
combinedCheck 複合モニタリング
programmableCheck プログラマブルモニター
aiMonitor AI セマンティックモニター。独立した Rule.type=aiMonitor として保存され、Func の定期タスクによって実行されます

2. 廃止されたチェックタイプ jsonScript.type の説明

key 説明
seniorCheck 高度なチェック。廃止済み
mutationsCheck 急変チェック。廃止済み。seniorMutationsCheck に更新
waterLevelCheck 水位チェック。廃止済み
rangeCheck 区間チェック。廃止済み。seniorRangeCheck に更新

3. **トリガー条件の比較演算子の説明(checkerOpt.rules 内のパラメータ説明)

パラメータ名 type 必須 説明
conditions Array[Dict] 必須 条件
conditions[#].alias String 必須 検出オブジェクトのエイリアス。上記 targets[#].alias を指します
conditions[#].operator String 必須 演算子。=、>、< など
conditions[#].operands Array[Any] 必須 オペランド配列。(between、in などの演算子では複数のオペランドが必要)
conditionLogic string 必須 条件間のロジック。and、or
status string 必須 条件を満たしたときに出力されるイベントの status。値はイベントの status と同じ
direction string 【区間/水位/急変パラメータ】検出方向。値: "up"、"down"、"both"
periodNum integer 【区間/水位/急変パラメータ】直近のデータポイント数のみを検出
checkPercent integer 【区間パラメータ】異常率のしきい値。値: 1 ~ 100
checkCount integer 【水位/急変パラメータ】連続異常ポイント数
strength integer 【水位/急変パラメータ】検出強度。値: 1=弱、2=中、3=強
matchTimes integer 連続トリガー設定(checkerOpt.openMatchTimes)を有効にした場合の連続トリガー回数 [1,10]
okConditions Array[Dict] 復旧条件
okConditions[#].alias String 検出オブジェクトのエイリアス。上記 targets[#].alias を指します
okConditions[#].operator String 演算子。=、>、< など
okConditions[#].operands Array[Any] オペランド配列。(between、in などの演算子では複数のオペランドが必要)

4. シンプル/ログ/水位/急変/区間チェック(jsonScript.type が simpleCheck、loggingCheck、waterLevelCheck、mutationsCheck、rangeCheck、securityCheck の場合)のパラメータ情報

パラメータ名 type 必須 説明
title string Y 障害イベントのタイトルテンプレートを出力します
message string N 障害イベントの情報テンプレートを出力します
recoverTitle string N 復旧イベントのタイトルテンプレートを出力します
recoverMessage string N 復旧イベントの情報テンプレートを出力します
noDataTitle string N データなしイベントのタイトルテンプレートを出力します
noDataMessage string N データなしイベントの情報テンプレートを出力します
noDataRecoverTitle string N データなし復旧イベントのタイトルテンプレートを出力します
noDataRecoverMessage string N データなし復旧イベントの情報テンプレートを出力します
openNotificationMessage boolean N イベント通知内容を有効にするかどうか
notificationMessage string N イベント通知内容
openNoDataNotificationMessage string N データ欠落イベントの通知内容を有効にするかどうか
noDataNotificationMessage string N データ欠落イベントの通知内容
name string Y ルール名
type string Y ルールタイプ
every string Y チェック頻度。単位は (1m/1h/1d)
customCrontab string N カスタムチェック頻度の crontab
delaySeconds integer N データ待機ウィンドウ(単位: 秒)。0、60、120、180、300、600、900、1800 をサポート。デフォルトは 0
interval integer Y データ時間範囲の差。つまり time_range の差。単位: 秒
recoverNeedPeriodCount integer Y 指定したチェック周期の回数を超えた後に復旧イベントを生成します。チェック頻度がカスタム customCrontab の場合はこのフィールドは時間長(単位: 秒)を表し、それ以外の場合はチェック頻度の回数を表します
noDataInterval integer N どのくらいの期間データがない場合にデータなしイベントを生成するか
noDataAction string N データなしの処理操作
targets array Y シンプルチェックのチェックターゲットリスト
targets[*].dql string Y DQL クエリ文
targets[*].alias string Y エイリアス
targets[*].monitorCheckerId string Y 複合モニタリングのモニター ID(rul_xxxxx)
checkerOpt json N チェック設定。オプション
checkerOpt.rules array Y チェックルールリスト
checkerOpt.openMatchTimes boolean N 連続トリガー判定を有効にするかどうか。デフォルトは無効 false
checkerOpt.openOkConditions boolean N 復旧条件の設定を有効にするかどうか。デフォルトは無効 false
checkerOpt.disableLargeScaleEventProtect boolean N 大規模イベント保護を無効にするかどうか。デフォルトは false

通常の simpleCheck では、jsonScript.targets が実際に実行されるターゲットです。ターゲットの alias は一意である必要があり、チェック条件の参照と一致している必要があります。編集や表示に必要な複数のクエリノードは extend.querylist に配置してください。combinedCheck は複合モニタリングの既存のマルチターゲットセマンティクスに従って処理されます。


5. jsonScript.noDataAction のパラメータ情報

パラメータ名 説明
none アクションなし(「データなし関連処理を無効にする」と同じ)
checkAs0 クエリ結果を 0 とみなす
noDataEvent 復旧イベント(noData)をトリガーします
fatalEvent 致命的なイベント(fatal)をトリガーします
criticalEvent 緊急イベント(critical)をトリガーします
errorEvent 重要イベント(error)をトリガーします
warningEvent 警告イベント(warning)をトリガーします
okEvent 復旧イベント(ok)をトリガーします
noData データなしイベントを生成します。このパラメータは 2024-04-10 に廃止されました。機能ロジックは noDataEvent と同等のため、直接 noDataEvent に置き換えられます
recover 復旧イベントをトリガーします。このパラメータは 2024-04-10 に廃止されました。機能ロジックは okEvent と同等のため、直接 okEvent に置き換えられます

6. 高度なチェック(jsonScript.type が seniorCheck の場合)のパラメータ情報

パラメータ名 type 必須 説明
title string Y 障害イベントのタイトルテンプレートを出力します
message string N 障害イベントの情報テンプレートを出力します
recoverTitle string N 復旧イベントのタイトルテンプレートを出力します
recoverMessage string N 復旧イベントの情報テンプレートを出力します
noDataTitle string N データなしイベントのタイトルテンプレートを出力します
noDataMessage string N データなしイベントの情報テンプレートを出力します
noDataRecoverTitle string N データなし復旧イベントのタイトルテンプレートを出力します
noDataRecoverMessage string N データなし復旧イベントの情報テンプレートを出力します
type string Y ルールタイプ
every string Y チェック頻度。単位は (1m/1h/1d)
customCrontab string N カスタムチェック頻度の crontab
delaySeconds integer N データ待機ウィンドウ(単位: 秒)。0、60、120、180、300、600、900、1800 をサポート。デフォルトは 0
checkFuncs array Y 高度なチェック関数のリスト。要素は 1 つのみであることに注意
checkFuncs[#].funcId string Y 関数 ID。【外部関数】一覧 インターフェースで funcTags=monitorType|custom のカスタムチェック関数リストを取得できます
checkFuncs[#].kwargs json N この高度な関数に必要なパラメータデータ

7. 急変チェック seniorMutationsCheck のパラメータ説明

パラメータ名 type 必須 説明
jsonScript.range integer N 検出メトリクスの Result 期間 1
jsonScript.range_2 integer N 検出メトリクスの Result 期間 2。補足: -1 は前周期比を表し、0 は periodBefore フィールドを使用することを表します
jsonScript.periodBefore integer N jsonScript.range_2 が 0 の場合、このフィールドは(前日/1 時間前)を表します
jsonScript.checkerOpt.diffMode string N 急変検出の差分モード(差: value、差の割合: percent)
jsonScript.checkerOpt.threshold.status boolean N 急変検出のトリガー前提条件の設定。有効/無効
jsonScript.checkerOpt.threshold.operator string N 急変検出のトリガー前提条件の設定。演算子
jsonScript.checkerOpt.threshold.value float N 急変検出のトリガー前提条件の設定。検出値

8. 複合モニタリング関連フィールドのパラメータ説明

パラメータ名 type 必須 説明
jsonScript.checkerOpt.combineExpr string Y 組み合わせ方式。例: A && B
jsonScript.checkerOpt.ignoreNodata boolean N データなしの結果を無視するかどうか(true は無視することを示します)

9. 外部イベント検知(jsonScript.type が OuterEventChecker の場合)の関連フィールドのパラメータ説明

パラメータ名 type 必須 説明
secret string N イベントが属するモニターを識別するために使用します。グローバルに一意です。作成時に省略した場合は Studio が生成し、Import では旧値は再利用されません。
jsonScript.subUri string Y Webhook アドレスの接尾辞。新規作成時に必須。一意である必要はありません。
jsonScript.isChangeEvent boolean N 変更イベントとして処理するかどうか。デフォルトは false。既存ルールにこのフィールドがない場合も false として処理されます。

AI セマンティックモニター jsonScript.type=aiMonitor のパラメータ説明

AI セマンティックモニターは独立した Rule.type=aiMonitor タイプで、checker の作成・変更・有効/無効切り替え・削除 API と、インテリジェントモニターの権限・ライフサイクルロジックを再利用します。タグには独立した AiCheckerRefTagObject 関連タイプを使用します。Studio はこのモニター用に Func の定期タスクを作成・変更し、常に guance__api.ai_monitor を呼び出します。

パラメータ名 type 必須 説明
jsonScript.title string Y モニター名。既存の checker リクエストフィールドをそのまま使用し、Func の checker_opt.name として渡されます
jsonScript.every string Y チェック頻度。既存の s/m/h 周期フォーマットをサポート。30 分以上を推奨します
jsonScript.customCrontab string N カスタム Cron 式。既存の checker 検証をそのまま使用します
jsonScript.checkerOpt.userPrompt string Y AI ユーザープロンプト。前後の空白を除いた後は空にできません。最大 20000 文字
jsonScript.checkerOpt.systemPrompt string N AI システムプロンプト。前後の空白を除いた後は空にできません。最大 20000 文字
jsonScript.checkerOpt.category string N AI モニタリングのカテゴリメタデータ
jsonScript.checkerOpt.infoEvent boolean N 情報イベントを生成するかどうか。デフォルトは false
jsonScript.checkerOpt.mentions array N DQL 参照リスト。デフォルトは []。シリアライズ後は最大 20000 文字。各項目の type は dql 固定で、空でない namespace と datasource が必須です。ログを選択する場合は index を指定します
jsonScript.checkerOpt.model string N モデル識別子。省略時は Func がデフォルトモデルを使用します
jsonScript.checkerOpt.contextWindowLimit integer N コンテキストウィンドウの上限。0 より大きい必要があります
jsonScript.checkerOpt.maxChatRounds integer N 最大対話ラウンド数。1 以上である必要があります
jsonScript.checkerOpt.maxDQLQueries integer N 最大 DQL クエリ数。0 以上である必要があります
jsonScript.checkerOpt.creditSoftBudget number N AI ソフトクォータ。0 より大きい必要があります

Func の入力パラメータの checker_opt.id は、Studio が Rule UUID を使用して補完します。workspace_agent_api_key には、現在のサイトのプレフィックスを付けたワークスペースの AI 汎用システム AK を使用します。ワークスペースの Token ローテーションでは workspace_token のみが更新され、この組み込み AK はローテーションされません。データ遅延には Func の CUSTOM_DB_DATA_DELAY を使用し、通常モニターの delaySeconds は使用しません。


10. フィールド disableCheckEndTime の説明

Guance に報告されたデータの処理ロジックには、追記書き込みと更新上書きの 2 つのモードがあります。これらのデータの特性に応じて、モニターは検出を区別して扱う必要があります。この区別の対象範囲には、モニター、インテリジェントモニタリング、インテリジェントインスペクションのすべてのモジュールが含まれます。 更新上書きメカニズムを持つデータタイプでモニター検出を設定する場合、モニター実行の delay 1 分によって更新モードのデータが固定時間範囲から逸脱する現象を避けるため、このようなモニタータイプの検出区間では終了時間を指定しません。 対象となるモニタータイプ: しきい値検出、急変検出、区間検出、外れ値検出、プロセス異常検知、インフラストラクチャー生存検知、RUM メトリクス検知(一部のメトリクス。詳細は下記の表を参照)

データタイプ Namespace 書き込みモード
メトリクス M 追記
イベント E 追記
未復旧イベント UE 上書き
インフラストラクチャー-オブジェクト O 上書き
インフラストラクチャー-カスタムオブジェクト CO 上書き
インフラストラクチャー-オブジェクト履歴 OH 追記
インフラストラクチャー-カスタムオブジェクト履歴 COH 追記
ログ / Synthetic モニタリング / CI 可視化 L 追記
APM トレース T 追記
APM Profile P 追記
RUM セッション R::session 上書き
RUM ビュー R::view 上書き
RUM リソース R::resource 追記
RUM ロングタスク R::long_task 追記
RUM アクション R::action 追記
RUM エラー R::error 追記
セキュリティチェック S

書き込みモードが上書きのものはすべて、disableCheckEndTime を true に指定する必要があります


11. 区間検出 V2 の関連パラメータフィールドの説明

パラメータ名 type 必須 説明
jsonScript.checkerOpt.confidenceInterval integer Y 信頼区間の範囲。値は 1~100%

12. モニター操作権限設定のパラメータ説明

パラメータ名 type 説明
openPermissionSet boolean カスタム権限設定を有効にするかどうか。デフォルトは false
permissionSet array 操作権限の設定

**permissionSet、openPermissionSet フィールドの説明(2024-06-26 のリリースで追加されたフィールド): ** openPermissionSet を有効にすると、ワークスペースの所有者と、permissionSet 設定に含まれるロール・チーム・メンバーだけが編集/有効化/無効化/削除を実行できます。 openPermissionSet を無効にすると(デフォルト)、削除/有効化/無効化/編集の権限は、従来の API の編集/有効化/無効化/削除権限に従います。

permissionSet フィールドには、ロール UUID(wsAdmin、general、readOnly、role_xxxxx)、チーム UUID(group_yyyy)、メンバー UUID(acnt_xxx)を設定できます。 permissionSet フィールドの例:

  ["wsAdmin", "general", "group_yyyy", "acnt_xxxx"]


13. インシデント連携の設定説明

パラメータ名 type 説明
extend.isNeedCreateIssue boolean インシデントを連携するかどうか。デフォルトは連携しない
extend.issueDfStatus array 選択可能な 5 種類(fatal、critical、error、warning、nodata)。issueDfStatus が存在する場合: モニターが生成したイベントの df_status が issueDfStatus に含まれるときのみ Issue が作成されます。issueDfStatus が存在しない場合は、すべてのイベントで Issue が作成されます
extend.issueLevelUUID string Issue レベルの UUID
extend.manager array Issue 作成時の担当者情報(メールアドレス/ワークスペースメンバー/チーム)。例: ["xxx@guance.com","acnt_yyyy", "group_"]
extend.needRecoverIssue boolean イベント復旧時に Issue も同時にクローズする必要があるかどうか。デフォルトは false
jsonScript.channels string isNeedCreateIssue が true の場合、このフィールドは必須です。Issue のチャンネル情報。例: ["chan_xxx", "chan_yyy"]

14. DQL 表示モード queryType の説明

extend.querylist を渡さない場合、queryType は自動注入を制御する外側のオプションフィールドで、simple と dql のみをサポートし、未指定時はデフォルトで dql になります。simple を指定すると、Studio はローカルの DQL パーサーを使用して jsonScript.targets から simple モードのフィールドを解析・注入します。解析または変換に失敗した場合は、自動的に DQL テキストモードにフォールバックします。extend.querylist を明示的に渡した場合は、呼び出し元の構造がそのまま保持され、queryType の注入セマンティクスは無視されます。


リクエスト例

curl 'https://openapi.guance.com/api/v1/checker/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"queryType":"simple","extend":{"funcName":"","isNeedCreateIssue":false,"issueLevelUUID":"","needRecoverIssue":false,"querylist":[{"datasource":"dataflux","qtype":"dql","query":{"alias":"","code":"Result","dataSource":"ssh","field":"ssh_check","fieldFunc":"count","fieldType":"float","funcList":[],"groupBy":["host"],"groupByTime":"","namespace":"metric","q":"M::`ssh`:(count(`ssh_check`)) BY `host`","type":"simple"},"uuid":"aada629a-672e-46f9-9503-8fd61065c382"}],"rules":[{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["90"],"operator":">="}],"status":"critical"},{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["0"],"operator":">="}],"status":"error"}]},"jsonScript":{"atAccounts":[],"atNoDataAccounts":[],"channels":[],"checkerOpt":{"infoEvent":false,"rules":[{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["90"],"operator":">="}],"status":"critical"},{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["0"],"operator":">="}],"status":"error"}]},"disableCheckEndTime":false,"every":"1m","groupBy":["host"],"interval":300,"message":">Level:{{status}}  \n>Host:{{host}}  \n>Content:Host SSH Status {{ Result |  to_fixed(2) }}%  \n>Suggestion:Check Host SSH Service Status","noDataMessage":"","noDataTitle":"","recoverNeedPeriodCount":2,"targets":[{"alias":"Result","dql":"M::`ssh`:(count(`ssh_check`)) BY `host`","qtype":"dql"}],"title":"Host {{ host }} SSH Service Exception-Add Alert Policy","type":"simpleCheck"},"alertPolicyUUIDs":["altpl_xxxx32","altpl_xxxx32"]}' \
--compressed

レスポンス

{
    "code": 200,
    "content": {
        "alertPolicyUUIDs": [
            "altpl_xxxx32",
            "altpl_xxxx32"
        ],
        "createAt": 1710831393,
        "createdWay": "manual",
        "creator": "wsak_xxxx",
        "crontabInfo": {
            "crontab": "*/1 * * * *",
            "id": "cron-2n8ZyrMWKXB8"
        },
        "declaration": {
            "b": [
                "asfawfgajfasfafgafwba",
                "asfgahjfaf"
            ],
            "business": "aaa",
            "organization": "64fe7b4062f74d0007b46676"
        },
        "deleteAt": -1,
        "extend": {
            "funcName": "",
            "isNeedCreateIssue": false,
            "issueLevelUUID": "",
            "needRecoverIssue": false,
            "querylist": [
                {
                    "datasource": "dataflux",
                    "qtype": "dql",
                    "query": {
                        "alias": "",
                        "code": "Result",
                        "dataSource": "ssh",
                        "field": "ssh_check",
                        "fieldFunc": "count",
                        "fieldType": "float",
                        "funcList": [],
                        "groupBy": [
                            "host"
                        ],
                        "groupByTime": "",
                        "namespace": "metric",
                        "q": "M::`ssh`:(count(`ssh_check`)) BY `host`",
                        "type": "simple"
                    },
                    "uuid": "aada629a-672e-46f9-9503-8fd61065c382"
                }
            ],
            "rules": [
                {
                    "conditionLogic": "and",
                    "conditions": [
                        {
                            "alias": "Result",
                            "operands": [
                                "90"
                            ],
                            "operator": ">="
                        }
                    ],
                    "status": "critical"
                },
                {
                    "conditionLogic": "and",
                    "conditions": [
                        {
                            "alias": "Result",
                            "operands": [
                                "0"
                            ],
                            "operator": ">="
                        }
                    ],
                    "status": "error"
                }
            ]
        },
        "id": null,
        "isLocked": false,
        "jsonScript": {
            "atAccounts": [],
            "atNoDataAccounts": [],
            "channels": [],
            "checkerOpt": {
                "infoEvent": false,
                "rules": [
                    {
                        "conditionLogic": "and",
                        "conditions": [
                            {
                                "alias": "Result",
                                "operands": [
                                    "90"
                                ],
                                "operator": ">="
                            }
                        ],
                        "status": "critical"
                    },
                    {
                        "conditionLogic": "and",
                        "conditions": [
                            {
                                "alias": "Result",
                                "operands": [
                                    "0"
                                ],
                                "operator": ">="
                            }
                        ],
                        "status": "error"
                    }
                ]
            },
            "disableCheckEndTime": false,
            "every": "1m",
            "groupBy": [
                "host"
            ],
            "interval": 300,
            "message": ">Level:{{status}}  \n>Host:{{host}}  \n>Content:Host SSH Status {{ Result |  to_fixed(2) }}%  \n>Suggestion:Check Host SSH Service Status",
            "name": "Host {{ host }} SSH Service Exception-Add Alert Policy",
            "noDataMessage": "",
            "noDataTitle": "",
            "recoverNeedPeriodCount": 2,
            "targets": [
                {
                    "alias": "Result",
                    "dql": "M::`ssh`:(count(`ssh_check`)) BY `host`",
                    "qtype": "dql"
                }
            ],
            "title": "Host {{ host }} SSH Service Exception-Add Alert Policy",
            "type": "simpleCheck"
        },
        "monitorName": "default",
        "monitorUUID": "monitor_xxxx32",
        "refKey": "",
        "secret": "",
        "status": 0,
        "tagInfo": [],
        "type": "trigger",
        "updateAt": null,
        "updator": null,
        "uuid": "rul_xxxx32",
        "workspaceUUID": "wksp_xxxx32"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-014A6CF1-E9D8-4EA7-9527-D3C39CC3A94A"
}

フィードバック

このページは役に立ちましたか?