日誌傳送 - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

日誌傳送

注意

Valkey 7.x 和更新版本支援慢速日誌,以及使用引擎 6.0 版更新版本的 Redis OSS快取叢集和複寫群組。

Valkey 7.x 和 Redis OSS快取叢集和使用引擎 6.2 版以後的複寫群組支援引擎日誌。

日誌交付可讓您將 SLOWLOG引擎日誌串流至兩個目的地之一:

  • Amazon Data Firehose

  • Amazon CloudWatch Logs

當您使用 建立或修改叢集時,您可以啟用和設定日誌交付 ElastiCache APIs。每個日誌項目都會以兩種格式之一傳送至指定的目的地: JSONTEXT

定期從引擎擷取固定數量的慢速日誌項目。根據為引擎參數slowlog-max-len 指定的值,可能無法將其他慢速日誌項目傳送至目的地。

您可以隨時使用 AWS 主控台或其中一個修改 或 APIs,選擇變更交付組態modify-cache-cluster或停用日誌交付modify-replication-group

您必須設定 apply-immediately 參數以進行所有日誌傳送修改。

注意

啟用日誌交付時,即使日誌直接交付至 Amazon Data Firehose,也會收取 Amazon CloudWatch Logs 費用。如需詳細資訊,請參閱 Amazon CloudWatch Pricing 中的已終止日誌一節。

慢速日誌項目的內容

慢速日誌包含下列資訊:

  • CacheClusterId – 快取叢集的 ID

  • CacheNodeId – 快取節點的 ID

  • Id - 每個慢速日誌項目的唯一漸進式識別碼

  • Timestamp - 處理記錄命令的 Unix 時間戳記

  • Duration - 執行所需的時間長度,以微秒為單位

  • Command - 用戶端使用的命令。例如,set foo bar其中 foo是 金鑰,而 bar是 value。 會使用 ElastiCache 取代實際的金鑰名稱和值(2 more arguments),以避免敏感資料暴露。

  • ClientAddress – 用戶端 IP 地址和連接埠

  • ClientName – 如果透過 CLIENT SETNAME命令設定 用戶端名稱

引擎日誌項目的內容

ElastiCache 引擎日誌包含下列資訊:

  • CacheClusterId – 快取叢集的 ID

  • CacheNodeId – 快取節點的 ID

  • 日誌層級 – LogLevel 可以下列其中一項:VERBOSE("-")NOTICE("*")WARNING("#")

  • 時間 – 記錄訊息UTC的時間。時間格式如下:"DD MMM YYYY hh:mm:ss.ms UTC"

  • Role – 從中發出日誌之節點的角色。它可以是下列其中一項:主要程式的「M」、複本的「S」、在 RDB/AOF 或前哨程式的「X」上工作的寫入器子程序的「C」。

  • 訊息 – 引擎日誌訊息。

設定記錄功能的許可

您需要在IAM使用者/角色政策中包含下列IAM許可:

  • logs:CreateLogDelivery

  • logs:UpdateLogDelivery

  • logs:DeleteLogDelivery

  • logs:GetLogDelivery

  • logs:ListLogDeliveries

如需許可和政策的詳細資訊,請參閱存取管理概觀:許可與政策

日誌類型和日誌格式規格

慢速日誌

慢速日誌同時支援 JSON和 TEXT

下列顯示JSON格式範例:

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

下列顯示TEXT格式範例:

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

引擎日誌

引擎日誌同時支援 JSON和 TEXT

下列顯示JSON格式範例:

{ "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" }

下列顯示TEXT格式範例:

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.