[comment]: # translation:outdated

[comment]: # ({d1387fc4-d1387fc4})
# sla.getsli

[comment]: # ({/d1387fc4-d1387fc4})

[comment]: # ({59cbeb46-59cbeb46})
### 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).  
  
::: noteclassic  
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](/manual/web_interface/frontend_sections/administration/user_roles) para obter mais informações.
:::

[comment]: # ({/59cbeb46-59cbeb46})

[comment]: # ({2578ebd6-2578ebd6})
### 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](/manual/api/reference_commentary#data_types) | Descrição                                                                         |
|-------------------------|-----------------------------------------------------|-------------------------------------------------------------------------------------|
| **slaid**<br>(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.<br><br>Valores possíveis: timestamp. |
| period\_to              | integer                                             | Data de término (exclusiva) para relatar o SLI.<br><br>Valores possíveis: timestamp.   |
| periods                 | array                                               | Número preferencial de períodos a serem relatados.<br><br>Valores possíveis: 1-100                |
| serviceids              | string/array                                        | IDs de serviços para os quais retornar o SLI.                                              |

[comment]: # ({/2578ebd6-2578ebd6})

[comment]: # ({c2dd0229-c2dd0229})
#### 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. |

[comment]: # ({/c2dd0229-c2dd0229})

[comment]: # ({b47d03dc-b47d03dc})
### Valores de retorno  
  
`(object)` Retorna os resultados do cálculo.  
  
| Propriedade | [Tipo](/manual/api/reference_commentary#data_types) | Descrição                                                                                                                                                                                                                                                                                                |
|------------|-----------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| periods    | array                                               | Lista dos períodos relatados.<br><br>Cada período relatado é representado como um objeto que consiste em:<br>- _period\_from_ - Data de início do período relatado (timestamp).<br>- _period\_to_ - Término data do período relatado (timestamp).<br><br>Os períodos são classificados pelo campo `period_from` crescente. |
| serviceids | array                                               | Lista de IDs de serviço nos períodos relatados.<br><br>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.<br><br>O índice da propriedade `periods` é usado como a **primeira** dimensão do `sli` property.<br><br>O índice da propriedade `serviceids` é usado como a **segunda** dimensão da propriedade `sli`.                |

[comment]: # ({/b47d03dc-b47d03dc})

[comment]: # ({782f6e34-782f6e34})
#### Dados SLI  
  
Os dados SLI retornados para cada período e serviço relatado consistem em:  
  
| Propriedade | [Tipo](/manual/api/reference_commentary#data_types) | 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.<br><br>Cada objeto conterá os seguintes parâmetros:<br>- _name_ - Nome do tempo de inatividade excluído.<br>- _period\_from_ - Data e hora de início (inclusive) do tempo de inatividade excluído.<br>- _period\_to_ - Data e hora de término (exclusiva) do tempo de inatividade excluído.<br><br>Os tempos de inatividade excluídos são classificados pelo campo period_from crescente. |

[comment]: # ({/782f6e34-782f6e34})

[comment]: # ({b41637d2-b41637d2})
### Exemplos

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({dcd53a44-e6513a45})
#### 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:

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

Response:

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

[comment]: # ({/dcd53a44-e6513a45})

[comment]: # ({13a91d62-a5414084})
### Fonte

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

[comment]: # ({/13a91d62-a5414084})
