Zugriffsprotokollierung - AWS Elemental MediaPackage

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.

Zugriffsprotokollierung

MediaPackage bietet Zugriffsprotokolle, in denen detaillierte Informationen zu Anfragen erfasst werden, die an Ihren MediaPackage Kanal oder Ihre Paketgruppe gesendet wurden. MediaPackage generiert Eingangszugriffsprotokolle für Anfragen, die an die Eingangsendpunkte des Kanals gesendet werden, und Ausgangszugriffsprotokolle für Anfragen, die an die Endpunkte Ihres Kanals oder die Ressourcen Ihrer Paketgruppe gesendet werden. Jedes Protokoll enthält Informationen wie die Zeit, zu der die Anforderung einging, die Client-IP-Adresse, Latenzen, Anforderungspfade und Serverantworten. Sie können diese Zugriffsprotokolle verwenden, um die Serviceleistung zu analysieren und Probleme zu beheben. Sie können Ihnen auch dabei helfen, mehr über Ihren Kundenstamm zu erfahren und Ihre MediaPackage Rechnung zu verstehen.

Die Zugriffsprotokollierung ist eine optionale Funktion MediaPackage , die standardmäßig deaktiviert ist. Nachdem Sie die Zugriffsprotokollierung aktiviert haben, werden die Protokolle MediaPackage erfasst und in der CloudWatch Protokollgruppe gespeichert, die Sie bei der Erstellung oder Verwaltung der Zugriffsprotokollierung angeben. Es fallen typische Gebühren für CloudWatch Logs an.

Berechtigungen zum Veröffentlichen von Zugriffsprotokollen CloudWatch

Wenn Sie die Zugriffsprotokollierung aktivieren, MediaPackage wird in Ihrem AWS Konto eine mit dem IAM-Dienst verknüpfte Rolle erstellt. AWSServiceRoleForMediaPackage Diese Rolle ermöglicht das Veröffentlichen MediaPackage von Zugriffsprotokollen für. CloudWatch Informationen zur MediaPackage Verwendung von dienstbezogenen Rollen finden Sie unterVerwenden von serviceverknüpften Rollen für MediaPackage.

Aktivieren der Zugriffsprotokollierung

Sie können Zugriffsprotokolle mithilfe der AWS Management Console oder der AWS CLI aktivieren.

So aktivieren Sie die Zugriffsprotokolle für einen vorhandenen Channel mithilfe der Konsole
  1. Öffnen Sie die MediaPackage Konsole unter https://console.aws.amazon.com/mediapackage/.

  2. Wähle deinen Kanal aus.

  3. Gehen Sie im Abschnitt „Zugriffsprotokolle konfigurieren“ wie folgt vor:

    1. Wählen Sie Logs für eingehenden Zugriff aktivieren oder Logs für ausgehenden Zugriff aktivieren oder beides aus.

    2. Sie können einen benutzerdefinierten Namen für die CloudWatch Protokollgruppe angeben. Wenn dieses Feld leer gelassen wird, wird die Standardgruppe verwendet.

Um Zugriffsprotokolle für eine bestehende Verpackungsgruppe mithilfe der Konsole zu aktivieren
  1. Öffnen Sie die MediaPackage Konsole unter https://console.aws.amazon.com/mediapackage/.

  2. Wählen Sie im Navigationsbereich die Option Verpackungsgruppen aus.

  3. Wählen Sie Ihre Verpackungsgruppe aus.

    1. Wählen Sie in der Navigationsleiste Bearbeiten aus.

    2. Wählen Sie im Abschnitt Zugriffsprotokollierung die Option Ausgangszugriffsprotokolle aktivieren aus.

    3. Sie können einen benutzerdefinierten Namen für die CloudWatch Protokollgruppe angeben. Wenn dieses Feld leer gelassen wird, wird die Standardgruppe verwendet.

  4. Wählen Sie Änderungen speichern aus.

Um Zugriffsprotokolle für einen Kanal zu aktivieren, verwenden Sie AWS CLI

Verwenden Sie den Befehl configure-logs mit dem --ingress-access-logs Parameter, --egress-access-logs dem Parameter oder beidem, um die Zugriffsprotokollierung zu aktivieren. Sie können einen CloudWatch Protokollgruppennamen für die Parameter --ingress-access-logs und --egress-access-logs angeben. Wenn Sie keinen Protokollgruppennamen angeben, wird die MediaPackage Standardprotokollgruppe verwendet. Für Eingangsprotokolle ist die Standard-Protokollgruppe und für Ausgangsprotokolle ist /aws/MediaPackage/IngressAccessLogs die Standard-Protokollgruppe. /aws/MediaPackage/EgressAccessLogs

Verwenden Sie den folgenden Befehl, um sowohl Eingangs- als auch Zugriffsprotokolle mithilfe der Standard-Protokollgruppen zu aktivieren:

aws mediapackage configure-logs --id channel-name --ingress-access-logs {} --egress-access-logs {}

Dieser Befehl hat keinen Rückgabewert.

Um Zugriffsprotokolle für eine Paketgruppe zu aktivieren, verwenden Sie AWS CLI

Verwenden Sie den Befehl configure-logs mit dem --egress-access-logs Parameter, um die Zugriffsprotokollierung zu aktivieren. Sie können einen CloudWatch Protokollgruppennamen für den --egress-access-logs Parameter angeben. Wenn Sie keinen Protokollgruppennamen angeben, wird die MediaPackage Standardprotokollgruppe verwendet. Für Eingangsprotokolle ist die Standard-Protokollgruppe und für Ausgangsprotokolle ist /aws/MediaPackage/IngressAccessLogs die Standard-Protokollgruppe. /aws/MediaPackage/EgressAccessLogs

Verwenden Sie den folgenden Befehl, um Ausgangszugriffsprotokolle mithilfe der Standard-Protokollgruppen zu aktivieren:

aws mediapackage configure-logs --id package-name --egress-access-logs {}

Dieser Befehl hat keinen Rückgabewert.

Deaktivieren der Zugriffsprotokollierung

Sie können die Zugriffsprotokolle für Ihren MediaPackage Kanal oder Ihre Paketgruppe jederzeit deaktivieren.

So deaktivieren Sie die Zugriffsprotokollierung mithilfe der Konsole
  1. Öffnen Sie die MediaPackage Konsole unter https://console.aws.amazon.com/mediapackage/.

    Wählen Sie Ihren Kanal oder Ihre Paketgruppe aus.

  2. Wählen Sie Edit (Bearbeiten) aus.

  3. Deaktivieren Sie im Abschnitt Zugriffsprotokollierung die Option Protokollierung eingehender Zugriffe, Protokollierung ausgehender Zugriffe oder beides.

  4. Wählen Sie Änderungen speichern aus.

Um die Zugriffsprotokollierung für einen Kanal zu deaktivieren, verwenden Sie den AWS CLI

Verwenden Sie den configure-logs Befehl, um die Zugriffsprotokollierung zu deaktivieren. Wenn einer oder mehrere der Zugriffsprotokollparameter nicht mit dem configure-logs Befehl deklariert wurden, sind die entsprechenden Zugriffsprotokolle deaktiviert. Im folgenden Befehl werden beispielsweise Ausgangszugriffsprotokolle für einen Kanal aktiviert und Eingangszugriffsprotokolle deaktiviert:

aws mediapackage configure-logs --id channel-name --egress-access-logs {}

Dieser Befehl hat keinen Rückgabewert.

Um die Zugriffsprotokollierung für eine Paketgruppe zu deaktivieren, verwenden Sie den AWS CLI

Verwenden Sie den configure-logs Befehl, um die Zugriffsprotokollierung zu deaktivieren. Wenn einer oder mehrere der Zugriffsprotokollparameter nicht mit dem configure-logs Befehl deklariert wurden, sind die entsprechenden Zugriffsprotokolle deaktiviert. Im folgenden Befehl ist beispielsweise Folgendes configure-logs nicht enthalten, --egress-access-logs sodass Ausgangsprotokolle deaktiviert sind:

aws mediapackage configure-logs --id package-group-name

Dieser Befehl hat keinen Rückgabewert.

Zugriffsprotokollformat

Die Zugriffsprotokolldateien bestehen aus einer Reihe von JSON-formatierten Protokolldatensätzen, wobei jeder Protokolldatensatz eine Anfrage darstellt. Die Reihenfolge der Felder innerhalb des Protokolls kann variieren. Im Folgenden finden Sie ein Beispiel für ein Kanalausgangszugriffsprotokoll:

{ "timestamp": "2020-07-13T18:59:56.293656Z", "clientIp": "192.0.2.0/24", "processingTime": 0.445, "statusCode": "200", "receivedBytes": 468, "sentBytes": 2587370, "method": "GET", "request": "https://aaabbbcccdddee.mediapackage.us-east-1.amazonaws.com:443/out/v1/75ee4f20e5df43e5821e5cb17ea19238/hls_7_145095.ts?m=1538005779", "protocol": "HTTP/1.1", "userAgent": "sabr/3.0 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Safari/528.17", "account": "111122223333", "channelId": "my_channel", "channelArn": "arn:aws:mediapackage:us-west-2:111122223333:channels/ExampleChannelID", "domainName": "aaabbbcccdddee.mediapackage.us-east-1.amazonaws.com", "requestId": "aaaAAA111bbbBBB222cccCCC333dddDDD", "endpointId": "my_endpoint", "endpointArn": "arn:aws:mediapackage:us-west-2:111122223333:origin_endpoints/ExampleEndpointID" }

