object sla.getsli(object parameters)
Aquest mètode permet calcular les dades de l'indicador de nivell de servei (SLI) per al Service Level Agreement (SLA).
Aquest mètode és disponible per a qualsevol mena d'usuaris. Els permisos per cridar al mètode es poden revocar a la configuració de rols d'usuaris. Per a més informació, veieu Rols d'usuari.
(object)
Paràmetres que contenen l'ID de l'SLA, els períodes dels informes i, opcionalment, els IDs dels serveis - emprats per calcular l'SLI.
Paramètre | Type | Description |
---|---|---|
slaid (obligatori) |
string | ID dels serveis per als quals retornar la informació de lliure/ocupat. |
period_from | integer | Data d'inici (inclosa) per a la qual cal informar SLI. Valors possibles: marca de temps. |
period_to | integer | Data de finalització (exclosa) per a la qual cal informar de l'SLI. Valors possibles: marca de temps. |
periods | array | Nombre preferit de períodes per informar. Valors possibles: 1-100 |
serviceids | string/array | ID dels serveis pels quals retornar l'SLI. |
La taula següent mostra la disposició dels segments de període retornats en funció de combinacions de paràmetres.
Els períodes retornats no precederan el primer període disponible en funció de la data d'entrada en vigor de l'SLA i no superaran pas el període actual.
|-------------------|----------------|-------------- |------------------------------------------------- -------------------------------------------------- -----------------| | període_des de | període_fins | períodes | | | - | - | - | Torna els darrers 20 períodes. | | - | - | especificat | Retorna els últims períodes especificats pel paràmetre períodes. | | - | especificat | - | Retorna els darrers 20 períodes abans de la data període_a especificada. | | - | especificat | especificat | Retorna els últims períodes especificats pel paràmetre períodes abans de la data especificada període_a. | | especificat | - | - | Retorna els 20 primers períodes que comencen amb la data especificada període_a partir de. | | especificat | - | especificat | Retorna els primers períodes especificats pel paràmetre períodes començant per la data especificada període_a partir de. | | especificat | especificat | - | Torna fins a 100 períodes dins de l'interval de dates especificat. | | especificat | especificat | especificat | Retorna els períodes especificats pel paràmetre períodes dins de l'interval de dates especificat. |
(object)
Retorna els resultats del càlcul.
|------------|-------------------------------------- ---- ------------------|----------------------------- ----------------- --------------------------------- ----------------- --------------------------------- ----------------- --------------------------------- ----------------- --------------------------------- ----------------- --------------------------------- --------------------------------------| | periods | array | Llista de períodes informats.
Cada període informat es representa com un objecte format per:
- period_from - Data d'inici del període informat (marca de temps).
- period_to - Data final del període informat (marca de temps).
Els períodes s'ordenen per valors creixents del camp period_from
. | | serviceids | array | Llista d'ID de servei en períodes informats.
L'ordre d'ordenació de la llista no és definit, tot i que el paràmetre serviceids
s'ha passat al mètode sla.getsli
. | | sli | array | Dades SLI (com a matriu bidimensional) per a cada període i servei informat.
L'índex de la propietat periods
s'empra com a primera dimensió de la propietat sli
.
L'índex de la propietat serviceids
s'empra com a segona dimensió de la propietat sli
. |
Les dades SLI retornades per a cada període de temps i servei informats inclouen:
|-------|--------------------------- ---------- ---- --------|--------------------------- --------------- ---------- ------------------------- --------------- ---------- ------------------------- --------------- ---------- ------------------------- --------------- ---------- ------------------------- --------------- ---------- ------------------------- --------------- ---------- ------------------------- --------------- ---------- ------------------------- --------------- ---------- ----------------| | uptime | integer | Temps de servei en estat OK durant la disponibilitat planificada, menys temps d'inactivitat exclòs.| | downtime | integer | Temps de servei passat en un estat no correcte durant la disponibilitat planificada, menys el temps d'inactivitat exclòs. | | sli | float | SLI (percentatge del temps d'activitat total), basat en temps d'activitat i temps d'inactivitat.| | error_budget | integer | Pressupost d'error (en segons), basat en SLI i SLO.| | excluded_downtimes | array | Taula de temps d'inactivitat exclosos durant aquest període d'informe.
Cada objecte contindrà els paràmetres següents:
- name - Nom del temps d'inactivitat exclòs.
- period_from - Data i hora d'inici (incloses) del temps d'inactivitat exclòs.
- period_to - Data i hora de finalització (exclòs) del temps d'inactivitat exclòs.
Els temps d'inactivitat exclosos s'ordenen segons el camp period_from creixent. |
Retorna l'SLI dels serveis amb IDs "50", "60" i "70", vinculats a un SLA amb ID de "5". Retorna la data per 3 períodes a partir del 1er de Novembre de 2021.
Petició:
{
"jsonrpc": "2.0",
"method": "sla.getsli",
"params": {
"slaid": "5",
"serviceids": [
50,
60,
70
],
"periods": 3,
"period_from": "1635724800"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Resposta:
{
"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
}
CSla::getSli() in ui/include/classes/api/services/CSla.php