Konfigurieren von -Samplingregeln - AWS X-Ray

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.

Konfigurieren von -Samplingregeln

Sie können die AWS X-Ray Konsole verwenden, um Sampling-Regeln für Ihre Dienste zu konfigurieren. Das AWS Distro for OpenTelemetry, das X-Ray SDK und AWS-Services das Active Tracing mit Sampling-Konfigurationen unterstützen, verwenden Sampling-Regeln, um zu bestimmen, welche Anfragen aufgezeichnet werden sollen.

Konfigurieren von -Samplingregeln

Sie können Sampling für die folgenden Anwendungsfälle konfigurieren:

  • API Gateway Entrypoint — API Gateway unterstützt Sampling und Active Tracing. Informationen zum Aktivieren der aktiven Ablaufverfolgung für eine API-Stufe finden Sie unter Unterstützung für aktives Tracing von Amazon API Gateway für AWS X-Ray.

  • AWS AppSync— AWS AppSync unterstützt Sampling und aktives Tracing. Informationen zum Aktivieren der aktiven Ablaufverfolgung für AWS AppSync Anfragen finden Sie unter Tracing with AWS X-Ray.

  • AWS Step Functions— AWS Step Functions unterstützt Sampling und aktives Tracing. Informationen zur Aktivierung der aktiven Ablaufverfolgung auf AWS Step Functions Zustandsmaschinen finden Sie unter X-Ray Tracing in Step Functions.

  • Instrument AWS Distro for OpenTelemetry on Compute-Plattformen — Bei der Verwendung von Rechenplattformen wie Amazon EC2, Amazon ECS oder wird Sampling unterstützt AWS Elastic Beanstalk, wenn die Anwendung mit dem neuesten AWS Distro for OpenTelemetry - oder X-Ray-SDK instrumentiert wurde.

Anpassen von Samplingregeln

Durch die Anpassung der Stichprobenregeln können Sie die Menge der aufgenommenen Daten kontrollieren. Sie können auch das Sampling-Verhalten ändern, ohne Ihren Code zu ändern oder erneut bereitzustellen. Sampling-Regeln teilen dem AWS Distro for OpenTelemetry (ADOT) oder X-Ray SDK mit, wie viele Anfragen für eine Reihe von Kriterien aufgezeichnet werden müssen. Standardmäßig zeichnet das SDK jede Sekunde die erste Anfrage und fünf Prozent aller weiteren Anfragen auf. Eine Anfrage pro Sekunde ist das Reservoir. Dadurch wird sichergestellt, dass jede Sekunde mindestens eine Ablaufverfolgung aufgezeichnet wird, solange der Dienst Anfragen verarbeitet. Fünf Prozent ist die Rate, mit der die über die Reservoirgröße hinausgehenden Anforderungen geprüft werden.

Sie können das X-Ray SDK so konfigurieren, dass es Sampling-Regeln aus einem JSON-Dokument liest, das Sie in Ihren Code einbinden. Wenn Sie jedoch mehrere Instances Ihres Services ausführen, führt jede Instance das Sampling unabhängig aus. Dies bewirkt, dass sich der Gesamtprozentsatz der geprüften Anforderungen erhöht, da die Reservoirs aller Instances effektiv zusammengezählt werden. Um lokale Sampling-Regeln zu aktualisieren, müssen Sie Ihren Code außerdem erneut bereitstellen.

Indem Sie Sampling-Regeln in der X-Ray-Konsole definieren und das SDK so konfigurieren, dass es Regeln aus dem X-Ray-Dienst liest, können Sie beide Probleme vermeiden. Der Service verwaltet die Reservoirs für jede Regel und weist jeder Instance Ihres Services Kontingente zu, um das Reservoir gleichmäßig zu verteilen, basierend auf der Anzahl der Instances, die ausgeführt werden. Das Reservoir-Limit wird gemäß den von Ihnen festgelegten Regeln berechnet. Da die Regeln im Dienst konfiguriert sind, können Sie Regeln verwalten, ohne zusätzliche Implementierungen vornehmen zu müssen.

Anmerkung

Bei der Konfiguration von Probenahmeregeln ist es wichtig zu wissen, dass die Röntgenprobenentnahme „übergeordnetes System“ ist. Das bedeutet, dass die Stichprobenentscheidung nur einmal getroffen wird, in der Regel vom ersten X-Ray-enabled Dienst, der die Anfrage bearbeitet (der „Root“ -Dienst).

