sla.getsli

Descripció

object sla.getsli(object parameters)

Aquest mètode permet calcular les dades de l'indicador de nivell de servei (SLI).

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

(object) Paramètres contenant l'ID SLA, les périodes de rapport et, éventuellement, les ID des services - pour lesquels calculer le 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.

Particionat dels períodes

A continuació s'il·lustra la disposició de les parts de període retornades en funció de combinacions de paràmetres.

Configuració | | | Descripció |

|-------------------|----------------|-------------- |------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------| | període_des de | període_fins | períodes | | | - | - | - | Els darrers 20 períodes (inclòs l'actual), però no més enllà del primer període disponible en funció de la data d'entrada en vigor de l'SLA. | | - | - | especificat | Els darrers períodes especificats pel paràmetre períodes. | | - | especificat | - | Els darrers 20 períodes abans de la data especificada, però no més enllà del primer període disponible en funció de la data d'entrada en vigor del SLA. | | - | especificat | especificat | Els darrers períodes especificats pel paràmetre períodes abans de la data especificada.| | especificat | - | - | Els 20 primers períodes (inclòs l'actual) però no més enllà de l'actual.| | especificat | - | especificat | Els primers períodes especificats pel paràmetre períodes que comencen per la data especificada. | | especificat | especificat | - | Períodes dins de l'interval de dates especificat, però no superiors a 100 i no més enllà del primer període disponible segons la data d'entrada en vigor del SLA.| | especificat | especificat | especificat | Períodes dins de l'interval de dates especificat, però no superior al nombre especificat de períodes i no més enllà del primer període disponible segons la data d'entrada en vigor del SLA.|

Valors de retorn

(object) Retorna els resultats del càlcul.

Propietat | Tipus | Descripció |

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

Dades SLI

Les dades SLI retornades per a cada període de temps i servei informats inclouen:

Propietat | Tipus | Descripció |

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

Exemples

Càlcul de l'SLI

Recuperar l'SLI dels serveis amb IDs "50, 60 i 70", vinculats a un SLA amb ID de "5" 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
       }

Font

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