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 activar el método se pueden revocar en la configuración de roles de usuario. Ver User roles para obtener más información.
(object)
Parámetros que contienen el ID del SLA, períodos de informe y, opcionalmente, los IDs de los servicios - para calcular el SLI.
|---------------------------------|----------------------- ------------------------------|------------------- -------------------------------------------------- ----------------| | slaid
(obligatorio) | cadena | ID del SLA para devolver información de disponibilidad. | | period_from | entero | Fecha de inicio (inclusive) para informar el SLI.
Valores posibles: marca de tiempo. | | periodo_to | entero | Fecha de finalización (exclusiva) para informar el SLI.
Valores posibles: marca de tiempo. | | periods | matriz | Número preferido de períodos para informar.
Valores posibles: 1-100 | | serviceids| cadena/matriz | ID de servicios para los que devolver el SLI. |
La siguiente tabla muestra la disposición de los sectores del período devuelto en función de combinaciones de parámetros.
Los períodos devueltos no precederán al primer período disponible según la fecha de vigencia del SLA y no excederán el período actual.
|------------------|----------------|------------- |------------------------------------------------- -------------------------------------------------- -----------------| | period_from | periodo_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 que comienzan 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 | Períodos de devolución especificados por el parámetro periods dentro del rango de fechas especificado. |
(object)
Devuelve los resultados del cálculo.
|------------|------------------------------------ -----------------|-------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------| | periods | matriz | Lista de los períodos reportados.
Cada período reportado se representa como un objeto que consta de:
- period_from - Fecha de inicio del período reportado (marca de tiempo).
- period_to - Finalización fecha del período reportado (marca de tiempo).
Los períodos se ordenan por el campo period_from
de forma ascendente. | | serviceids | matriz | Lista de IDs de servicios en los períodos informados.
El orden de clasificación de la lista no está definido. Incluso si el parámetro serviceids
se pasó al método sla.getsli
. | | sli | matriz | Datos SLI (como una matriz bidimensional) para cada período y servicio informado.
El índice de la propiedad periods
se utiliza como la primera dimensión del sli
propiedad.
El índice de la propiedad serviceids
se utiliza como la segunda dimensión de la propiedad sli
. |
Los datos de SLI devueltos para cada período y servicio reportado consisten en:
|---------------------|--------------------- --------------------|----------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------| | uptime | entero | Cantidad de tiempo que el servicio pasó en estado OK durante el tiempo de actividad programado, menos los tiempos de inactividad excluidos. | | tiempo de inactividad | entero | Cantidad de tiempo que el servicio pasó en un estado not OK durante el tiempo de actividad programado, menos los tiempos de inactividad excluidos. | | sli | flotador | SLI (porcentaje del tiempo de actividad total), basado en el tiempo de actividad y el tiempo de inactividad. | | error_budget | entero | Presupuesto de error (en segundos), basado en SLI y SLO. | | excluded_downtimes| matriz | Matriz 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 (exclusivas) del tiempo de inactividad excluido.
Los tiempos de inactividad excluidos se ordenan por campo period_from de forma ascendente. |
Recupere datos de SLI sobre servicios con ID "50", "60" y "70" que están vinculados al SLA con ID "5". Recupere datos de 3 períodos a partir del 01 de noviembre de 2021.
Solicitud:
{
"jsonrpc": "2.0",
"method": "sla.getsli",
"params": {
"slaid": "5",
"serviceids": [
50,
60,
70
],
"periods": 3,
"period_from": "1635724800"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"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