Wenn ein nachgelagerter Dienst eine Anfrage erhält, für die bereits eine Stichprobenentscheidung von einem übergeordneten Dienst getroffen wurde, wird er diese Entscheidung unabhängig von seinen eigenen Stichprobenregeln berücksichtigen.

  • Wenn Regeln gelten: Ihre benutzerdefinierten Stichprobenregeln gelten nur für Dienste, für die noch keine Stichprobenentscheidung getroffen wurde. Dies gilt normalerweise für:

    • Der Einstiegspunkt Ihrer Anwendung (z. B. ein API Gateway, ein Load Balancer oder der erste instrumentierte Microservice).

    • Asynchrone Prozesse oder Worker, die einen brandneuen Trace starten.

  • Häufiger Fallstrick: Wenn Sie eine strenge Stichprobenregel für „Service B“ erstellen, „Service B“ aber immer von „Service A“ aufgerufen wird, wird Ihre Regel für Service B wahrscheinlich nie angewendet, da sie einfach der Entscheidung von Service A folgt. Um die Stichprobenziehung von Traces für diesen Workflow zu ändern, müssen Sie die Stichprobenregel für den Root-Dienst (Service A) konfigurieren.

Anmerkung

X-Ray verwendet bei der Anwendung von Stichprobenregeln einen Best-Effort-Ansatz, und in einigen Fällen entspricht die effektive Abtastrate möglicherweise nicht genau den konfigurierten Abtastregeln. Im Laufe der Zeit sollte die Anzahl der gesampelten Anfragen jedoch in der Nähe des konfigurierten Prozentsatzes liegen.

Sie können jetzt X-Ray-Sampling-Regeln von der CloudWatch Amazon-Konsole aus konfigurieren.

Um Sampling-Regeln in der CloudWatch Konsole zu konfigurieren
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im linken Navigationsbereich unter Setup die Option Einstellungen aus.

  3. Wählen Sie im Bereich X-Ray-Traces unter Sampling-Regeln die Option Einstellungen anzeigen.

  4. Um eine Regel zu erstellen, wählen Sie Create sampling rule (Samplingregel erstellen) aus.

    Um eine Regel zu bearbeiten, wählen Sie eine Regel aus und klicken Sie auf Bearbeiten, um sie zu bearbeiten.

    Um eine Regel zu löschen, wählen Sie eine Regel aus und wählen Sie Löschen, um sie zu löschen.

Optionen für Samplingregeln

Für jede Regel stehen folgende Optionen zur Verfügung. Für Zeichenfolgenwerte können Platzhalter verwendet werden, um einem einzelnen Zeichen (?) oder null oder mehreren Zeichen (*) zu entsprechen.

