Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion des opérations à cardinalité élevée
Application Signals inclut des paramètres dans l' CloudWatch agent que vous pouvez utiliser pour gérer la cardinalité de vos opérations et gérer l'exportation des métriques afin d'optimiser les coûts. Par défaut, la fonction de limitation des métriques s’active lorsque le nombre d’opérations distinctes pour un service au fil du temps dépasse le seuil par défaut de 500. Vous pouvez ajuster ce comportement en modifiant les paramètres de configuration.
Vérification de l’activation de la limitation des métriques
Vous pouvez utiliser les méthodes suivantes pour déterminer si la limitation automatique des métriques est active. Si c’est le cas, il est recommandé d’optimiser le contrôle de la cardinalité en suivant les étapes décrites dans la section suivante.
Dans la CloudWatch console, choisissez Application Signals, Services. Si vous voyez une opération nommée AllOtherOperationsou RemoteOperationnommée AllOtherRemoteOperations, cela signifie que la limitation des métriques est en cours.
Si l’une des métriques collectées par la vigie applicative présente la valeur
AllOtherOperationspour sa dimensionOperation, cela indique également que la limitation des métriques est active.Si l’une des métriques collectées par la vigie applicative présente la valeur
AllOtherRemoteOperationspour sa dimensionRemoteOperation, cela indique également que la limitation des métriques est active.
Optimisation du contrôle de la cardinalité
Pour optimiser le contrôle de la cardinalité, vous pouvez :
Créer des règles personnalisées pour agréger les opérations.
Configurer votre politique de limitation des métriques.
Création de règles personnalisées pour agréger les opérations
High-cardinality les opérations peuvent parfois être causées par des valeurs uniques inappropriées extraites du contexte. Par exemple, l'envoi de HTTP/S demandes qui incluent des identifiants d'utilisateur ou de session dans le chemin peut entraîner des centaines d'opérations disparates. Pour résoudre ces problèmes, nous vous recommandons de configurer l' CloudWatch agent avec des règles de personnalisation afin de réécrire ces opérations.
Dans les cas où un grand nombre de métriques distinctes sont générées par des appels RemoteOperation individuels tels que PUT /api/customer/owners/123, PUT /api/customer/owners/456 ou d’autres requêtes similaires, il est conseillé de regrouper ces opérations en une seule RemoteOperation. Une approche consiste à standardiser tous les appels RemoteOperation qui commencent par PUT /api/customer/owners/ dans un format uniforme, à savoir PUT /api/customer/owners/{ownerId}. L’exemple suivant illustre ce scénario. Pour plus d’informations sur d’autres règles de personnalisation, consultez Activer les signaux CloudWatch d'application.
{ "logs":{ "metrics_collected":{ "application_signals":{ "rules":[ { "selectors":[ { "dimension":"RemoteOperation", "match":"PUT /api/customer/owners/*" } ], "replacements":[ { "target_dimension":"RemoteOperation", "value":"PUT /api/customer/owners/{ownerId}" } ], "action":"replace" } ] } } } }
Dans d’autres cas, les métriques à cardinalité élevée peuvent avoir été agrégées dans AllOtherRemoteOperations, ce qui rend difficile l’identification des métriques spécifiques incluses. L' CloudWatch agent est en mesure d'enregistrer les opérations abandonnées. Pour identifier ces opérations ignorées, utilisez la configuration présentée dans l’exemple suivant pour activer la journalisation jusqu’à ce que le problème se reproduise. Inspectez ensuite les journaux de l' CloudWatch agent (accessibles par conteneur stdout ou par fichier journal EC2) et recherchez le mot clédrop metric data.
{ "agent": { "config": { "agent": { "debug": true }, "traces": { "traces_collected": { "application_signals": { } } }, "logs": { "metrics_collected": { "application_signals": { "limiter": { "log_dropped_metrics": true } } } } } } }
Création d’une politique de limitation des métriques
Si la configuration par défaut de la limitation des métriques ne répond pas aux besoins de votre service, vous pouvez personnaliser la configuration du limiteur de métriques. Pour ce faire, ajoutez une limiter section sous la logs/metrics_collected/application_signals section du fichier de configuration de l' CloudWatch agent.
L’exemple suivant montre comment réduire le seuil de limitation des métriques de 500 métriques distinctes à 100.
{ "logs": { "metrics_collected": { "application_signals": { "limiter": { "drop_threshold": 100 } } } } }