Protokollzustellung - Amazon ElastiCache

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.

Protokollzustellung

Anmerkung

Slow Log wird für Valkey 7.x und höher sowie für OSS Redis-Cache-Cluster und Replikationsgruppen ab der Engine-Version 6.0 unterstützt.

Engine Log wird für Valkey 7.x- und OSS Redis-Cache-Cluster und Replikationsgruppen ab Engine-Version 6.2 unterstützt.

Mit der Protokollzustellung können Sie SLOWLOGoder Engine Log an eines von zwei Zielen streamen:

  • Amazon Data Firehose

  • CloudWatch Amazon-Protokolle

Sie aktivieren und konfigurieren die Protokollzustellung, wenn Sie einen Cluster erstellen oder ändern mit ElastiCache APIs. Jeder Protokolleintrag wird in einem von zwei Formaten an das angegebene Ziel übermittelt: JSONoder TEXT.

Eine feste Anzahl von Slow-Protokolleinträgen wird regelmäßig von der Engine abgerufen. Je nach dem für den Engine-Parameter slowlog-max-len angegebenen Wert werden zusätzliche langsame Protokolleinträge möglicherweise nicht an das Ziel übermittelt.

Sie können die Versandkonfigurationen ändern oder die Protokollzustellung jederzeit deaktivieren. Verwenden Sie dazu die AWS Konsole oder eine der Optionen zum ÄndernAPIs, entweder modify-cache-clusteroder modify-replication-group.

Sie müssen den apply-immediately-Parameter für alle Änderungen der Protokollzustellung setzen.

Anmerkung

Amazon CloudWatch Logs-Gebühren fallen an, wenn die Protokollzustellung aktiviert ist, auch wenn Protokolle direkt an Amazon Data Firehose geliefert werden. Weitere Informationen finden Sie im Abschnitt Verkaufte Logs in der CloudWatch Amazon-Preisübersicht.

Inhalt eines langsamen Protokolleintrags

Das Slow Log enthält die folgenden Informationen:

  • CacheClusterId— Die ID des Cache-Clusters

  • CacheNodeId— Die ID des Cache-Knotens

  • Id – Eine eindeutige progressive Kennung für jeden langsamen Protokoll-Eintrag

  • Timestamp – Der Unix-Zeitstempel, zu dem der protokollierte Befehl verarbeitet wurde

  • Duration (Dauer) – Die für die Ausführung benötigte Zeit in Mikrosekunden

  • Command – Der vom Client verwendete Befehl. Zum Beispiel, set foo bar wo foo ist der Schlüssel und wo bar ist der Wert. ElastiCache ersetzt den tatsächlichen Schlüsselnamen und -wert durch, (2 more arguments) um zu verhindern, dass vertrauliche Daten offengelegt werden.

  • ClientAddress— IP-Adresse und Port des Clients

  • ClientName— Clientname, falls er über den CLIENT SETNAME Befehl gesetzt wurde

Inhalte eines Engine-Protokolleintrags

Das ElastiCache Engine-Protokoll enthält die folgenden Informationen:

  • CacheClusterId— Die ID des Cache-Clusters

  • CacheNodeId— Die ID des Cache-Knotens

  • Protokollebene — LogLevel kann eine der folgenden Optionen sein:VERBOSE("-"),NOTICE("*"),WARNING("#").

  • Zeit — Die UTC Uhrzeit der protokollierten Nachricht. Die Zeit ist in folgendem Format angegeben: "DD MMM YYYY hh:mm:ss.ms UTC"

  • Rolle – Rolle des Knotens, von dem das Protokoll ausgegeben wird. Dabei kann es sich um einen der folgenden Werte handeln: „M“ für Primär, „S“ für Replikat, „C“ für einen untergeordneten Writer-Prozess, der anRDB/arbeitet, AOF oder „X“ für Sentinel.

  • Nachricht — Engine-Log-Meldung.

Berechtigungen zum Konfigurieren der Protokollierung

Sie müssen die folgenden IAM Berechtigungen in Ihre IAM Benutzer-/Rollenrichtlinie aufnehmen:

  • logs:CreateLogDelivery

  • logs:UpdateLogDelivery

  • logs:DeleteLogDelivery

  • logs:GetLogDelivery

  • logs:ListLogDeliveries

Weitere Informationen finden Sie unter Übersicht über die Zugriffsverwaltung: Berechtigungen und Richtlinien.

Spezifikationen des Protokolltyps und des Protokollformats

Slow-Protokoll

Slow Log unterstützt sowohl als JSON TEXT

Im Folgenden wird ein JSON Formatbeispiel gezeigt:

{ "CacheClusterId": "logslowxxxxmsxj", "CacheNodeId": "0001", "Id": 296, "Timestamp": 1605631822, "Duration (us)": 0, "Command": "GET ... (1 more arguments)", "ClientAddress": "192.168.12.104:55452", "ClientName": "logslowxxxxmsxj##" }

Im Folgenden wird ein TEXT Formatbeispiel gezeigt:

logslowxxxxmsxj,0001,1605631822,30,GET ... (1 more arguments),192.168.12.104:55452,logslowxxxxmsxj##

Engine-Protokoll

Das Engine-Protokoll unterstützt JSON sowohl als TEXT

Im Folgenden wird ein JSON Formatbeispiel gezeigt:

{ "CacheClusterId": "xxxxxxxxxzy-engine-log-test", "CacheNodeId": "0001", "LogLevel": "VERBOSE", "Role": "M", "Time": "12 Nov 2020 01:28:57.994 UTC", "Message": "Replica is waiting for next BGSAVE before synchronizing with the primary. Check back later" }

Im Folgenden wird ein TEXT Formatbeispiel gezeigt:

xxxxxxxxxxxzy-engine-log-test/0001:M 29 Oct 2020 20:12:20.499 UTC * A slow-running Lua script detected that is still in execution after 10000 milliseconds.