Optionen für Samplingregeln
  • Regelname (Zeichenfolge) — Ein eindeutiger Name für die Regel.

  • Priorität (Ganzzahl zwischen 1 und 9999) — Die Priorität der Stichprobenregel. Services werten Regeln in aufsteigender Reihenfolge der Priorität aus und treffen eine Sampleentscheidung mit der ersten übereinstimmenden Regel.

  • Reservoir (nicht negative Ganzzahl) — Eine feste Anzahl von Abgleichsanfragen an das Instrument pro Sekunde, bevor die feste Rate angewendet wird. Das Reservoir wird nicht direkt von Services verwendet, sondern gilt für alle Services, die die Regel gemeinsam verwenden.

  • Rate (Ganzzahl zwischen 0 und 100) — Der Prozentsatz der übereinstimmenden Anfragen an das Instrument, nachdem das Reservoir aufgebraucht ist. Wählen Sie bei der Konfiguration einer Stichprobenregel in der Konsole einen Prozentsatz zwischen 0 und 100. Geben Sie bei der Konfiguration einer Stichprobenregel in einem Client-SDK mithilfe eines JSON-Dokuments einen Prozentwert zwischen 0 und 1 an.

  • Dienstname (Zeichenfolge) — Der Name des instrumentierten Dienstes, wie er in der Trace-Map angezeigt wird.

    • X-Ray SDK — Der Dienstname, den Sie auf dem Rekorder konfigurieren.

    • Amazon API Gateway —api-name/stage.

  • Servicetyp (Zeichenfolge) — Der Servicetyp, wie er in der Trace-Map angezeigt wird. Legen Sie für das X-Ray SDK den Diensttyp fest, indem Sie das entsprechende Plugin anwenden:

    • AWS::ElasticBeanstalk::Environment— Eine AWS Elastic Beanstalk Umgebung (Plugin).

    • AWS::EC2::Instance— Eine EC2 Amazon-Instanz (Plugin).

    • AWS::ECS::Container— Ein Amazon ECS-Container (Plugin).

    • AWS::EKS::Container— Ein Amazon EKS-Container (Plugin).

    • AWS::APIGateway::Stage— Eine Amazon API Gateway Gateway-Phase.

    • AWS::AppSync::GraphQLAPI — Eine AWS AppSync API-Anfrage.

    • AWS::StepFunctions::StateMachine— Eine AWS Step Functions Zustandsmaschine.

  • Host (string) — Der Hostname aus dem HTTP-Host-Header.

  • HTTP-Methode (Zeichenfolge) — Die Methode der HTTP-Anfrage.

  • URL-Pfad (Zeichenfolge) — Der URL-Pfad der Anfrage.

    • X-Ray SDK — Der Pfadteil der HTTP-Anforderungs-URL.

  • Ressourcen-ARN (Zeichenfolge) — Der ARN der AWS Ressource, auf der der Dienst ausgeführt wird.

    • X-Ray SDK — Nicht unterstützt. Das SDK kann nur Regeln verwenden, bei denen der Ressourcen-ARN auf * festgelegt ist.

    • Amazon API Gateway — Die Stufe ARN.

  • (Optional) Attribute (Schlüssel und Wert) — Segmentattribute, die bekannt sind, als die Stichprobenentscheidung getroffen wurde.

    • X-Ray SDK — Nicht unterstützt. Das SDK ignoriert Regeln, die Attribute angeben.

    • Amazon API Gateway — Header aus der ursprünglichen HTTP-Anfrage.

  • (Optional) SamplingRateBoost(Objekt) — Steuert das anomaliebedingte Boost-Verhalten bei der Probennahme.

    • MaxRate (Ganzzahl zwischen 0 und 100) — Die maximale Probenahmerate (0,0—1,0) X-Ray bei Anomalien bis zu einem Grad ansteigen

    • CooldownWindowMinutes (Ganzzahl größer als 0) — Zeitfenster (Minuten), in dem nur ein Boost ausgelöst werden kann, wodurch kontinuierliche Boosts verhindert werden

Beispiele für Samplingregeln

Beispiel — Standardregel ohne Reservoir und niedriger Rate

Sie können das Reservoir und die Rate der Standardregel ändern. Die Standardregel gilt für alle Anforderungen, die nicht mit einer anderen Regel übereinstimmen.

  • Reservoir: 0

  • Rate: 5 (0.05falls mit einem JSON-Dokument konfiguriert)

Beispiel — Debugging-Regel zur Verfolgung aller Anfragen für eine problematische Route

