This is a translation of the original English documentation page. Help us make it better.

sla.getsli

Description

object sla.getsli(object parameters)

Cette méthode permet de calculer les données de l'indicateur de niveau de service (SLI).

Cette méthode est disponible à tous les types d'utilisateurs. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres du le rôle d'utilisateur. Voir Rôles Utilisateur pour plus d'informations.

Paramètres

(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
(obligatoire)
string ID des services pour lesquels renvoyer des informations de disponibilité.
period_from integer Date de début (incluse) pour laquelle rapporter le SLI.

Valeurs possibles : timestamp.
period_to integer Date de fin (exclue) pour laquelle rapporter le SLI.

Valeurs possibles : timestamp.
periods array Nombre préféré de périodes à rapporter.

Valeurs possibles : 1-100
serviceids string/array ID des services pour lesquels renvoyer le SLI.

Partitionnement des périodes

Ce qui suit illustre la disposition des tranches de période renvoyées en fonction de combinaisons de paramètres.

Paramètres Description
period_from period_to periods
- - - Les 20 dernières périodes (y compris celle en cours) mais pas au-delà de la première période disponible basée sur la date d'entrée en vigueur du SLA.
- - spécifiée Les dernières périodes spécifiées par le paramètre periods.
- spécifiée - Les 20 dernières périodes avant la date spécifiée, mais pas au-delà de la première période disponible basée sur la date d'entrée en vigueur du SLA.
- spécifiée spécifiée Les dernières périodes spécifiées par le paramètre periods avant la date spécifiée.
spécifiée - - Les 20 premières périodes (y compris celle en cours) mais pas au-delà de celle en cours.
spécifiée - spécifiée Les premières périodes spécifiées par le paramètre periods commençant par la date spécifiée.
spécifiée spécifiée - Périodes comprises dans la plage de dates spécifiée, mais pas plus de 100 et pas au-delà de la première période disponible basée sur la date d'entrée en vigueur du SLA.
spécifiée spécifiée spécifiée Périodes comprises dans la plage de dates spécifiée, mais pas plus que le nombre de périodes spécifié et pas au-delà de la première période disponible basée sur la date d'entrée en vigueur du SLA.

Valeurs de retour

(objet) Renvoie les résultats du calcul.

Propriété | Type | Descriptif |

|-----------|----------------------------------------- -----------------|--------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------| | périodes | array | Liste des périodes rapportées.

Chaque période rapportée est représentée comme un objet composé de :
- period_from - Date de début de la période rapportée (timestamp).
- period_to - Date de fin de la période rapportée (timestamp).

Les périodes sont triées par valeurs croissantes du champ period_from. | | serviceids | array | Liste des ID de service dans les périodes rapportées.

L'ordre de tri de la liste n'est pas défini, même si le paramètre serviceids a été passé à la méthode sla.getsli. | | sli | array | Données SLI (sous forme de tableau bidimensionnel) pour chaque période et service rapporté.

L'index de la propriété periods est utilisé comme la première dimension de la propriété sli .

L'index de la propriété serviceids est utilisé comme seconde dimension de la propriété sli. |

Données SLI

Les données SLI renvoyées pour chaque période et service déclarés comprennent :

Propriété | Type | Descriptif |

|---------------------|------------------------------------- --------------------------|------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------| | uptime | integer | Durée de service passée dans un état OK pendant la disponibilité planifiée, moins les temps d'arrêt exclus. | | downtime | integer | Durée de service passée dans un état non OK pendant la disponibilité planifiée, moins les temps d'arrêt exclus. | | sli | float | SLI (pourcentage du temps de disponibilité total), basé sur le temps de disponibilité et le temps d'arrêt. | | error_budget | integer | Budget d'erreur (en secondes), basé sur le SLI et le SLO. | | excluded_downtimes | tableau | Tableau des temps d'arrêt exclus au cours de cette période de rapport.

Chaque objet contiendra les paramètres suivants :
- name - Nom du temps d'arrêt exclu.
- period_from - Date et heure de début (incluses) du temps d'arrêt exclu.
- period_to - Date et heure de fin (exclusives) du temps d'arrêt exclu.

Les temps d'arrêt exclus sont triés par champ period_from croissant. |

Exemples

Calcul du SLI

Récupérer le SLI sur les services avec les ID "50, 60 et 70" liés à un SLA avec l'ID de "5" pour 3 périodes à partir du 1er novembre 2021.

Requête :

{
           "jsonrpc": "2.0",
           "method": "sla.getsli",
           "params": {
               "slaid": "5",
               "serviceids": [
                   50,
                   60,
                   70
               ],
               "periods": 3,
               "period_from": "1635724800"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

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

Source

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