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.
Gérez les opérations à haute cardinalité
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 devient 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 le comportement en ajustant les paramètres de configuration.
Déterminez si la limitation métrique est activée
Vous pouvez utiliser les méthodes suivantes pour déterminer si la limite métrique par défaut est respectée. Si tel est le cas, vous devez envisager d'optimiser le contrôle de cardinalité en suivant les étapes de 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 des métriques collectées par Application Signals ont la valeur correspondant
AllOtherOperations
à leurOperation
dimension, cela signifie que la limitation des métriques se produit.Si des métriques collectées par Application Signals ont la valeur correspondant
AllOtherRemoteOperations
à leurRemoteOperation
dimension, cela signifie que la limitation des métriques se produit.
Optimisez le contrôle de la cardinalité
Pour optimiser votre contrôle de cardinalité, vous pouvez effectuer les opérations suivantes :
Créez des règles personnalisées pour agréger les opérations.
Configurez votre politique de limitation des métriques.
Créez des règles personnalisées pour agréger les opérations
Les opérations à cardinalité élevée peuvent parfois être causées par des valeurs uniques inappropriées extraites du contexte. Par exemple, l'envoi de requêtes HTTP/S incluant un utilisateur IDs ou une session IDs 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ù il y a une augmentation de la génération de nombreux indicateurs différents par le biais d'RemoteOperation
appels individuels PUT /api/customer/owners/123
PUT /api/customer/owners/456
, tels que, et de demandes similaires, nous vous recommandons de regrouper ces opérations en une seuleRemoteOperation
. L'une des approches consiste à normaliser tous les RemoteOperation
appels commençant PUT /api/customer/owners/
par un format uniforme, en particulierPUT /api/customer/owners/{ownerId}
. L’exemple suivant illustre ce scénario. Pour plus d'informations sur les autres règles de personnalisation, consultezActiver 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 à haute cardinalité peuvent avoir été agrégéesAllOtherRemoteOperations
, et il est possible que les métriques spécifiques incluses ne soient pas claires. L' CloudWatch agent est en mesure de consigner les opérations abandonnées. Pour identifier les opérations abandonnées, utilisez la configuration de l'exemple suivant pour activer la journalisation jusqu'à ce que le problème réapparaisse. Inspectez ensuite les journaux de l' CloudWatch agent (accessibles par conteneur stdout
ou par fichier EC2 journal) 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éez votre politique de limitation des métriques
Si la configuration de limitation métrique par défaut ne tient pas compte de la cardinalité de votre service, vous pouvez personnaliser la configuration du limiteur métrique. 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 abaisse le seuil de limitation des métriques de 500 métriques distinctes à 100.
{ "logs": { "metrics_collected": { "application_signals": { "limiter": { "drop_threshold": 100 } } } } }