変更¶
POST /api/v1/checker/{rule_uuid}/modify
概要¶
rule_uuid に基づいて、指定されたモニター情報を変更します。
ルートパラメーター¶
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| rule_uuid | string | Y | チェック項目のID |
Body リクエストパラメーター¶
| パラメーター名 | 型 | 必須 | 説明 |
|---|---|---|---|
| configVersion | integer | V2変更時に必須の現在の構成バージョン。期限切れの場合は409を返します。旧版OpenAPIではこのフィールドは不要です。 $minValue: 1 |
|
| generationId | string | Front AI が新規作成または再生成した候補クレデンシャル。生成APIのレスポンスヘッダーから取得されます。 |
|
| queryType | string | extend.querylist が未指定の場合に使用・検証されるDQLフロントエンド表示モード。simple は Studio が解析してシンプルモードのフィールドを注入することを示し、dql は DQL テキストモードを示します。デフォルトは dql です。extend.querylist を明示的に指定した場合はそのまま優先使用され、queryType による注入は無視されます。simple の変換に失敗した場合は自動的に dql にフォールバックし、jsonScript.targets で実際に実行される DQL は変更されません。 空許容: False 例: simple |
|
| extend | json | 追加情報 空許容: True |
|
| status | integer | モニターのステータスフィールド。0 は有効状態、2 は無効状態、デフォルトは有効状態です(2025-02-19のリリースで追加)。 空許容: False 選択可能値: [0, 2] |
|
| alertPolicyUUIDs | array | アラートポリシー UUID 空許容: False |
|
| dashboardUUID | string | 関連するダッシュボードID 空許容: False |
|
| tags | array | フィルタリングに使用するタグ名 空許容: False 例: ['xx', 'yy'] |
|
| secret | string | Webhook アドレスの中間に含まれる一意の識別子 secret 空許容: 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 の旧版機能は互換性を維持します。
リクエスト例¶
curl 'https://openapi.guance.com/api/v1/checker/rul_xxxxxx/modify' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"queryType":"simple","extend":{"querylist":[{"datasource":"dataflux","qtype":"dql","query":{"code":"Result","type":"simple","namespace":"metric","dataSource":"ssh","field":"ssh_check","fieldType":"float","alias":"","fieldFunc":"count","groupByTime":"","groupBy":["host"],"q":"M::`ssh`:(count(`ssh_check`)) BY `host`","funcList":[]},"uuid":"aada629a-672e-46f9-9503-8fd61065c382"}],"funcName":"","rules":[{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["90"],"operator":">="}],"status":"critical"},{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["0"],"operator":">="}],"status":"error"}],"issueLevelUUID":"system_level_3","isNeedCreateIssue":false,"needRecoverIssue":false},"jsonScript":{"title":"Host {{ host }} SSH Service Exception","message":">Level:{{status}} \n>Host:{{host}} \n>Content:Host SSH Status {{ Result | to_fixed(2) }}% \n>Suggestion:Check Host SSH Service Status","noDataTitle":"","noDataMessage":"","type":"simpleCheck","every":"1m","groupBy":["host"],"interval":300,"targets":[{"dql":"M::`ssh`:(count(`ssh_check`)) BY `host`","alias":"Result","qtype":"dql"}],"checkerOpt":{"rules":[{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["90"],"operator":">="}],"status":"critical"},{"conditionLogic":"and","conditions":[{"alias":"Result","operands":["0"],"operator":">="}],"status":"error"}],"infoEvent":false},"recoverNeedPeriodCount":2,"channels":[],"atAccounts":[],"atNoDataAccounts":[],"disableCheckEndTime":false},"alertPolicyUUIDs":["altpl_xxxx32"],"tags":["Local Test Combination Detection"]}' \
--compressed
レスポンス¶
{
"code": 200,
"content": {
"createAt": 1710827935,
"createdWay": "manual",
"creator": "acnt_xxxx32",
"crontabInfo": {
"crontab": "*/1 * * * *",
"id": "cron-pwiThsuE9gtQ"
},
"declaration": {
"b": [
"asfawfgajfasfafgafwba",
"asfgahjfaf"
],
"business": "aaa",
"organization": "64fe7b4062f74d0007b46676"
},
"deleteAt": -1,
"extend": {
"funcName": "",
"isNeedCreateIssue": false,
"issueLevelUUID": "system_level_3",
"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": 1118,
"isLocked": 0,
"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",
"noDataMessage": "",
"noDataTitle": "",
"recoverNeedPeriodCount": 2,
"targets": [
{
"alias": "Result",
"dql": "M::`ssh`:(count(`ssh_check`)) BY `host`",
"qtype": "dql"
}
],
"title": "Host {{ host }} SSH Service Exception",
"type": "simpleCheck"
},
"monitorUUID": "monitor_xxxx32",
"refKey": "",
"secret": "",
"status": 0,
"tagInfo": [
{
"id": "tag_xxxx32",
"name": "Local Test Combination Detection"
}
],
"type": "trigger",
"updateAt": 1710831784,
"updator": "wsak_xxxxx",
"uuid": "rul_xxxx32",
"workspaceUUID": "wksp_xxxx32"
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-FF2C1DA3-1EE2-4802-A857-D37BCFB0C562"
}