[comment]: # translation:outdated

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

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

[comment]: # ({3fde2eb3-531f7cc6})
### Opis

`object sla.getsli(object parameters)`

Ta metoda umożliwia obliczenie danych wskaźnika poziomu usługi (SLI) dla umowy o gwarantowanym poziomie usług (SLA).

::: noteclassic
Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia
do wywołania tej metody mogą zostać cofnięte w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji [Role
użytkowników](/manual/web_interface/frontend_sections/users/user_roles).
:::

[comment]: # ({/3fde2eb3-531f7cc6})

[comment]: # ({880cf558-bcbf1cf2})
### Parametry

`(object)` Parametry zawierające identyfikator SLA, okresy raportowania oraz opcjonalnie
identyfikatory usług, dla których ma zostać obliczony wskaźnik SLI.

|Parametr|[Typ](/manual/api/reference_commentary#data-types)|Opis|
|--|--|------|
|slaid|ID|Identyfikator SLA, dla którego mają zostać zwrócone informacje o dostępności.<br><br>[Zachowanie parametru](/manual/api/reference_commentary#parameter-behavior):<br>- *wymagany*|
|period\_from|timestamp|Początkowy znacznik czasu (włącznie), dla którego ma zostać zaraportowany wskaźnik SLI.<br><br>Możliwe wartości: znacznik czasu Unix.|
|period\_to|timestamp|Końcowy znacznik czasu (włącznie), dla którego ma zostać zaraportowany wskaźnik SLI.<br><br>Możliwe wartości: znacznik czasu Unix.|
|periods|integer|Liczba okresów do zaraportowania.<br><br>Możliwe wartości: 1-100|
|serviceids|ID/array|Identyfikatory usług, dla których ma zostać zwrócony wskaźnik SLI.|

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

[comment]: # ({d1b5c39b-31bc72e4})
#### Podział na okresy

Poniższa tabela przedstawia układ zwracanych wycinków okresów na podstawie kombinacji parametrów.

::: noteclassic
Zwracane okresy nie poprzedzają pierwszego dostępnego okresu (na podstawie daty wejścia SLA w życie) i nie wykraczają poza bieżący okres.
:::

|Parametry|<|<|Zwracane okresy|
|-|-|-|-------|
|**period\_from**|**period\_to**|**periods**|   |
|-|-|-|Ostatnie 20 okresów, w tym bieżący.|
|-|-|N|Ostatnie N okresów.|
|-|specified|-|Ostatnie 20 okresów przed `period_to`.|
|-|specified|N|Ostatnie N okresów przed `period_to`.|
|specified|-|-|Pierwsze 20 okresów zaczynając od `period_from`.|
|specified|-|N|Pierwsze N okresów zaczynając od `period_from`.|
|specified|specified|-|Do 100 okresów w określonym zakresie.|
|specified|specified|N|N okresów w określonym zakresie.|

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

[comment]: # ({26e4fdd7-b46f1257})
### Zwracane wartości

`(object)` Zwraca wyniki obliczenia.

|Właściwość|[Type](/manual/api/reference_commentary#data-types)|Opis|
|--|--|------|
|periods|array|Lista raportowanych okresów.<br><br>Każdy raportowany okres jest reprezentowany jako obiekt składający się z:<br>- `period_from` - `(timestamp)` Początkowy znacznik czasu (włącznie) raportowanego okresu.<br>- `period_to` - `(timestamp)` Końcowy znacznik czasu (wyłącznie) raportowanego okresu.<br><br>Okresy są sortowane według `period_from`, przy czym najwcześniejsze okresy pojawiają się jako pierwsze.|
|serviceids|array|Lista identyfikatorów usług w raportowanych okresach.<br><br>Kolejność sortowania listy nie jest określona. Nawet jeśli parametr `serviceids` został przekazany do metody `sla.getsli`.|
|sli|array|Dane SLI (jako **tablica dwuwymiarowa**) dla każdego raportowanego okresu i usługi.<br><br>Indeks właściwości `periods` jest używany jako **pierwszy** wymiar właściwości `sli`.<br><br>Indeks właściwości `serviceids` jest używany jako **drugi** wymiar właściwości `sli`.|

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

[comment]: # ({1b312b3d-ba0b5441})
#### Dane SLI

Dane SLI zwracane dla każdego raportowanego okresu i serwisu obejmują:

|Właściwość|[Type](/manual/api/reference_commentary#data-types)|Opis|
|--|--|------|
|uptime|integer|Czas, przez jaki serwis znajdował się w stanie _OK_ podczas zaplanowanego czasu działania, pomniejszony o wykluczone przestoje.|
|downtime|integer|Czas, przez jaki serwis znajdował się w stanie _not OK_ podczas zaplanowanego czasu działania, pomniejszony o wykluczone przestoje.|
|sli|float|SLI (procent całkowitego czasu działania), na podstawie czasu działania i przestoju.|
|error\_budget|integer|Budżet błędów (w sekundach), na podstawie SLI i SLO.|
|excluded\_downtimes|array|Tablica wykluczonych przestojów w tym okresie raportowania.<br><br>Każdy obiekt będzie zawierał następujące parametry:<br>- `name` - `(string)` Nazwa wykluczonego przestoju.<br>- `period_from` - `(timestamp)` Znacznik czasu rozpoczęcia (włącznie) wykluczonego przestoju.<br>- `period_to` - `(timestamp)` Znacznik czasu zakończenia (wyłącznie) wykluczonego przestoju.<br><br>Wykluczone przestoje są sortowane według `period_from`, przy czym najwcześniejsze okresy są wyświetlane jako pierwsze.|

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

[comment]: # ({b41637d2-b41637d2})
### Przykłady

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

[comment]: # ({b67c0708-610cd288})
#### Obliczanie SLI dla dziennego SLA

Pobierz dane SLI dla usług o identyfikatorach „1” i „4”, które są powiązane ze SLA o identyfikatorze „1”.
Pobierz dane dla jednego okresu do „1761861599” (30 paź 2025 23:59:59 GMT+0200).
Ponieważ [okres raportowania](/manual/it_services/sla) SLA jest dzienny, dane SLI są pobierane od „1761775200” (30 paź 2025 00:00:00 GMT+0200) do „1761861600” (31 paź 2025 00:00:00 GMT+0200).

[Żądanie](/manual/api#performing-requests):

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

Odpowiedź:

```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]: # ({/b67c0708-610cd288})

[comment]: # ({d21e6bab-c6c818e1})
#### Obliczanie SLI dla miesięcznego SLA

Pobierz dane SLI o usługach o identyfikatorach „50”, „60” i „70”, które są powiązane ze SLA o identyfikatorze „5”.
Pobierz dane dla trzech okresów rozpoczynających się od „1635724800” (01 lis 2021 00:00:00 UTC).
Ponieważ [okres raportowania](/manual/it_services/sla) SLA jest miesięczny, dane SLI są pobierane dla następujących trzech miesięcy:

-   Od „1635724800” (01 lis 2021 00:00:00 UTC) do „1638316800” (01 gru 2021 00:00:00 UTC)
-   Od „1638316800” (01 gru 2021 00:00:00 UTC) do „1640995200” (01 sty 2022 00:00:00 UTC)
-   Od „1640995200” (01 sty 2022 00:00:00 UTC) do „1643673600” (01 lut 2022 00:00:00 UTC)

[Żądanie](/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
}
```

Odpowiedź:

```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": "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
}
```

[comment]: # ({/d21e6bab-c6c818e1})

[comment]: # ({13a91d62-a5414084})
### Źródło

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

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