maintenance.create

描述

object maintenance.create(object/array maintenances)

此方法允许create新的维护。

此方法仅适用于AdminSuper admin用户类型。调用该方法的权限可以在用户角色设置中撤销。更多信息请参见User roles

参数

(object/array) 要创建的维护。

除了标准维护属性之外,该方法还接受以下参数。

Parameter Type Description
groups object/array 将进入维护的主机组

主机组必须只定义 groupid 属性。

参数行为
- 如果未设置 hosts,则为 required
hosts object/array 将进入维护的主机

主机必须只定义 hostid 属性。

参数行为
- 如果未设置 groups,则为 required
timeperiods object/array 维护时间段

参数行为
- required
tags object/array 问题标签

定义需要抑制哪些问题。
如果未提供标签,则所有处于活动维护中的主机问题都将被抑制。

参数行为
- 如果 Maintenance objectmaintenance_type 设置为 "with data collection",则为 supported
groupids
(deprecated)
array 此参数已弃用,请改用 groups
将进入维护的主机组 ID。
hostids
(deprecated)
array 此参数已弃用,请改用 hosts
将进入维护的主机 ID。

返回值

(object) 返回一个 object,其中包含在 maintenanceids 属性下列出的已创建维护的 ID。返回的 ID 顺序与传入的维护顺序一致。

示例

创建维护

为 ID 为 "2" 的主机组创建一个带有数据收集的维护,并设置问题标签 service:mysqlderror。它必须从 17.03.2026 到 17.03.2027 处于生效状态,每周日 18:00 生效,并持续一小时。

请求:

{
    "jsonrpc": "2.0",
    "method": "maintenance.create",
    "params": {
        "name": "Sunday maintenance",
        "active_since": 1773720240,
        "active_till": 1805256240,
        "tags_evaltype": 0,
        "groups": [
            {"groupid": "2"}
        ],
        "timeperiods": [
            {
                "period": 3600,
                "timeperiod_type": 3,
                "start_time": 64800,
                "every": 1,
                "dayofweek": 64
            }
        ],
        "tags": [
            {
                "tag": "service",
                "operator": "0",
                "value": "mysqld"
            },
            {
                "tag": "error",
                "operator": "2",
                "value": ""
            }
        ]
    },
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "maintenanceids": [
            "3"
        ]
    },
    "id": 1
}

另请参见

来源

CMaintenance::create() 在 ui/include/classes/api/services/CMaintenance.php 中。