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 | Timestamp inicial (inclusivo) para relatar o SLI. Valores possíveis: timestamp Unix. |
| period_to | timestamp | Timestamp final (inclusivo) para relatar o SLI. Valores possíveis: timestamp Unix. |
| periods | integer | Número de períodos a serem relatados. 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 nas combinações dos parâmetros.
Os períodos retornados não precedem o primeiro período disponível (com base na data efetiva do SLA) e não excedem o período atual.
| Parâmetros | Períodos retornados | ||
|---|---|---|---|
| period_from | period_to | periods | |
| - | - | - | Últimos 20 períodos, incluindo o atual. |
| - | - | N | Últimos N períodos. |
| - | especificado | - | Últimos 20 períodos antes de period_to. |
| - | especificado | N | Últimos N períodos antes de period_to. |
| especificado | - | - | Primeiros 20 períodos a partir de period_from. |
| especificado | - | N | Primeiros N períodos a partir de period_from. |
| especificado | especificado | - | Até 100 períodos no intervalo especificado. |
| especificado | especificado | N | N períodos no intervalo especificado. |
(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 consistindo de: - period_from - (timestamp) Timestamp inicial (inclusivo) do período relatado.- period_to - (timestamp) Timestamp final (exclusivo) do período relatado.Os períodos são classificados por period_from, com os períodos mais antigos aparecendo primeiro. |
| 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 um array bidimensional) para cada período relatado 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 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 - (string) Nome do período de inatividade excluído.- period_from - (timestamp) Timestamp inicial (inclusivo) do período de inatividade excluído.- period_to - (timestamp) Timestamp final (exclusivo) do período de inatividade excluído.Os períodos de inatividade excluídos são classificados por period_from, com os períodos mais antigos aparecendo primeiro. |
Recupere os dados de SLI para os serviços com IDs "1" e "4" que estão vinculados ao SLA com ID "1". Recupere os dados para um único período até "1761861599" (30 de outubro de 2025 23:59:59 GMT+0200). Como o período de relatório do SLA é diário, os dados de SLI são recuperados de "1761775200" (30 de outubro de 2025 00:00:00 GMT+0200) até "1761861600" (31 de outubro de 2025 00:00:00 GMT+0200).
{
"jsonrpc": "2.0",
"method": "sla.getsli",
"params": {
"slaid": "1",
"serviceids": [
1,
4
],
"periods": 1,
"period_to": 1761861599,
},
"id": 1
}Resposta:
{
"jsonrpc": "2.0",
"result": {
"periods": [
{
"period_from": 1761775200,
"period_to": 1761861600
}
],
"serviceids": [
1,
4
],
"sli": [
[
{
"uptime": 43843,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance OCT",
"period_from": 1761825600,
"period_to": 1761829200
}
]
},
{
"uptime": 32225,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": []
}
]
]
},
"id": 1
}Recupere os dados de SLI em serviços com IDs "50", "60" e "70" que estão vinculados ao SLA com ID "5". Recupere dados para três períodos a partir de "1635724800" (01 de nov de 2021 00:00:00 UTC). Como o período de relatório do SLA é mensal, os dados de SLI são recuperados para os três meses seguintes:
{
"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": "Maintenance Nov 25 - Dec 01",
"period_from": 1637836212,
"period_to": 1638316800
}
]
},
{
"uptime": 1186212,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Nov 25 - Dec 01",
"period_from": 1637836212,
"period_to": 1638316800
}
]
},
{
"uptime": 1186212,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Nov 25 - Dec 01",
"period_from": 1637836212,
"period_to": 1638316800
}
]
}
],
[
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Dec 02 - Dec 10",
"period_from": 1638439200,
"period_to": 1639109652
}
]
},
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Dec 02 - Dec 10",
"period_from": 1638439200,
"period_to": 1639109652
}
]
},
{
"uptime": 1147548,
"downtime": 0,
"sli": 100,
"error_budget": 0,
"excluded_downtimes": [
{
"name": "Maintenance Dec 02 - Dec 10",
"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