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.
Themen
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
-
Öffnen Sie die MediaPackage Konsole unter https://console.aws.amazon.com/mediapackage/
. -
Wähle deinen Kanal aus.
-
Gehen Sie im Abschnitt „Zugriffsprotokolle konfigurieren“ wie folgt vor:
-
Wählen Sie Logs für eingehenden Zugriff aktivieren oder Logs für ausgehenden Zugriff aktivieren oder beides aus.
-
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
-
Öffnen Sie die MediaPackage Konsole unter https://console.aws.amazon.com/mediapackage/
. -
Wählen Sie im Navigationsbereich die Option Verpackungsgruppen aus.
-
Wählen Sie Ihre Verpackungsgruppe aus.
-
Wählen Sie in der Navigationsleiste Bearbeiten aus.
-
Wählen Sie im Abschnitt Zugriffsprotokollierung die Option Ausgangszugriffsprotokolle aktivieren aus.
-
Sie können einen benutzerdefinierten Namen für die CloudWatch Protokollgruppe angeben. Wenn dieses Feld leer gelassen wird, wird die Standardgruppe verwendet.
-
-
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
-
Öffnen Sie die MediaPackage Konsole unter https://console.aws.amazon.com/mediapackage/
. Wählen Sie Ihren Kanal oder Ihre Paketgruppe aus.
-
Wählen Sie Edit (Bearbeiten) aus.
-
Deaktivieren Sie im Abschnitt Zugriffsprotokollierung die Option Protokollierung eingehender Zugriffe, Protokollierung ausgehender Zugriffe oder beides.
-
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() byendpointId
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)