sla.getsli

Descripció

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.

Paràmetres

(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.

Partició de períodes

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.

Valors de retorn

(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.

Informació 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.

Exemples

Càlcul de l'SLI per a un SLA diari

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

Petició:

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

Càlcul de l'SLI per a un SLA mensual

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:

  • De "1635724800" (1 de novembre de 2021 00:00:00 UTC) a "1638316800" (1 de desembre de 2021 00:00:00 UTC)
  • De "1638316800" (1 de desembre de 2021 00:00:00 UTC) a "1640995200" (1 de gener de 2022 00:00:00 UTC)
  • De "1640995200" (1 de gener de 2022 00:00:00 UTC) a "1643673600" (1 de febrer 2022 00:00:00 UTC)

Petició:

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

Font

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