新規作成¶
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 フィールドの例:
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"
}