sla.getsli

Apraksts

object sla.getsli(object parameters)

Šī metode ļauj aprēķināt Service Level Indicator (SLI) datus Service Level Agreement (SLA).

Šī metode ir pieejama jebkura tipa lietotājiem. Atļaujas izsaukt šo metodi var tikt atsauktas lietotāja lomas iestatījumos. Plašāku informāciju skatiet Lietotāju lomas.

Parametri

(object) Parametri, kas satur SLA ID, pārskata periodus un pēc izvēles pakalpojumu ID — lai aprēķinātu SLI.

Parametrs Tips Apraksts
slaid ID SLA ID, kuram jāatgriež pieejamības informācija.

Parametra darbība:
- obligāts
period_from timestamp Sākuma laikspiedols (ieskaitot), par kuru jāveido SLI pārskats.

Iespējamās vērtības: Unix laikspiedols.
period_to timestamp Beigu laikspiedols (ieskaitot), par kuru jāveido SLI pārskats.

Iespējamās vērtības: Unix laikspiedols.
periods integer Pārskatāmo periodu skaits.

Iespējamās vērtības: 1-100
serviceids ID/array Pakalpojumu ID, kuriem jāatgriež SLI.

Periodu sadalījums

Tālāk redzamajā tabulā ir parādīts atgriezto periodu nogriežņu izkārtojums atkarībā no parametru kombinācijām.

Atgrieztie periodi nesākas pirms pirmā pieejamā perioda (pamatojoties uz SLA spēkā stāšanās datumu) un nepārsniedz pašreizējo periodu.

Parametri Atgrieztie periodi
period_from period_to periods
- - - Pēdējie 20 periodi, ieskaitot pašreizējo.
- - N Pēdējie N periodi.
- norādīts - Pēdējie 20 periodi pirms period_to.
- norādīts N Pēdējie N periodi pirms period_to.
norādīts - - Pirmie 20 periodi, sākot no period_from.
norādīts - N Pirmie N periodi, sākot no period_from.
norādīts norādīts - Līdz 100 periodiem norādītajā diapazonā.
norādīts norādīts N N periodi norādītajā diapazonā.

Atgrieztās vērtības

(object) Atgriež aprēķina rezultātus.

Īpašība Type Apraksts
periods array Paziņoto periodu saraksts.

Katrs paziņotais periods ir attēlots kā objekts, kas sastāv no:
- period_from - (timestamp) Paziņotā perioda sākuma laikspiedols (ieskaitot).
- period_to - (timestamp) Paziņotā perioda beigu laikspiedols (neieskaitot).

Periodi ir sakārtoti pēc period_from, vispirms attēlojot agrīnākos periodus.
serviceids array Paziņotajos periodos esošo pakalpojumu ID saraksts.

Saraksta kārtošanas secība nav noteikta. Pat ja serviceids parametrs tika nodots metodei sla.getsli.
sli array SLI dati (divdimensiju masīva veidā) katram paziņotajam periodam un pakalpojumam.

Īpašības periods indekss tiek izmantots kā īpašības sli pirmā dimensija.

Īpašības serviceids indekss tiek izmantots kā īpašības sli otrā dimensija.

SLI dati

SLI dati, kas tiek atgriezti par katru pārskata periodu un pakalpojumu, sastāv no:

Īpašība Type Apraksts
uptime integer Laika apjoms, kurā pakalpojums plānotajā darbības laikā atradās OK stāvoklī, atskaitot izslēgtās dīkstāves.
downtime integer Laika apjoms, kurā pakalpojums plānotajā darbības laikā atradās not OK stāvoklī, atskaitot izslēgtās dīkstāves.
sli float SLI (procenti no kopējā darbības laika), pamatojoties uz uptime un downtime.
error_budget integer Kļūdu budžets (sekundēs), pamatojoties uz SLI un SLO.
excluded_downtimes array Izslēgto dīkstāves periodu masīvs šajā pārskata periodā.

Katrs objekts saturēs šādus parametrus:
- name - (string) Izslēgtās dīkstāves nosaukums.
- period_from - (timestamp) Izslēgtās dīkstāves sākuma laikspiedols (ieskaitot).
- period_to - (timestamp) Izslēgtās dīkstāves beigu laikspiedols (neieskaitot).

Izslēgtās dīkstāves ir sakārtotas pēc period_from, vispirms attēlojot agrīnākos periodus.

Piemēri

SLI aprēķināšana dienas SLA

Iegūstiet SLI datus pakalpojumiem ar ID "1" un "4", kas ir saistīti ar SLA ar ID "1". Iegūstiet datus vienam periodam līdz "1761861599" (30. okt. 2025 23:59:59 GMT+0200). Tā kā SLA atskaites periods ir diena, SLI dati tiek iegūti no "1761775200" (30. okt. 2025 00:00:00 GMT+0200) līdz "1761861600" (31. okt. 2025 00:00:00 GMT+0200).

Pieprasījums:

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

Atbilde:

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

SLI aprēķināšana mēneša SLA

Iegūstiet SLI datus par pakalpojumiem ar ID "50", "60" un "70", kas ir saistīti ar SLA ar ID "5". Iegūstiet datus par trim periodiem, sākot no "1635724800" (2021. gada 1. novembris 00:00:00 UTC). Tā kā SLA pārskata periods ir mēnesis, SLI dati tiek iegūti par šādiem trim mēnešiem:

  • No "1635724800" (2021. gada 1. novembris 00:00:00 UTC) līdz "1638316800" (2021. gada 1. decembris 00:00:00 UTC)
  • No "1638316800" (2021. gada 1. decembris 00:00:00 UTC) līdz "1640995200" (2022. gada 1. janvāris 00:00:00 UTC)
  • No "1640995200" (2022. gada 1. janvāris 00:00:00 UTC) līdz "1643673600" (2022. gada 1. februāris 00:00:00 UTC)

Pieprasījums:

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

Atbilde:

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

Avots

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