object maintenance.create(object/array maintenances)
此方法允许创建新的维护周期。
此方法仅适用于管理员和超级管理员用户类型。调用该方法的权限可在用户角色设置中撤销。更多信息请参阅User roles。
(object/array)
待创建的维护任务。
除维护外,该方法还接受以下参数。
参数 | 数据类型 | 说明 |
---|---|---|
groups | object/array | 将进入维护状态的主机groups。 主机组必须定义 groupid 属性。必须至少指定 groups 或hosts 中的一个object。 |
hosts | object/array | 将进入维护状态的Hosts。 主机必须定义 hostid 属性。必须至少指定 groups 或hosts 中的一个object。 |
timeperiods (required) |
object/array | 维护时间段。 |
tags | object/array | 问题标签。 定义需要抑制的问题类型。 若未指定标签,将抑制所有活动维护主机的问题。 |
groupids (deprecated) |
array | 此参数已弃用,请改用groups 。将进入维护状态的主机组ID。 |
hostids (deprecated) |
array | 此参数已弃用,请改用hosts 。将进入维护状态的主机ID。 |
(object)
返回一个包含所创建维护周期ID的object,这些ID存储在maintenanceids
属性下。返回的ID顺序与传入的维护周期顺序一致。
为ID为"2"的主机组创建包含数据收集的维护周期,需匹配问题标签service:mysqld和error。该维护应从22.01.2013持续至22.01.2014,每周日18:00生效,持续时长为1小时。
请求:
{
"jsonrpc": "2.0",
"method": "maintenance.create",
"params": {
"name": "Sunday maintenance",
"active_since": 1358844540,
"active_till": 1390466940,
"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": ""
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
CMaintenance::create() 方法位于 ui/include/classes/api/services/CMaintenance.php 文件中。