sla.getsli

Opis

object sla.getsli(object parameters)

Ta metoda pozwala na obliczenie danych wskaźnika poziomu usług (SLI) dla Service Level Agreement (SLA).

Metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywołania metody można wyłączyć w ustawieniach ról użytkowników. Zobacz Role użytkowników aby uzyskać więcej informacji.

Parametry

(object) Parametry zawierające identyfikator SLA, okresy raportowania i opcjonalnie identyfikatory usług - do obliczenia SLI.

Parametr Typ Opis
slaid
(wymagane)
string ID SLA, dla którego mają zostać zwrócone informacje o dostępności.
period_from integer Data rozpoczęcia (włącznie) raportowania SLI.

Dopuszczalne wartości: znacznik czasu.
period_to integer Data zakończenia (wyłącznie) raportowania SLI.

Dopuszczalne wartości: znacznik czasu.
periods array Preferowana liczba okresów do raportowania.

Dopuszczalne wartości: 1-100
serviceids string/array ID usług, dla których mają zostać zwrócone SLI.

Podział okresów

Poniższa tabela demonstruje rozmieszczenie zwróconych fragmentów okresów na podstawie kombinacji parametrów.

Zwracane okresy nie będą poprzedzać pierwszego dostępnego okresu na podstawie daty wejścia w życie SLA i nie będą przekraczać bieżącego okresu.

Parametry Opis
period_from period_to periods
- - - Zwróć ostatnie 20 okresów.
- - określone Zwróć ostatnie okresy określone przez parametr periods.
- określone - Zwróć ostatnie 20 okresów przed określoną datą period_to.
- określone określone Zwróć ostatnie okresy określone przez parametr periods przed określoną datą period_to.
określone - - Zwróć pierwsze 20 okresów rozpoczynających się od określonej daty period_from.
określone - określone Zwróć pierwsze okresy określone przez parametr periods rozpoczynające się od określonej daty period_from.
określone określone - Zwróć maksymalnie 100 okresów w określonym zakresie dat.
określone określone określone Zwróć okresy określone przez parametr periods w określonym zakresie dat.

Zwracane wartości

(object) Zwraca wyniki obliczeń.

Właściwość Typ Opis
periods array Lista raportowanych okresów.

Każdy raportowany okres jest reprezentowany jako obiekt składający się z:
- period_from - Data rozpoczęcia raportowanego okresu (znacznik czasu).
- period_to - Data zakończenia raportowanego okresu (znacznik czasu).

Okresy są sortowane według pola period_from rosnąco.
serviceids array Lista identyfikatorów usług w raportowanych okresach.

Kolejność sortowania listy nie jest określona. Nawet jeśli parametr serviceids został przekazany do metody sla.getsli.
sli array Dane SLI (jako dwuwymiarowa tablica) dla każdego raportowanego okresu i usługi.

Indeks właściwości periods jest używany jako pierwsza wymiar tablicy sli.

Indeks właściwości serviceids jest używany jako drugi wymiar tablicy sli.

Dane SLI

Dane SLI zwrócone dla każdego raportowanego okresu i usługi składają się z:

Właściwość Typ Opis
uptime integer Czas, który usługa spędziła w stanie OK w czasie przestoju zgodnie z harmonogramem, pomniejszony o wyłączone czasy przestoju.
downtime integer Czas, który usługa spędziła w stanie nie OK w czasie przestoju zgodnie z harmonogramem, pomniejszony o wyłączone czasy przestoju.
sli float SLI (procent całkowitego czasu działania), oparty na czasie działania i przestoju.
error_budget integer Dopuszczalna niedostępność (w sekundach), oparty na SLI i SLO.
excluded_downtimes array Tablica wyłączonych czasów przestoju w tym okresie raportowania.

Każdy obiekt będzie zawierał następujące parametry:
- name - Nazwa wyłączonego czasu przestoju.
- period_from - Data i czas rozpoczęcia (włącznie) wyłączonego czasu przestoju.
- period_to - Data i czas zakończenia (wyłącznie) wyłączonego czasu przestoju.

Wyłączone czasy przestoju są sortowane według pola period_from rosnąco.

Przykłady

Obliczanie SLI

Pobierz dane SLI dla usług o identyfikatorach "50", "60" i "70", które są powiązane z SLA o identyfikatorze "5". Pobierz dane dla 3 okresów rozpoczynających się od 1 listopada 2021 roku.

Zapytanie:

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

Odpowiedź:

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

Źródło

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