コンテンツにスキップ

変更



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"
}

フィードバック

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