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).
{
"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)
{
"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