Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

sla.getsli

Descrição

object sla.getsli(object parameters)

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

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. Veja Funções de usuário para 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 ID ID do SLA para retornar informações de disponibilidade.

Comportamento do parâmetro:
- obrigatório
period_from timestamp Data de início (inclusiva) para relatar o SLI.

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

Valores possíveis: timestamp.
periods array Número preferencial de períodos para relatar.

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

Particionamento de períodos

A tabela a seguir demonstra o arranjo dos períodos retornados com base em combinações de parâmetros.

Os períodos retornados não precederão o primeiro período disponível com base na data efetiva do SLA e não excederão o período atual.

Parâmetros Descrição
period_from period_to periods
- - - Retorna os últimos 20 períodos.
- - especificado Retorna os últimos períodos especificados pelo parâmetro periods.
- especificado - Retorna os últimos 20 períodos antes da data period_to especificada.
- especificado especificado Retorna os últimos períodos especificados pelo parâmetro periods antes da data period_to especificada.
especificado - - Retorna os primeiros 20 períodos a partir da data period_from especificada.
especificado - especificado Retorna os primeiros períodos especificados pelo parâmetro periods a partir da data period_from especificada.
especificado especificado - Retorna até 100 períodos dentro do intervalo de datas especificado.
especificado especificado especificado Retorna os períodos especificados pelo parâmetro periods dentro do intervalo de datas especificado.

Valores de retorno

(object) Retorna os resultados do cálculo.

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

Cada período reportado é representado como um objeto consistindo de:
- period_from - Data de início do período reportado (timestamp).
- period_to - Data de término do período reportado (timestamp).

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

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

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

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

Dados de SLI

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

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

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

Os períodos de inatividade excluídos são classificados pelo campo period_from em ordem crescente.

Exemplos

Calculando SLI

Recupere os dados de SLI dos serviços com IDs "50", "60" e "70" que estão vinculados ao SLA com ID "5". Recupere dados para 3 períodos a partir de 01 de novembro de 2021.

Requisição:

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

Resposta:

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

Origem

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