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 string 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 string/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.
- - especificat Retorna els últims períodes especificats pel paràmetre períodes.
- especificat - Retorna els darrers 20 períodes abans de la data especificada període_a.
- especificat especificat Retorna els últims períodes especificats pel paràmetre períodes abans de la data especificada període_a.
especificat - - Retorna els primers 20 períodes a partir de 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 - Retorna fins a 100 períodes dins de l'interval de dates especificat.
especificat especificat especificat Períodes de retorn especificats pel paràmetre períodes dins de l'interval de dates 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 (marca de temps).
- 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 - 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ó (exclosa) del temps d'inactivitat exclòs.

Els temps d'inactivitat exclosos s'ordenen per period_from camp ascendent.

Exemples

Calcular SLI

Retorna SLI als servis amb IDs "50", "60" i "70" enllaçats a un SLA amb ID de "5". Retorna la data per 3 períodes des de l'1 de Novembre de 2021.

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

Font

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