Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Operationen mit hoher Kardinalität verwalten
Application Signals enthält Einstellungen im CloudWatch Agenten, mit denen Sie die Kardinalität Ihrer Operationen und den Export von Kennzahlen verwalten können, um die Kosten zu optimieren. Standardmäßig wird die Metrikbegrenzungsfunktion aktiv, wenn die Anzahl der einzelnen Operationen für einen Service im Laufe der Zeit den Standardschwellenwert von 500 überschreitet. Sie können das Verhalten anpassen, indem Sie die Konfigurationseinstellungen anpassen.
Stellen Sie fest, ob die metrische Begrenzung aktiviert ist
Sie können die folgenden Methoden verwenden, um herauszufinden, ob die standardmäßige metrische Limitierung stattfindet. Ist dies der Fall, sollten Sie erwägen, die Kardinalitätssteuerung zu optimieren, indem Sie die Schritte im nächsten Abschnitt befolgen.
Wählen Sie in der CloudWatch Konsole Application Signals, Services aus. Wenn Sie einen Vorgang namens AllOtherOperationsoder einen RemoteOperationbenannten Vorgang sehen AllOtherRemoteOperations, liegt eine Metrikbegrenzung vor.
Wenn von Application Signals gesammelte Metriken den Wert
AllOtherOperations
für ihreOperation
Dimension haben, erfolgt eine Metrikbegrenzung.Wenn von Application Signals gesammelte Metriken den Wert
AllOtherRemoteOperations
für ihreRemoteOperation
Dimension haben, erfolgt eine Metrikbegrenzung.
Optimieren Sie die Kardinalitätskontrolle
Um Ihre Kardinalitätskontrolle zu optimieren, können Sie wie folgt vorgehen:
Erstellen Sie benutzerdefinierte Regeln, um Operationen zu aggregieren.
Konfigurieren Sie Ihre Richtlinie zur Begrenzung von Metriken.
Erstellen Sie benutzerdefinierte Regeln, um Operationen zu aggregieren
Operationen mit hoher Kardinalität können manchmal durch unangemessene Einzelwerte verursacht werden, die aus dem Kontext extrahiert wurden. Beispielsweise kann das Senden von HTTP/S-Anfragen, die den Benutzer IDs oder die Sitzung IDs im Pfad enthalten, zu Hunderten von unterschiedlichen Vorgängen führen. Um solche Probleme zu lösen, empfehlen wir, den CloudWatch Agenten mit Anpassungsregeln zu konfigurieren, um diese Operationen neu zu schreiben.
In Fällen, in denen die Generierung zahlreicher verschiedener Messwerte durch einzelne RemoteOperation
Aufrufe, wie z. B., und ähnliche Anfragen PUT /api/customer/owners/123
PUT /api/customer/owners/456
, stark zunimmt, empfehlen wir, diese Vorgänge in einem einzigen RemoteOperation
Vorgang zu konsolidieren. Ein Ansatz besteht insbesondere PUT /api/customer/owners/{ownerId}
darin, alle RemoteOperation
Anrufe, die mit beginnen, PUT /api/customer/owners/
auf ein einheitliches Format zu standardisieren. Das folgende Beispiel illustriert dies. Informationen zu anderen Anpassungsregeln finden Sie unter CloudWatch Anwendungssignale aktivieren.
{ "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" } ] } } } }
In anderen Fällen wurden Metriken mit hoher Kardinalität möglicherweise zu aggregiertAllOtherRemoteOperations
, und es ist möglicherweise unklar, welche spezifischen Metriken enthalten sind. Der CloudWatch Agent ist in der Lage, die unterbrochenen Operationen zu protokollieren. Um unterbrochene Operationen zu identifizieren, verwenden Sie die Konfiguration im folgenden Beispiel, um die Protokollierung zu aktivieren, bis das Problem erneut auftritt. Untersuchen Sie dann die CloudWatch Agentenprotokolle (auf die über Container stdout
- oder EC2 Protokolldateien zugegriffen werden kann) und suchen Sie nach dem Schlüsselwortdrop metric data
.
{ "agent": { "config": { "agent": { "debug": true }, "traces": { "traces_collected": { "application_signals": { } } }, "logs": { "metrics_collected": { "application_signals": { "limiter": { "log_dropped_metrics": true } } } } } } }
Erstellen Sie Ihre Richtlinie zur Begrenzung von Metriken
Wenn die Standardkonfiguration für metrische Beschränkungen die Kardinalität für Ihren Service nicht berücksichtigt, können Sie die Konfiguration der metrischen Limitierung anpassen. Fügen Sie dazu unter dem limiter
Abschnitt in der CloudWatch Agent-Konfigurationsdatei einen logs/metrics_collected/application_signals
Abschnitt hinzu.
Im folgenden Beispiel wird der Schwellenwert für die Metrikbegrenzung von 500 verschiedenen Metriken auf 100 gesenkt.
{ "logs": { "metrics_collected": { "application_signals": { "limiter": { "drop_threshold": 100 } } } } }