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.
(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. |
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. |
(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. |
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. |
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.
{
"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
}CSla::getSli() em ui/include/classes/api/services/CSla.php