获取SLA
Description 说明
object service.getsla(object **parameters**)
This method allows to calculate availability information about services. 此方法允许计算有关服务的可用性信息。
Parameters 参数
(object)
Parameters containing the IDs of the services and time intervals to calculate SLA. (object)
参数包含服务ID以及计算SLA的时间间隔。
Parameter 参数 | Type 类型 | Description 说明 |
---|---|---|
serviceids | string/array 字符串/数组 | IDs of services to return availability information for. 提供可用性信息的服务ID。 |
intervals | array 数组 | Time intervals to return service layer availability information about. 返回服务层可用性信息的时间间隔。 Each time interval must have the following parameters: 每个时间间隔必须具有以下参数: - from - (timestamp 时间戳) interval start time; 间隔开始时间;- to - (timestamp 时间戳) interval end time. 间隔结束时间。 |
Return values 返回值
(object)
Returns the following availability information about each service under the corresponding service ID. (object)
返回关于相应服务ID下每个服务的可用性信息。
Property 属性 | Type 类型 | Description 说明 |
---|---|---|
status | integer 整数型 | Current status of the service. 当前服务的状态。 Refer to the service object page for more information on service statuses. 有关服务状态的更多信息,请参阅service object page。 |
problems | array 数组 | Triggers that are currently in problem state and are linked either to the service or one of its descendants. 当前处于故障状态并且与服务或服务的子项所关联的触发器。 |
sla | array 数组 | SLA data about each time period. 每个时间段的SLA数据。 Each SLA object has the following properties: 每个SLA对象具有以下属性: - from - (timestamp 时间戳) interval start time; 间隔开始时间;- to - (timestamp 时间戳) interval end time; 间隔结束时间;- sla - (float 浮点数) SLA for the given time interval; 指定时间间隔的SLA;- okTime - (integer 整数型) time the service was in OK state, in seconds; 服务处于正常状态的时间,单位秒;- problemTime - (integer 整数型) time the service was in problem state, in seconds; 服务处于故障状态的时间,单位秒;- downtimeTime - (integer 整数型) time the service was in scheduled downtime, in seconds. 服务处于计划停机的时间,单位秒。 |
Examples 范例
Retrieving availability information for an service 检索服务的可用性信息
Retrieve availability information about a service during a week. 检索有关服务在一周内的可用性信息。
Request 请求:
{
"jsonrpc": "2.0",
"method": "service.getsla",
"params": {
"serviceids": "2",
"intervals": [
{
"from": 1352452201,
"to": 1353057001
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response 响应:
{
"jsonrpc": "2.0",
"result": {
"2": {
"status": "3",
"problems": {
"13904": {
"triggerid": "13904",
"expression": "{13359}=0",
"description": "Service unavailable",
"url": "",
"status": "0",
"value": "1",
"priority": "3",
"lastchange": "1352967420",
"comments": "",
"error": "",
"templateid": "0",
"type": "0",
"value_flags": "0",
"flags": "0"
}
},
"sla": [
{
"from": 1352452201,
"to": 1353057001,
"sla": 97.046296296296,
"okTime": 586936,
"problemTime": 17864,
"downtimeTime": 0
}
]
}
},
"id": 1
}
See also 参考
Source 源码
CService::getSla() in frontends/php/include/classes/api/services/CService.php. CService::getSla()方法可在frontends/php/include/classes/api/services/CService.php中参考。