Eine Regel mit hoher Priorität, die vorübergehend für das Debuggen angewendet wird.

  • Name der Regel: DEBUG – history updates

  • Priorität: 1

  • Reservoir: 1

  • Rate: 100 (1falls mit einem JSON-Dokument konfiguriert)

  • Name des Dienstes: Scorekeep

  • Service type (Servicetyp): *

  • Gastgeber: *

  • HTTP-Methode: PUT

  • URL-Pfad: /history/*

  • Ressourcen-ARN: *

Beispiel — Höherer Mindestsatz für POSTs
  • Name der Regel: POST minimum

  • Priorität: 100

  • Reservoir: 10

  • Rate: 10 (.1falls mit einem JSON-Dokument konfiguriert)

  • Name des Dienstes: *

  • Service type (Servicetyp): *

  • Gastgeber: *

  • HTTP-Methode: POST

  • URL-Pfad: *

  • Ressourcen-ARN: *

Beispiel Aktivieren Sie den durch Anomalien verursachten Boost

Konfiguriere eine Regel, die bei Anomalien einen Sampling-Boost von bis zu 50% mit einer Abklingzeit von 10 Minuten auslöst.

  • Name der Regel: MyAdaptiveRule

  • Priorität: 100

  • Reservoir: 1

  • FixedRate: 0.0510

  • Name des Dienstes: *

  • Service type (Servicetyp): *

  • Gastgeber: *

  • HTTP-Methode: POST

  • URL-Pfad: *

  • maximale Rate: 0.5

  • cooldownWindowMinutes: 10

Konfigurieren Ihres Service für die Verwendung von Samplingregeln

Das SDK für AWS Distro for OpenTelemetry (ADOT) und X-Ray erfordert eine zusätzliche Konfiguration, um Sampling-Regeln verwenden zu können, die Sie in der Konsole konfigurieren. Im Konfigurationsthema finden Sie in Ihrer Sprache Einzelheiten zur Konfiguration einer Samplingstrategie:

Informationen zu API Gateway finden Sie unterUnterstützung für aktives Tracing von Amazon API Gateway für AWS X-Ray.

Anzeigen von Samplingergebnissen

Auf der Sampling-Seite der X-Ray-Konsole finden Sie detaillierte Informationen darüber, wie Ihre Dienste die einzelnen Sampling-Regeln verwenden.

Die Spalte Trend zeigt, wie die Regel in den letzten paar Minuten verwendet wurde. Jede Spalte zeigt Statistiken für ein 10-Sekunden-Fenster an.

Samplingstatistiken
  • Gesamtzahl der übereinstimmenden Regeln: Die Anzahl der Anfragen, die dieser Regel entsprachen. Diese Zahl umfasst keine Anforderungen, die mit dieser Regel übereingestimmt hätten, aber zuvor mit einer Regel mit höherer Priorität übereingestimmt haben.

  • Gesamtzahl der gesammelten Anfragen: Die Anzahl der aufgezeichneten Anfragen.

  • Stichprobe mit fester Rate: Die Anzahl der Anfragen, bei denen die feste Rate der Regel angewendet wurde.

  • Mit Reservoirlimit abgetastet: Die Anzahl der Anfragen, die unter Verwendung einer von X-Ray zugewiesenen Quote abgetastet wurden.

  • Aus dem Reservoir ausgeliehen: Die Anzahl der Anfragen, die durch Entleihen aus dem Reservoir entnommen wurden. Wenn ein Service eine Anfrage zum ersten Mal einer Regel zuordnet, wurde ihm von X-Ray noch kein Kontingent zugewiesen. Wenn das Reservoir jedoch mindestens 1 ist, leiht sich der Dienst eine Spur pro Sekunde aus, bis X-Ray eine Quote zuweist.

Weitere Informationen zu Samplingstatistiken und dazu, wie Services Samplingregeln verwenden, finden Sie unter Verwenden von Sampling-Regeln mit der X-Ray-API.

Nächste Schritte

Sie können die X-Ray-API verwenden, um Sampling-Regeln zu verwalten. Mit der API können Sie Regeln erstellen und aktualisieren, und zwar programmgesteuert nach einem Zeitplan oder als Reaktion auf Alarme oder Benachrichtigungen. Anleitungen und weitere Regelbeispiele finden Sie unter Konfigurieren von Sampling-, Gruppen- und Verschlüsselungseinstellungen mit der AWS X-Ray -API.

Das AWS Distro for OpenTelemetry, das X-Ray SDK und AWS-Services die X-Ray-API verwenden, um Probenahmeregeln zu lesen, Probenahmeergebnisse zu melden und Probenahmeziele abzurufen. Services müssen verfolgen, wie oft sie die einzelnen Regeln anwenden, Regeln anhand ihrer Priorität auswerten und Daten aus dem Reservoir abrufen, wenn eine Anfrage mit einer Regel übereinstimmt, für die X-Ray dem Service noch kein Kontingent zugewiesen hat. Weitere Informationen dazu, wie ein Service die API für das Sampling verwendet, finden Sie unter Verwenden von Sampling-Regeln mit der X-Ray-API.

Wenn die AWS Distribution for OpenTelemetry oder das X-Ray SDK Sampling aufrufen APIs, verwenden sie den CloudWatch Agenten als Proxy. Wenn Sie bereits den TCP-Port 2000 verwenden, können Sie den Agenten so konfigurieren, dass er den Proxy auf einem anderen Port ausführt. Einzelheiten finden Sie in der Installationsanleitung für den CloudWatch Agenten.