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.
(objecte) Paràmetres que contenen l'ID de l'SLA, els períodes d'informe i, opcionalment, els ID dels serveis - emprats per calcular l'SLI.
| Paràmetre | Tipus | Descripció |
|---|---|---|
| slaid | ID | IDs dels serveis per als quals retornar informació de disponibilitat. Comportament del paràmetre: - obligatori |
| period_from | timestamp | Data d'inici (inclosa) per a informar l'SLI. Valor possible: marca de temps. |
| period_to | timestamp | Data de finalització (exclusiva) per a la qual es notifica l'SLI. Valor possible: marca de temps. |
| periods | matriu | Nombre preferit de períodes per informar. Valors possibles: 1-100 |
| serviceids | ID/array | ID dels serveis per als 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 el període actual.
| Paràmetres | Descripció | ||
|---|---|---|---|
| període_de | període_a | períodes | |
| - | - | - | Retorna els darrers 20 períodes. |
| - | - | N | Els darrers N períodes. |
| - | especificat | - | Els darrers 20 períodes abans de període_fins. |
| - | especificat | N | Els darrers N períodes abans de període_fins. |
| especificat | - | - | Primers 20 períodes que comencen amb període_des de. |
| especificat | - | N | Primers N períodes que comencen amb període_des de. |
| especificat | especificat | - | Fins a 100 períodes en el rang especificat. |
| especificat | especificat | N | N períodes en el rang especificat. |
(objecte) Retorna els resultats del càlcul.
| Propietat | Tipus | Descripció |
|---|---|---|
| periods | matriu | Llista dels períodes informats. Cada període informat es representa com un objecte format per: - period_from - Data d'inici del període informat '(timestamp)'.- period_to - data de finalització del període informat (marca de temps).Els períodes s'ordenen per camp period_from ascendent. |
| serviceids | matriu | Llista d'ID de servei en els períodes informats. L'ordre d'ordenació de la llista no és definit. Fins i tot si el paràmetre serviceids es va passar al mètode sla.getsli. |
| sli | matriu | SLI dades (com a matriu bidimensional) per a cada període i servei informats. 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 i servei informats consisteixen en:
| Propietat | Tipus | Descripció |
|---|---|---|
| uptime | enter | Quantitat de temps de servei en estat OK durant el temps d'activitat programat, menys els temps d'inactivitat exclosos. |
| temps d'inactivitat | enter | Quantitat de temps que s'empra el servei en un estat no correcte durant el temps d'activitat programat, menys els temps d'inactivitat exclosos. |
| sli | flotant | SLI (percentatge del temps d'activitat total), basat en temps d'activitat i temps d'inactivitat. |
| error_budget | enter | Pressupost d'error (en segons), basat en l'SLI i l'SLO. |
| excluded_downtimes | array | Matriu de temps d'inactivitat exclosos en aquest període d'informe. Cada objecte contindrà els paràmetres següents: - name - (cadena) Nom del temps d'inactivitat exclòs.- period_from - (timestamp)Data i hora d'inici (incloses) del temps d'inactivitat exclòs.- period_to - (timestamp) Data i hora de finalització (exclosa) del temps d'inactivitat exclòs.Els temps d'inactivitat exclosos s'ordenen per el camp period_from, amb els períodes més recents primer. |
Recupera dades SLI per a serveis amb els ID "1" i "4" que siguin vinculats a l'SLA amb l'ID "1". Recupera dades d'un únic període fins a "1761861599" (30 d'octubre de 2025 23:59:59 GMT+0200). Com que el període d'informe de l'SLA és diari, les dades SLI es recuperen des de "1761775200" (30 d'octubre de 2025 00:00:00 GMT+0200) fins a "1761861600" (31 d'octubre de 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
}Resposta:
{
"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
}Recupera dades d'SLI sobre serveis amb els ID "50", "60" i "70" que siguin vinculats a l'SLA amb l'ID "5". Recupera dades de tres períodes a partir de "1635724800" (1 de novembre de 2021 00:00:00 UTC). Com que el període d'informe de l'SLA és mensual, les dades SLI es recuperen durant els tres mesos següents:
{
"jsonrpc": "2.0",
"method": "sla.getsli",
"params": {
"slaid": "5",
"serviceids": [
50,
60,
70
],
"periods": 3,
"period_from": "1635724800"
},
"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": "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
}CSla::getSli() in ui/include/classes/api/services/CSla.php