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.