创建
描述
object maintenance.create(object/array maintenances)
此方法允许您创建新的维护。
此方法仅适用于 Admin 和 Super admin 用户类型。调用该方法的权限可以在用户角色 设置中撤销。有关更多信息,请参见 User roles。
参数
(object/array) 要创建的维护。
除标准维护属性外,该方法还接受以下参数。
| 参数 | 类型 | 描述 |
|---|---|---|
| groups | object/array | 要置于维护状态的主机群组。 主机群组只能定义 groupid 属性。参数行为: - 如果未设置 hosts,则为必需 |
| hosts | object/array | 要置于维护状态的主机。 主机只能定义 hostid 属性。参数行为: - 如果未设置 groups,则为必需 |
| triggers | object/array | 要置于维护状态的触发器。 触发器只能定义 triggerid 属性。参数行为: - 如果未设置 groups 和 hosts,则为必需- 当 maintenance_type=0(收集数据)时支持 |
| event_names | object/array | 用于定义要置于维护状态的问题的事件名称。 参数行为: - 当 maintenance_type=0(收集数据)时支持 |
| tags | object/array | 用于定义要置于维护状态的问题的问题标签。 参数行为: - 当维护对象的 maintenance_type 设置为“收集数据”时支持 |
| timeperiods | object/array | 维护时间段。 参数行为: - 必需 |
返回值
(object)在maintenanceids属性中返回一个包含所有已被创建的维护模式的对象的ID。返回的IDs的排序与传递的维护模式的IDs顺序一致。
案例
创建维护
创建一个维护,启用主机组(ID 为 "20")的数据采集,并设置问题标签 service:mysqld 和 error。
维护时间必须从 2026 年 3 月 17 日持续到 2027 年 3 月 17 日,每周日 18:00 生效,持续一小时。
请求:
{
"jsonrpc": "2.0",
"method": "maintenance.create",
"params": {
"name": "Sunday maintenance",
"active_since": 1773720240,
"active_till": 1805256240,
"tags_evaltype": 0,
"groups": [
{"groupid": "20"}
],
"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
}
创建临时维护
为 ID 为 "4" 的主机组、ID 为 "12345" 的触发器以及事件名称 Printer: ink low 创建一个持续一小时且收集数据的临时维护。
请求:
{
"jsonrpc": "2.0",
"method": "maintenance.create",
"params": {
"name": "Ad-hoc maintenance",
"active_since": 1792057740,
"active_till": 1792061340,
"tags_evaltype": 0,
"groups": [
{"groupid": "4"}
],
"triggers": [
{"triggerid": "12345"}
],
"timeperiods": [
{
"period": 3600,
"timeperiod_type": 0,
"start_date": 1792057740
}
],
"event_names": [
{
"operator": "2",
"value": "Printer: ink low"
}
]
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"maintenanceids": [
"4"
]
},
"id": 1
}
另请参阅
来源
CMaintenance::create() in ui/include/classes/api/services/CMaintenance.php.