sla.getsli

Beschrijving

object sla.getsli(objectparameters)

Met deze methode kunnen de gegevens van de Service Level Indicator (SLI) worden berekend.

Deze methode is beschikbaar voor gebruikers van elk type. Rechten om de methode aan te roepen, kan worden ingetrokken in de instellingen van de gebruikersrol. Zie Gebruiker rollen voor meer informatie.

Parameters

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

Parameter Type Beschrijving
slaid
(verplicht)
tekenreeks ID's van services waarvoor beschikbaarheidsinformatie moet worden geretourneerd.
periode_vanaf geheel getal Startdatum (inclusief) om de SLI voor te rapporteren.

Mogelijke waarden: tijdstempel.
periode_tot geheel getal Einddatum (exclusief) om de SLI voor te rapporteren.

Mogelijke waarden: tijdstempel.
periodes reeks Voorkeursaantal te rapporteren perioden.

Mogelijke waarden: 1-100
service-id's tekenreeks/array ID's van services waarvoor de SLI moet worden geretourneerd.

Partitionering van perioden

Het volgende toont de rangschikking van geretourneerde periodesegmenten op basis van combinaties van parameters.

Parameters Beschrijving
periode_vanaf periode_to perioden
- - - De laatste 20 perioden (inclusief de huidige) maar niet voorbij de eerste beschikbare periode op basis van de ingangsdatum van de SLA.
- - gespecificeerd De laatste perioden gespecificeerd door de parameter perioden.
- gespecificeerd - De laatste 20 perioden vóór de gespecificeerde datum, maar niet na de eerste beschikbare periode op basis van de ingangsdatum van de SLA.
- gespecificeerd gespecificeerd De laatste perioden gespecificeerd door de parameter perioden vóór de gespecificeerde datum.
gespecificeerd - - De eerste 20 perioden (inclusief de huidige) maar niet voorbij de huidige.
gespecificeerd - gespecificeerd De eerste perioden gespecificeerd door de parameter perioden beginnend met de gespecificeerde datum.
gespecificeerd gespecificeerd - Perioden binnen het opgegeven 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 opgegeven datumbereik, maar niet meer dan het opgegeven aantal perioden en niet voorbij de eerste beschikbare periode op basis van de ingangsdatum van de SLA.

Retourwaarden

(object) Retourneert de resultaten van de berekening.

Eigendom Type Beschrijving
periodes reeks Lijst met gerapporteerde perioden.

Elke gerapporteerde periode wordt weergegeven als een object dat bestaat uit:
- periode_from - Begindatum van de gerapporteerde periode (tijdstempel).
- periode_to - Einde datum van de gerapporteerde periode (tijdstempel).

Perioden worden oplopend gesorteerd op 'period_from'-veld.
service-id's reeks Lijst met service-ID's in de gerapporteerde perioden.

De sorteervolgorde van de lijst is niet gedefinieerd. Zelfs als de parameter 'serviceids' is doorgegeven aan de methode 'sla.getsli'.
sli reeks SLI-gegevens (als tweedimensionale array) voor elke gerapporteerde periode en service.

De index van de eigenschap 'periods' wordt gebruikt als de eerste dimensie van de 'sli' eigenschap.

De index van de eigenschap serviceids wordt gebruikt als de tweede dimensie van de eigenschap sli.

SLI-gegevens

De SLI-gegevens die voor elke gerapporteerde periode en service worden geretourneerd, bestaan uit:

Eigendom Type Beschrijving
uptime geheel getal De hoeveelheid tijd die de service heeft doorgebracht in een OK-status tijdens geplande uptime, minus de uitgesloten downtimes.
uitvaltijd geheel getal De hoeveelheid tijd die de service heeft doorgebracht in een niet OK-status tijdens geplande uptime, minus de uitgesloten downtimes.
sli zweven SLI (percentage van totale uptime), gebaseerd op uptime en downtime.
fout_budget geheel getal Foutbudget (in seconden), gebaseerd op de SLI en de SLO.
uitgesloten_downtimes reeks Reeks uitgesloten uitvaltijden in deze rapportageperiode.

Elk object bevat de volgende parameters:
- name - Naam van de uitgesloten uitvaltijd.
- period_from - Begindatum en -tijd (inclusief) van de uitgesloten uitvaltijd.
- period_to - Einddatum en -tijd (exclusief) van de uitgesloten uitvaltijd.

Uitgesloten uitvaltijden worden gesorteerd op period_from veld oplopend.

Voorbeelden

SLI berekenen

Haal SLI op voor services met IDs "50, 60 en 70" die zijn gekoppeld aan een SLA met een ID van "5" gedurende 3 perioden vanaf 1 november 2021.

Verzoek:

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

Reactie:

{
    "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": "Uitgesloten Downtime - 1",
                            "period_from": 1637836212,
                            "period_to": 1638316800
                        }
                    ]
                },
                {
                    "uptime": 1186212,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Uitgesloten Downtime - 1",
                            "period_from": 1637836212,
                            "period_to": 1638316800
                        }
                    ]
                },
                {
                    "uptime": 1186212,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Uitgesloten Downtime - 1",
                            "period_from": 1637836212,
                            "period_to": 1638316800
                        }
                    ]
                }
            ],
            [
                {
                    "uptime": 1147548,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Uitgesloten Downtime - 1",
                            "period_from": 1638439200,
                            "period_to": 1639109652
                        }
                    ]
                },
                {
                    "uptime": 1147548,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Uitgesloten Downtime - 1",
                            "period_from": 1638439200,
                            "period_to": 1639109652
                        }
                    ]
                },
                {
                    "uptime": 1147548,
                    "downtime": 0,
                    "sli": 100,
                    "error_budget": 0,
                    "excluded_downtimes": [
                        {
                            "name": "Uitgesloten 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
}

Bron

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