기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
로그 전달
참고
Redis 슬로우 로그는 엔진 버전 6.0 이상을 사용하는 Redis 캐시 클러스터 및 복제 그룹에 대해 지원됩니다.
Redis 엔진 로그는 엔진 버전 6.2 이상을 사용하는 Redis 캐시 클러스터 및 복제 그룹에 대해 지원됩니다.
로그 전달을 통해 Redis SLOWLOG
Amazon Data Firehose
아마존 CloudWatch 로그
ElastiCache API를 사용하여 클러스터를 생성하거나 수정할 때 로그 전송을 활성화하고 구성합니다. 각 로그 항목은 두 가지 형식(JSON 또는 TEXT) 중 하나로 지정된 대상에 전달됩니다.
고정된 수의 슬로우 로그 항목이 Redis 엔진에서 주기적으로 검색됩니다. 엔진 파라미터 slowlog-max-len
에 지정된 값에 따라, 추가적인 슬로우 로그 항목이 대상에 전달되지 않을 수 있습니다.
AWS 콘솔이나 수정 API 중 하나 (또는) 를 사용하여 언제든지 전송 구성을 변경하거나 로그 전달을 비활성화하도록 선택할 수 있습니다. modify-cache-clustermodify-replication-group
모든 로그 전달 수정에서 apply-immediately
파라미터를 설정해야 합니다.
참고
CloudWatch 로그 전송이 활성화된 경우, Amazon Data Firehose로 로그가 직접 전송되는 경우에도 Amazon Logs 요금이 부과됩니다. 자세한 내용은 Amazon CloudWatch 요금의
슬로우 로그 항목의 내용
ElastiCache Redis용 슬로우 로그에는 다음 정보가 포함됩니다.
CacheClusterId— 캐시 클러스터의 ID
CacheNodeId— 캐시 노드의 ID
Id - 모든 슬로우 로그 항목에 대한 고유한 프로그레시브 식별자입니다.
Timestamp – 로그에 기록된 명령이 처리된 시간의 Unix 타임스탬프입니다.
Duration – 실행에 걸린 시간(마이크로초)입니다.
Command – 클라이언트에서 사용된 명령입니다. 예를 들어,
set foo bar
여기서foo
는 키이고bar
는 값입니다. ElastiCache for Redis는 민감한 데이터가 노출되지 않도록 실제 키 이름과 값을(2 more arguments)
로 대체합니다.ClientAddress— 클라이언트 IP 주소 및 포트
ClientName—
CLIENT SETNAME
명령을 통해 설정한 경우 클라이언트 이름
엔진 로그 항목의 내용
Redis ElastiCache 엔진용 로그에는 다음 정보가 포함됩니다.
CacheClusterId— 캐시 클러스터의 ID
CacheNodeId— 캐시 노드의 ID
로그 수준 — 다음 중 하나일 LogLevel 수 있습니다.
VERBOSE("-")
,NOTICE("*")
,WARNING("#")
.시간(Time) - 기록된 메시지의 UTC 시간입니다. 시간은
"DD MMM YYYY hh:mm:ss.ms UTC"
와 같은 형식입니다.역할(Role) - 로그가 방출되는 노드의 역할입니다. “M”(프라이머리), “S”(복제본), “C”(RDB/AOF에서 작업 중인 작성자 하위 프로세스), “X”(센티넬) 중 하나일 수 있습니다.
메시지(Message) - Redis 엔진 로그 메시지입니다.
로깅을 구성하기 위한 권한
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.