sla.getsli

Descripción

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 se pueden revocar en la configuración de roles de usuario. Ver Roles de usuario para obtener más información.

Parámetros

(objeto) Parámetros que contienen el ID del SLA, períodos de informe y, opcionalmente, los ID de los servicios - para calcular el SLI.

Parámetro Tipo Descripción
slaid cadena ID del SLA para el cual devolver información de disponibilidad.

Comportamiento del parámetro:
- requerido
period_from marca de tiempo Fecha de inicio (inclusive) para informar el SLI.

Valores posibles: marca de tiempo.
period_to marca de tiempo 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.

Partición de períodos

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.

Parámetros Descripción
período_desde período_hasta períodos
- - - Devuelve los últimos 20 periodos.
- - especificado Devuelve los últimos períodos especificados por el parámetro periodos.
- 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 especificada period_from.
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 retorno especificados por el parámetro periodos dentro del rango de fechas especificado.

Valores de retorno

(objeto) Devuelve los resultados del cálculo.

Propiedad Tipo Descripción
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 - Fecha de finalización del período informado (marca de tiempo).

Los períodos se ordenan según el campo period_from de forma ascendente.
serviceids matriz Lista de ID 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 de la propiedad sli.

El índice de la propiedad serviceids se utiliza como segunda dimensión de la propiedad sli.

Datos SLI

Los datos de SLI devueltos para cada período y servicio reportado consisten en:

Propiedad Tipo Descripción
uptime entero Cantidad de tiempo que el servicio pasó en estado OK durante el tiempo de actividad programado, menos los tiempos de inactividad excluidos.
downtime entero Cantidad de tiempo que el servicio pasó en un estado no correcto durante el tiempo de actividad programado, menos los tiempos de inactividad excluidos.
sli float 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.

Ejemplos

Calcular el SLI

Recupere datos de SLI sobre servicios con ID "50", "60" y "70" que están vinculados al SLA con ID "5". Recuperar 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"
           },
           "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
       }

Fuente

CSla::getSli() en ui/include/classes/api/services/CSla.php