[comment]: # translation:outdated

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

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

[comment]: # ({4d11f052-531f7cc6})
### Beschrijving

`object sla.getsli(object parameters)`

Deze methode maakt het mogelijk om de gegevens voor de Service Level Indicator (SLI) te berekenen.

::: noteclassic
Deze methode is beschikbaar voor gebruikers van elk type. Toestemming
om de methode op te roepen kan worden ingetrokken in de instellingen van gebruikersrollen.
Zie [Gebruikersrollen](/handleiding/web_interface/frontend_sections/users/user_roles)
voor meer informatie.
:::

[comment]: # ({/4d11f052-531f7cc6})

[comment]: # ({dd0d9c74-bcbf1cf2})
### Parameters

`(object)` Parameters met de SLA-ID, rapportageperiodes en, optioneel,
de IDs van de services - om de SLI voor te berekenen.

|Parameter|[Type](/manual/api/reference_commentary#data_types)|Beschrijving|
|--|--|------|
|slaid|string|ID's van services om beschikbaarheidsinformatie voor op te halen.<br><br>[Gedrag van de parameter](/manual/api/reference_commentary#parameter-behavior):<br>- *verplicht*|
|period\_from|timestamp|Startdatum (inclusief) voor het rapporteren van de SLI voor.<br><br>Mogelijke waarden: timestamp.|
|period\_to|timestamp|Einddatum (exclusief) voor het rapporteren van de SLI voor.<br><br>Mogelijke waarden: timestamp.|
|periods|array|Voorkeursaantal perioden om te rapporteren.<br><br>Mogelijke waarden: 1-100|
|serviceids|string/array|ID's van services om de SLI voor op te halen.|

[comment]: # ({/dd0d9c74-bcbf1cf2})

[comment]: # ({8fb8ff0c-31bc72e4})
#### Indeling van perioden

Het volgende toont de ordening van teruggegeven _periodedelen_ gebaseerd op combinaties van parameters.

|Parameters|   |   |Beschrijving|
|--|--|--|----|
|**period\_from**|**period\_to**|**periods**|   |
|-|-|-|De laatste 20 perioden (inclusief de huidige periode), maar niet voorbij de eerste beschikbare periode op basis van de ingangsdatum van de SLA.|
|-|-|gespecificeerd|De laatste perioden gespecificeerd door de **periods** parameter.|
|-|gespecificeerd|-|De laatste 20 perioden voor de **gespecificeerde datum**, maar niet voorbij de eerste beschikbare periode op basis van de ingangsdatum van de SLA.|
|-|gespecificeerd|gespecificeerd|De laatste perioden gespecificeerd door de **periods** parameter voor de **gespecificeerde datum**.|
|gespecificeerd|-|-|De eerste 20 perioden (inclusief de huidige periode), maar niet voorbij de huidige periode.|
|gespecificeerd|-|gespecificeerd|De eerste perioden gespecificeerd door de **periods** parameter, beginnend op de **gespecificeerde datum**.|
|gespecificeerd|gespecificeerd|-|Perioden binnen het gespecificeerde datumbereik, maar niet meer dan 100 en niet voorbij de eerste beschikbare periode op basis van de ingangsdatum van de SLA.|
|gespecificeerd|gespecificeerd|gespecificeerd|Perioden binnen het gespecificeerde datumbereik, maar niet meer dan het gespecificeerde aantal perioden en niet voorbij de eerste beschikbare periode op basis van de ingangsdatum van de SLA.|

[comment]: # ({/8fb8ff0c-31bc72e4})

[comment]: # ({af9e88c4-b46f1257})
### Retourwaarden

`(object)` Geeft de resultaten van de berekening weer.

| Eigenschap | [Type](/manual/api/reference_commentary#data_types) | Beschrijving |
| -- | -- | ------ |
| perioden | array | Lijst van gerapporteerde perioden.<br><br>Elke gerapporteerde periode wordt weergegeven als een object bestaande uit:<br>- `period_from` - Begindatum van de gerapporteerde periode (tijdstempel).<br>- `period_to` - Einddatum van de gerapporteerde periode (tijdstempel).<br><br>Perioden worden gesorteerd oplopend op het veld `period_from`. |
| serviceids | array | Lijst van service-ID's in de gerapporteerde perioden.<br><br>De sorteervolgorde van de lijst is niet gedefinieerd, zelfs als de parameter `serviceids` aan de methode `sla.getsli` is doorgegeven. |
| sli | array | SLI-gegevens (als een **tweedimensionale array**) voor elke gerapporteerde periode en service.<br><br>De index van de eigenschap `perioden` wordt gebruikt als de **eerste** dimensie van de eigenschap `sli`.<br><br>De index van de eigenschap `serviceids` wordt gebruikt als de **tweede** dimensie van de eigenschap `sli`. |

[comment]: # ({/af9e88c4-b46f1257})

[comment]: # ({aa24c098-ba0b5441})
#### SLI-gegevens

De voor elke gerapporteerde periode en service geretourneerde SLI-gegevens bestaan uit:

|Eigenschap|[Type](/manual/api/reference_commentary#data_types)|Beschrijving|
|--|--|------|
|uptime|integer|Hoeveelheid tijd die de service in een _OK_-toestand heeft doorgebracht tijdens geplande uptime, verminderd met de uitgesloten downtimes.|
|downtime|integer|Hoeveelheid tijd die de service in een _niet OK_-toestand heeft doorgebracht tijdens geplande uptime, verminderd met de uitgesloten downtimes.|
|sli|float|SLI (percentage van totale uptime), gebaseerd op uptime en downtime.|
|error\_budget|integer|Foutbudget (in seconden), gebaseerd op de SLI en de SLO.|
|excluded\_downtimes|array|Array van uitgesloten downtimes in deze rapportageperiode.<br><br>Elk object bevat de volgende parameters:<br>- `name` - Naam van de uitgesloten downtime.<br>- `period_from` - Startdatum en -tijd (inclusief) van de uitgesloten downtime.<br>- `period_to` - Einddatum en -tijd (exclusief) van de uitgesloten downtime.<br><br>Uitgesloten downtimes zijn gesorteerd op stijgende volgorde van het veld period_from.|

[comment]: # ({/aa24c098-ba0b5441})

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

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

[comment]: # ({new-610cd288})
#### Calculating SLI for a daily SLA

Retrieve SLI data for services with IDs "1" and "4" that are linked to the SLA with ID "1".
Retrieve data for a single period until "1761861599" (Oct 30 2025 23:59:59 GMT+0200).
Since the [reporting period](/manual/it_services/sla) of the SLA is daily, SLI data is retrieved from "1761775200" (Oct 30 2025 00:00:00 GMT+0200) to "1761861600" (Oct 31 2025 00:00:00 GMT+0200).

[Request](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "sla.getsli",
    "params": {
        "slaid": "1",
        "serviceids": [
            1,
            4
        ],
        "periods": 1,
        "period_to": 1761861599,
    },
    "id": 1
}
```

Response:

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

[comment]: # ({/new-610cd288})

[comment]: # ({3a0c729c-c6c818e1})
#### Calculating SLI

Retrieve SLI on services with IDs "50, 60 and 70" linked to an SLA with ID of "5" for 3 periods starting from Nov 01, 2021.

[Request](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "sla.getsli",
    "params": {
        "slaid": "5",
        "serviceids": [
            50,
            60,
            70
        ],
        "periods": 3,
        "period_from": "1635724800"
    },
    "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]: # ({/3a0c729c-c6c818e1})

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

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

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