In der folgenden Liste werden die Protokolldatensatzfelder der Reihe nach beschrieben:

timestamp

Die Tageszeit, zu der die Anfrage empfangen wurde. Der Wert ist ISO-8601-Datum und -Uhrzeit und basiert auf der Systemuhr des Hosts, der die Anfrage verarbeitet.

clientIp

Die IP-Adresse des anfragenden Clients.

Dauer der Bearbeitung

Die Anzahl der Sekunden, die MediaPackage für die Bearbeitung Ihrer Anfrage aufgewendet wurden. Dieser Wert wird ab der Zeit gemessen, zu der das letzte Byte Ihrer Anforderung empfangen wurde, bis zu der Zeit, zu der das erste Byte der Antwort gesendet wurde.

statusCode

Der numerische HTTP-Statuscode der Antwort.

Empfangene Bytes

Die Anzahl der Bytes im Anforderungstext, die der MediaPackage-Server empfängt.

Gesendete Bytes

Die Anzahl der Byte im Antworttext, den der MediaPackage Server sendet. Dieser Wert entspricht häufig dem Wert des Content-Length Headers, der in Serverantworten enthalten ist.

Methode

Die HTTP-Anforderungsmethode, die für die Anfrage verwendet wurde: DELETE, GET, HEAD, OPTIONS, PATCH, POST oder PUT.

Anfrage

Die Anfrage-URL.

Protokoll

Der für die Anfrage verwendete Protokolltyp, z. B. HTTP.

UserAgent

Eine User-Agent-Zeichenfolge, die den Client identifiziert, von dem die Anfrage stammt, in doppelte Anführungszeichen eingeschlossen. Die Zeichenfolge besteht aus einer oder mehreren Produktkennungen (Produkt/Version). Wenn die Zeichenfolge länger als 8 KB ist, wird sie gekürzt.

Konto

Die AWS-Konto-ID des Kontos, das zum Erstellen der Anfrage verwendet wurde.

channelId

Die ID des Kanals, der die Anfrage erhalten hat.

Kanal ARN

Der Amazon-Ressourcenname (ARN) des Kanals, der die Anfrage erhalten hat.

Domainname

Die vom Client während des TLS-Handshakes angegebene Domäne zur Angabe des Servernamens, eingeschlossen in doppelte Anführungszeichen. Dieser Wert wird als - festgelegt, wenn der Client SNI nicht unterstützt oder die Domäne keinem Zertifikat entspricht und das Standardzertifikat dem Client präsentiert wird.

requestId

Eine Zeichenfolge, die von generiert wird MediaPackage , um jede Anfrage eindeutig zu identifizieren.

Endpoint-ID

Die ID des Endpunkts, der die Anfrage erhalten hat.

EndpointArn

Der Amazon-Ressourcenname (ARN) des Endpunkts, der die Anfrage erhalten hat.

Die Reihenfolge der Felder in der Protokolldatei kann variieren.

Lesen Sie die Zugriffsprotokolle

MediaPackage schreibt die Zugriffsprotokolle in Amazon CloudWatch Logs. Es fallen typische CloudWatch Logs-Gebühren an. Verwenden Sie CloudWatch Logs Insights, um die Zugriffsprotokolle zu lesen. Informationen zur Verwendung von CloudWatch Logs Insights finden Sie unter Analysieren von Protokolldaten mit CloudWatch Logs Insights im AWS CloudWatch Logs-Benutzerhandbuch.

Anmerkung

Es kann einige Minuten dauern, bis die Zugriffsprotokolle angezeigt werden CloudWatch. Wenn Sie die Protokolle nicht sehen, warten Sie ein paar Minuten und versuchen Sie es erneut.

Beispiele

Dieser Abschnitt enthält Beispielabfragen, mit denen Sie MediaPackage Debug-Protokolldaten lesen können.

Beispiel Die Antworten auf den HTTP-Statuscode für einen Kanal anzeigen.

Verwenden Sie diese Abfrage, um die Antworten nach HTTP-Statuscode für einen Kanal anzuzeigen. Sie können diese Option verwenden, um Antworten auf HTTP-Fehlercodes anzuzeigen und so Probleme zu beheben.

fields @timestamp, @message | filter channelId like 'my-channel' | stats count() by statusCode
Beispiel Ermittelt die Anzahl der Anfragen pro Endpunkt auf einem Kanal.
fields @timestamp, @message | filter channelId like 'my-channel' | stats count() by endpointId
Beispiel Statuscodes pro Asset anzeigen.
fields @timestamp, @message | filter assetArnlike 'my-asset-id' | stats count() by statusCode
Beispiel Ermitteln Sie die P99-Antwortzeiten für eine Verpackungskonfiguration im Laufe der Zeit
fields @timestamp, @message | filter packagingConfigArn like 'my-dash-config' | stats pct(processingTime, 99) by bin(5m)