Configuration des limites et des valeurs par défaut d'OpenAPI

Pour effectuer des opérations qui ralentissent considérablement le système pendant les heures creuses, remplacez les propriétés du générateur de requêtes. Vous pouvez remplacer plusieurs paramètres dans le générateur de requêtes. Les valeurs de paramètre par défaut qui sont définis dans le fichier de configuration de seuils OData protègent le système contre les requêtes OpenAPI affectant négativement les performances globales du système. Ces paramètres limitent l'ensemble de résultats renvoyé ou définissent le seuil pour le délai d'expiration des opérations potentiellement volumineuses. Vous pouvez personnaliser et remplacer les valeurs de paramètre par défaut, qui varient en fonction de l'échelle et de la capacité du système.
capm370
Pour effectuer des opérations qui ralentissent considérablement le système pendant les heures creuses, remplacez les propriétés du générateur de requêtes. Vous pouvez remplacer plusieurs paramètres dans le générateur de requêtes. Les valeurs de paramètre par défaut qui sont définis dans le fichier de configuration de seuils OData protègent le système contre les requêtes OpenAPI affectant négativement les performances globales du système. Ces paramètres limitent l'ensemble de résultats renvoyé ou définissent le seuil pour le délai d'expiration des opérations potentiellement volumineuses. Vous pouvez personnaliser et remplacer les valeurs de paramètre par défaut, qui varient en fonction de l'échelle et de la capacité du système.
Remplacement d'un paramètre OpenAPI
Pour remplacer un paramètre, ajoutez le code suivant à l'URL OpenAPI :
&<Override_parameter>=<override_value>
Par exemple, pour remplacer le nombre de lignes renvoyées pour une requête d'unité, utilisez l'URL suivante :
http://
da_host
:8581/odata/api/devices?$expand=cpumfs&$select=Name,PrimaryIPAddress,cpumfs/im_MemoryUtilization,cpumfs/im_Utilization
&$top=200
Les paramètres suivants pouvant être remplacés sont les suivants :
Parameter (Paramètre)
Valeur par défaut
Substitution
Description
defaultTopLimit
50
$top
Nombre de lignes à renvoyer
defaultExpandTopLimit
100
top
Paramètre personnalisé pour le nombre de lignes développées à renvoyer
defaultQueryTimeoutSecs
30 (s)
timeout
Paramètre personnalisé pour le temps global pendant lequel une requête peut s'exécuter avant qu'une exception d'expiration du délai soit générée
Configuration d'un paramètre de service Web
Les paramètres de service Web OpenAPI limitent l'utilisation simultanée, ainsi que le temps de traitement pour les demandes qui dépassent cette limite.
Pour remplacer un paramètre de service Web, modifiez la valeur dans le fichier de configuration suivant :
/opt/IMDataAggregator/apache-karaf-<
vers
>/etc/com.ca.im.odata.filters.OpenAPIRequestLimiterFilter.cfg
Vous pouvez remplacer les paramètres de service Web ci-dessous.
  • maxRequests
    Nombre de demandes OpenAPI simultanées. Les autres demandes sont suspendues jusqu'à la finalisation de l'une des requêtes en cours.
    Valeur par défaut
    : 4.
  • suspendMs
    Durée, en millisecondes, de suspension de chaque demande supplémentaire lorsque OpenAPI atteint le nombre maximum de demandes simultanées. Par exemple, la valeur 20000 suspend la demande pendant 20 secondes. Passé ce délai, la demande est rejetée. Une demande rejetée génère l'erreur 503 non disponible, et OpenAPI ne relance pas automatiquement la requête.
    Valeur par défaut
    : -1 (utiliser la valeur de defaultQueryTimeoutSecs).
  • waitMS
    Durée d'attente, en millisecondes, avant de tenter d'accepter une nouvelle demande. Ce paramètre est utilisé lorsque la limite
    maxRequests
    est atteinte. Il est recommandé de définir ce paramètre sur la même valeur que
    defaultQueryTimeoutSecs
    dans le fichier suivant :/opt/IMDataAggregator/apache-karaf-
    <vers>
    /etc/com.ca.im.odata.beans.ODataLimiters.cfg
Configuration du nombre maximum de résultats
Pour modifier les valeurs par défaut ou augmenter la limite, configurez le nombre de lignes que les requêtes OpenAPI doivent renvoyer.
Procédez comme suit :
  1. Connectez-vous à l'hôte Data Aggregator.
  2. Localisez le fichier suivant :
    /opt/IMDataAggregator/apache-karaf-
    <vers>
    /etc/com.ca.im.odata.beans.ODataLimiters.cfg
  3. Modifiez le fichier de façon à définir les limites et les valeurs par défaut. L'exemple suivant indique les valeurs par défaut pour ce fichier. Les attributs en gras permettent de contrôler les limites et les valeurs par défaut :
    defaultTopLimit=50
    defaultExpandTopLimit=100
    maxTopLimit=20000
    maxSubQueryLimit=2000000
    defaultRateTimeIntervalSecs=3600
    defaultHourlyTimeIntervalHours=168
    defaultDailyTimeIntervalDays=30
    defaultWeeklyTimeIntervalWeeks=52
    defaultQueryTimeoutSecs=30
    maxQueryTimeoutSecs=120
    • defaultTopLimit
      Définit la valeur par défaut pour le nombre maximum de lignes dans la sortie.
      Valeur par défaut
      : 50
    • defaultExpandTopLimit
      Définit la valeur par défaut pour le nombre maximum de lignes développées dans la sortie.
      Valeur par défaut
      : 100
    • maxTopLimit
      Définit la limite pour le nombre maximum de lignes dans la sortie.
      Valeur par défaut
      : 20000
    • maxSubQueryLimit
      Définit le nombre maximum de lignes développées qu'une requête OpenAPI peut renvoyer. Dans le générateur de requêtes, le nombre maximum de lignes développées est calculé par division de cette valeur par le nombre maximum de lignes.
      Valeur par défaut
      : 2000000
    • defaultRateTimeIntervalSecs
      Définit la valeur par défaut pour l’intervalle de requête lorsque la résolution corresponds à la valeur fréquence. Si l’intervalle n’est pas spécifié, le delai de la requête est de 3 600 secondes (un jour).
      Valeur par défaut
      : 3600
    • defaultHourlyTimeIntervalHours
      Définit la valeur par défaut pour l’intervalle de requête lorsque la résolution correspond à la valeur heure. Si l’intervalle n’est pas spécifié, le delai de la requête est de 168 heures (7 jours).
      Valeur par défaut
      : 168
    • defaultDailyTimeIntervalDays
      Définit la valeur par défaut pour l’intervalle de requête lorsque la résolution correspond à la valeur jour. Si l’intervalle n’est pas spécifié, le délai de la requête est de 30 jours.
      Valeur par défaut :
      30
    • defaultWeeklyTimeIntervalWeeks
      Définit la valeur par défaut pour l’intervalle de requête lorsque la résolution correspond à la valeur semaine. Si l’intervalle n’est pas spécifié, le délai de la requête est de 52 semaines.
      Valeur par défaut
      : 52
    • defaultQueryTimeoutSecs
      Définit le délai d’expiration standard pour toutes les requêtes.
      Valeur par défaut :
      30
    • maxQueryTimeoutSecs
      Définit le délai d'expiration maximum, qui peut être spécifié dans l'URL avec le paramètre
      timeout
      .
      Valeur par défaut :
      120
  4. Enregistrez les modifications.
    Les nouvelles valeurs s'appliquent lorsque vous chargez ou rechargez le générateur de requêtes dans le navigateur.