로그 전달 - Amazon ElastiCache

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

로그 전달

참고

느린 로그는 Valkey 7.x 이상 및 Redis OSS 캐시 클러스터 및 복제 그룹에서 엔진 버전 6.0 이상을 사용하여 지원됩니다.

엔진 로그는 엔진 버전 6.2 이상을 사용하는 Valkey 7.x 및 Redis OSS 캐시 클러스터 및 복제 그룹에 대해 지원됩니다.

로그 전송을 사용하면 두 대상 중 하나로 SLOWLOG 또는 엔진 로그를 스트리밍할 수 있습니다.

  • Amazon Data Firehose

  • Amazon CloudWatch Logs

를 사용하여 클러스터를 생성하거나 수정할 때 로그 전송을 활성화하고 구성합니다 ElastiCache APIs. 각 로그 항목은 JSON 또는 두 가지 형식 중 하나로 지정된 대상으로 전달됩니다TEXT.

고정된 수의 느린 로그 항목이 엔진에서 주기적으로 검색됩니다. 엔진 파라미터 slowlog-max-len에 지정된 값에 따라, 추가적인 슬로우 로그 항목이 대상에 전달되지 않을 수 있습니다.

AWS 콘솔 또는 수정 중 하나를 사용하여 언제든지 전송 구성을 변경하거나 로그 전송을 비활성화하도록 선택할 수 있습니다APIsmodify-cache-clustermodify-replication-group.

모든 로그 전달 수정에서 apply-immediately 파라미터를 설정해야 합니다.

참고

Amazon CloudWatch Data Firehose로 로그가 직접 전송되더라도 로그 전송이 활성화되면 Amazon Logs 요금이 적용됩니다. 자세한 내용은 Amazon CloudWatch 요금의 Vended Logs 섹션을 참조하세요.

슬로우 로그 항목의 내용

느린 로그에는 다음 정보가 포함되어 있습니다.

  • CacheClusterId – 캐시 클러스터의 ID

  • CacheNodeId - 캐시 노드의 ID

  • Id - 모든 슬로우 로그 항목에 대한 고유한 프로그레시브 식별자입니다.

  • Timestamp – 로그에 기록된 명령이 처리된 시간의 Unix 타임스탬프입니다.

  • Duration – 실행에 걸린 시간(마이크로초)입니다.

  • Command – 클라이언트에서 사용된 명령입니다. 예를 들어, set foo bar 여기서 foo 는 키이고 bar는 값입니다. 는 민감한 데이터가 노출되지 않도록 실제 키 이름과 값을 (2 more arguments)로 ElastiCache 대체합니다.

  • ClientAddress – 클라이언트 IP 주소 및 포트

  • ClientNameCLIENT SETNAME 명령을 통해 설정된 경우 클라이언트 이름

엔진 로그 항목의 내용

ElastiCache 엔진 로그에는 다음 정보가 포함되어 있습니다.

  • CacheClusterId - 캐시 클러스터의 ID

  • CacheNodeId - 캐시 노드의 ID

  • 로그 수준 - VERBOSE("-"), , 중 하나를 LogLevel 수행할 수 있습니다NOTICE("*")WARNING("#").

  • 시간 - 로깅된 메시지의 UTC 시간입니다. 시간은 "DD MMM YYYY hh:mm:ss.ms UTC"와 같은 형식입니다.

  • 역할(Role) - 로그가 방출되는 노드의 역할입니다. 기본 의 경우 “M”, 복제본의 경우 “S”, RDB에서AOF 작업하는 라이터 하위 프로세스의 경우 “C”, 감시의 경우 “X” 중 하나일 수 있습니다.

  • 메시지 - 엔진 로그 메시지입니다.

로깅을 구성하기 위한 권한

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.