Esta é uma tradução da página de documentação original em inglês. Ajude-nos a torná-la melhor.

sla.getsli

Descrição

objeto sla.getsli(parâmetros do objeto)

Este método permite calcular os dados do Indicador de Nível de Serviço (SLI).

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Consulte Funções de usuário para obter mais informações.

Parâmetros

(object) Parâmetros contendo o ID do SLA, períodos de relatório e, opcionalmente, os IDs dos serviços - para calcular o SLI.

Parâmetro Tipo Descrição
slaid
(requerido)
string IDs de serviços para os quais retornar informações de disponibilidade.
period_from integer Data de início (inclusive) para relatar o SLI.

Valores possíveis: timestamp.
period_to integer Data de término (exclusiva) para relatar o SLI.

Valores possíveis: timestamp.
periods array Número preferencial de períodos a serem relatados.

Valores possíveis: 1-100
serviceids string/array IDs de serviços para os quais retornar o SLI.

Particionamento de períodos

O seguinte demonstra o arranjo de period slices retornados com base em combinações de parâmetros..

Parâmetros Descrição
period_from period_to periods
- - - Os últimos 20 períodos (incluindo o atual), mas não após o primeiro período disponível com base na data de vigência do SLA.
- - specified Os últimos períodos especificados pelo parâmetro periods.
- specified - Os últimos 20 períodos antes da data especificada, mas não após o primeiro período disponível com base na data de vigência do SLA.
- specified specified Os últimos períodos especificados pelo parâmetro periods antes da data especificada.
specified - - Os primeiros 20 períodos (incluindo o atual), mas não após o atual.
specified - specified Os primeiros períodos especificados pelo parâmetro periods começando com o specified date.
specified specified - Períodos dentro do intervalo de datas especificado, mas não mais de 100 e não após o primeiro período disponível com base na data de vigência do SLA.
specified specified specified Períodos dentro do intervalo de datas especificado, mas não mais do que o número especificado de períodos e não após o primeiro período disponível com base na data de vigência do SLA.

Valores de retorno

(object) Retorna os resultados do cálculo.

Propriedade Tipo Descrição
periods array Lista dos períodos relatados.

Cada período relatado é representado como um objeto que consiste em:
- period_from - Data de início do período relatado (timestamp).
- period_to - Término data do período relatado (timestamp).

Os períodos são classificados pelo campo period_from crescente.
serviceids array Lista de IDs de serviço nos períodos relatados.

A ordem de classificação da lista não está definida. Mesmo que o parâmetro serviceids tenha sido passado para o método sla.getsli.
sli array Dados SLI (como uma array bidimensional) para cada período e serviço informado.

O índice da propriedade periods é usado como a primeira dimensão do sli property.

O índice da propriedade serviceids é usado como a segunda dimensão da propriedade sli.

Dados SLI

Os dados SLI retornados para cada período e serviço relatado consistem em:

Propriedade Tipo Descrição
uptime integer Quantidade de tempo que o serviço passou em um estado OK durante o tempo de atividade programado, menos os tempos de inatividade excluídos.
downtime integer Quantidade de tempo que o serviço gastou em um estado não OK durante o tempo de atividade programado, menos os tempos de inatividade excluídos.
sli float SLI (por cento do tempo de atividade total), com base no tempo de atividade e tempo de inatividade.
error_budget integer Orçamento de erro (em segundos), com base no SLI e no SLO.
excluded_downtimes array Array de tempos de inatividade excluídos neste período de relatório.

Cada objeto conterá os seguintes parâmetros:
- name - Nome do tempo de inatividade excluído.
- period_from - Data e hora de início (inclusive) do tempo de inatividade excluído.
- period_to - Data e hora de término (exclusiva) do tempo de inatividade excluído.

Os tempos de inatividade excluídos são classificados pelo campo period_from crescente.

Exemplos

Calculando SLI

Recuperar SLI em serviços com IDs "50", "60" e "70" vinculados a um SLA com ID "5" por 3 períodos a partir de 01 de novembro de 2021.

Request:

{
           "jsonrpc": "2.0",
           "method": "service.getsli",
           "params": {
               "slaid": "5",
               "serviceids": [
                   50,
                   60,
                   70
               ],
               "periods": 3,
               "period_from": "1635724800"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "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
       }

Fonte

CService::getSli() in ui/include/classes/api/services/CService.php.