获取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中参考。
