Wie behebe ich den Trace-Quota-Fehler in X-Ray?

Lesedauer: 4 Minute
0

Ich möchte den Fehler „Dieser Trace hat sein maximal zugewiesenes Kontingent erreicht. Weitere Informationen finden Sie unter AWS X-Ray-Endpunkte und Kontingente“ lösen.

Kurzbeschreibung

Die folgenden Szenarien können dazu führen, dass Trace-Dokumente das in AWS X-Ray zulässige Limit überschreiten:

  • Sie haben eine erhöhte Anzahl von gestapelten Segmenten für einen Trace gesendet, bei dem die Größe des Trace-Dokuments die Größe von 500 KB überschreitet.
  • Sie haben nichtgestapelte Segmente für einen Trace gesendet, bei dem die Größe des Trace-Dokuments die Größe von 100 KB überschreitet.
  • Sie haben benutzerdefinierte Segmente, Metadaten und Anmerkungen hinzugefügt, wodurch die Größe des Trace-Dokuments erhöht wurde.

Die Obergrenze der Größe eines X-Ray-Trace-Dokuments ändert sich dynamisch entsprechend der Anzahl der Segmente, die Sie zusammen senden. Dies ist auf die Trace-Funktion „Limit überschritten“ zurückzuführen. Für eine hohe Anzahl von Segmenten, die Sie zusammen in einem Stapel senden, der an einen Trace angehängt ist, liegt die Obergrenze bei 500 KB. Für einzelne Segmente, die Sie mit einer Zeitlücke senden, die an einen Trace angehängt ist, liegt die Obergrenze bei 100 KB.

Je schneller Sie einen Trace senden (je mehr Segmente Sie stapeln und senden), desto mehr erhöht sich die Komprimierungseffizienz. Je langsamer Sie einen Trace senden (Segmente einzeln mit einem Zeitabstand senden), desto mehr teilt sich der Trace in mehrere Revisionen auf. Je langsamer Sie einen Trace senden, desto mehr Speicherkapazität für den Cache im Backend verbraucht. Länger anhaltende Spuren erzeugen mehr Duplikate und führen dazu, dass X-Ray weniger Daten sammelt.

Behebung

Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Sehen Sie sich den Trace in der X-Ray-Konsole an, oder führen Sie den folgenden Befehl aus, um zu überprüfen, ob das Trace-Dokument die Größenbeschränkung überschreitet:

aws xray batch-get-traces --trace-ids <EXAMPLE_TRACE_ID>

Hinweis: Ersetzen Sie EXAMPLE_TRACE_ID durch die ID Ihres Traces.

X-Ray sammelt die folgenden Informationen für einen größeren Trace :

{
    "Id": "<EXAMPLE_TRACE_ID>",
    "Duration": 187.859,
    "LimitExceeded": true,
    "Segments": [
         ...
     ]
     ....
 }

Hinweis: Wenn der Parameter LimitExceeded wahr ist, haben Sie das Trace- oder Segmentkontingent überschritten.

Erhöhung der Anzahl gestapelter Segmente für einen Trace, bei dem die Größe des Trace-Dokuments die Größe von 500 KB überschreitet

Dieses Szenario tritt auf, wenn Sie Step Functions mit X-Ray integrieren. Wenn Sie Step Functions in X-Ray integrieren, können Sie nicht anpassen, was X-Ray verfolgt oder nicht. Wenn Sie die Trace-ID durch alle AWS Lambda-Funktionen übergeben, werden Segmentdaten zur Trace-ID hinzugefügt.

Wenn du Step Functions verwendest, führe die folgenden Schritte aus:

  1. Gehen Sie zu Step Functions und schalten Sie dann das aktive Tracing aus.
  2. Übergeben Sie die Trace-ID nur für kritische Workflows an Lambda-Funktionen und überschreiten Sie nicht die Trace-Obergrenze.
  3. Wenn Lambda den Trace-Header von Upstream-Diensten empfängt, entfernen Sie die PutTraceSegments-Berechtigung aus der Lambda-Ausführungsrolle. Die Obergrenze wird dynamisch angepasst.

Wenn Sie Step Functions nicht verwenden, führen Sie die folgenden Schritte aus:

  1. Debuggen Sie Ihren Code, um zu überprüfen, ob Sie dieselbe Trace-ID für verschiedene Anfragen übergeben.
  2. Unterbrechen Sie den Trace. Geben Sie dazu die Trace-ID im Aufruf nicht an Downstream-Dienste weiter.
  3. Erstellen Sie von der Bruchstelle aus eine neue Trace-ID.

Hinweis: Wenn Sie für jede Anwendung eine Trace-ID erstellen, erhöht sich Ihre Trace-Anzahl. Um die Rückverfolgbarkeit zu vereinfachen, sollten Sie die kritischen Anwendungsworkflows als Teil eines Traces festhalten.

Weitere Informationen finden Sie unter AWS X-Ray and Step Functions.

Nichtgestapelte Segmente für einen Trace, bei dem die Größe des Trace-Dokuments die Größe von 100 KB überschreitet

Verwenden Sie für dieses Szenario die Lösung aus dem vorherigen Abschnitt.

Unterbrechen Sie Traces für die neue Obergrenze von 100 KB. Oder stapeln Sie mehrere Segmente in der Anwendung, um die Obergrenze auf 500 KB zu erhöhen. Das Stapeln von Segmenten wird nur mit dem Open Telemetry SDK unterstützt. Wenn Sie X-Ray SDK verwenden, ändern Sie die Art und Weise, wie die Anwendung Segmente sendet.

Benutzerdefinierte Segmente, Metadaten und Anmerkungen hinzugefügt, die die Dokumentgröße erhöht haben

Um die Größe des Trace-Dokuments zu reduzieren, fügen Sie derselben Trace-ID keine zusätzlichen benutzerdefinierten Segmente hinzu. Fügen Sie benutzerdefinierte Segmente nur für notwendige Workflows hinzu. Um die Größe des Trace-Dokuments zu reduzieren, reduzieren Sie außerdem die Metadaten und Anmerkungen in den Traces.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr