object sla.getsli(object parameters)
Este método permite calcular los datos del Indicador de Nivel de Servicio (SLI) para un Acuerdo de Nivel de Servicio (SLA).
Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método pueden ser revocados en la configuración de roles de usuario. Consulte Roles de usuario para más información.
(object)
Parámetros que contienen el ID del SLA, los períodos de informe y, opcionalmente, los IDs de los servicios para calcular el SLI.
Parámetro | Tipo | Descripción |
---|---|---|
slaid | ID | ID del SLA para devolver la información de disponibilidad. Comportamiento del parámetro: - requerido |
period_from | timestamp | Fecha de inicio (inclusive) para informar el SLI. Valores posibles: timestamp. |
period_to | timestamp | Fecha de finalización (exclusiva) para informar el SLI. Valores posibles: timestamp. |
periods | array | Número preferido de períodos a informar. Valores posibles: 1-100 |
serviceids | ID/array | IDs de los servicios para devolver el SLI. |
La siguiente tabla demuestra la disposición de los segmentos de períodos devueltos según las combinaciones de parámetros.
Los períodos devueltos no precederán al primer período disponible según la fecha efectiva del SLA y no excederán el período actual.
Parámetros | Descripción | ||
---|---|---|---|
period_from | period_to | periods | |
- | - | - | Devuelve los últimos 20 períodos. |
- | - | especificado | Devuelve los últimos períodos especificados por el parámetro periods. |
- | especificado | - | Devuelve los últimos 20 períodos antes de la fecha period_to especificada. |
- | especificado | especificado | Devuelve los últimos períodos especificados por el parámetro periods antes de la fecha period_to especificada. |
especificado | - | - | Devuelve los primeros 20 períodos comenzando con la fecha period_from especificada. |
especificado | - | especificado | Devuelve los primeros períodos especificados por el parámetro periods comenzando con la fecha period_from especificada. |
especificado | especificado | - | Devuelve hasta 100 períodos dentro del rango de fechas especificado. |
especificado | especificado | especificado | Devuelve los períodos especificados por el parámetro periods dentro del rango de fechas especificado. |
(object)
Devuelve los resultados del cálculo.
Propiedad | Tipo | Descripción |
---|---|---|
periods | array | Lista de los periodos informados. Cada periodo informado se representa como un objeto que consta de: - period_from - Fecha de inicio del periodo informado (timestamp).- period_to - Fecha de fin del periodo informado (timestamp).Los periodos se ordenan por el campo period_from de forma ascendente. |
serviceids | array | Lista de IDs de servicios en los periodos informados. El orden de clasificación de la lista no está definido. Incluso si se pasó el parámetro serviceids al método sla.getsli . |
sli | array | Datos SLI (como una matriz bidimensional) para cada periodo informado y servicio. El índice de la propiedad periods se utiliza como la primera dimensión de la propiedad sli .El índice de la propiedad serviceids se utiliza como la segunda dimensión de la propiedad sli . |
Los datos SLI devueltos para cada período informado y servicio consisten en:
Propiedad | Tipo | Descripción |
---|---|---|
uptime | integer | Cantidad de tiempo que el servicio estuvo en estado OK durante el tiempo de actividad programado, menos los tiempos de inactividad excluidos. |
downtime | integer | Cantidad de tiempo que el servicio estuvo en estado no OK durante el tiempo de actividad programado, menos los tiempos de inactividad excluidos. |
sli | float | SLI (porcentaje del tiempo total de actividad), basado en uptime y downtime. |
error_budget | integer | Error budget (en segundos), basado en el SLI y el SLO. |
excluded_downtimes | array | Array de tiempos de inactividad excluidos en este período de informe. Cada objeto contendrá los siguientes parámetros: - name - Nombre del tiempo de inactividad excluido.- period_from - Fecha y hora de inicio (inclusive) del tiempo de inactividad excluido.- period_to - Fecha y hora de finalización (exclusiva) del tiempo de inactividad excluido.Los tiempos de inactividad excluidos se ordenan por el campo period_from en orden ascendente. |
Recuperar datos de SLI en los servicios con IDs "50", "60" y "70" que están vinculados al SLA con ID "5". Recuperar datos para 3 periodos comenzando desde el 01 de noviembre de 2021.
{
"jsonrpc": "2.0",
"method": "sla.getsli",
"params": {
"slaid": "5",
"serviceids": [
50,
60,
70
],
"periods": 3,
"period_from": "1635724800"
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"periods": [
{
"period_from": 1635724800,
"period_to": 1638316800
},
{
"period_from": 1638316800,
"period_to": 1640995200
},
{
"period_from": 1640995200,
"period_to": 1643673600
}
],
"serviceids": [
50,
60,
70
],
"sli": [
[
{
"uptime": 1186212,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Excluded Downtime - 1",
"period_from": 1637836212,
"period_to": 1638316800
}
]
},
{
"uptime": 1186212,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Excluded Downtime - 1",
"period_from": 1637836212,
"period_to": 1638316800
}
]
},
{
"uptime": 1186212,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Excluded Downtime - 1",
"period_from": 1637836212,
"period_to": 1638316800
}
]
}
],
[
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Excluded Downtime - 1",
"period_from": 1638439200,
"period_to": 1639109652
}
]
},
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Excluded Downtime - 1",
"period_from": 1638439200,
"period_to": 1639109652
}
]
},
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Excluded Downtime - 1",
"period_from": 1638439200,
"period_to": 1639109652
}
]
}
],
[
{
"uptime": 1674000,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": []
},
{
"uptime": 1674000,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": []
},
{
"uptime": 1674000,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": []
}
]
]
},
"id": 1
}
CSla::getSli() en ui/include/classes/api/services/CSla.php