Redis

Redis는 오픈소스 기반의 고급 키-값 저장소입니다. 값에 문자열, 해시, 목록, 집합, 정렬된 집합이 포함되므로 데이터 구조 서버라고도 부릅니다. 자세한 내용은 redis.io를 참조하세요.

기본 요건

Redis 원격 분석을 수집하고 처리하려면 작업 에이전트 버전 2.7.0 이상을 설치해야 합니다.

Redis용 작업 에이전트 구성

작업 에이전트 구성 가이드에 따라 Redis 인스턴스에서 로그를 수집하는 데 필요한 요소를 추가하고 에이전트를 다시 시작합니다.

구성 예시

다음 명령어는 Redis에서 로그를 수집 및 처리하고 Linux에서 작업 에이전트를 다시 시작하도록 구성을 만듭니다.

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    redis:
      type: redis
  service:
    pipelines:
      redis:
        receivers:
        - redis
metrics:
  receivers:
    redis:
      type: redis
      address: localhost:6379
      collection_interval: 60s
      password: Strong_Password123
  service:
    pipelines:
      redis:
        receivers:
        - redis
EOF
sudo service google-cloud-ops-agent restart

로그 수집 구성

Redis에서 로그를 수집하려면 Redis로 생성되는 로그의 수신자를 만든 후 새 수신자의 파이프라인을 만들어야 합니다. redis 로그의 수신자를 구성하려면 다음 필드를 지정합니다.

필드 기본값 설명
type 값은 redis여야 합니다.
include_paths [/var/log/redis/redis-server.log, /var/log/redis_6379.log, /var/log/redis/redis.log, /var/log/redis/default.log, /var/log/redis/redis_6379.log] 각 파일을 테일링하여 읽을 파일 시스템 경로의 목록입니다. 와일드 카드(*)를 경로에 사용할 수 있습니다(예: /var/log/redis/*.log).
exclude_paths [] include_paths 중에서 일치하는 집합에서 제외할 파일 시스템 경로 패턴의 목록입니다.
wildcard_refresh_interval 60s include_paths의 와일드 카드 파일 경로가 새로 고쳐지는 간격입니다. 기간(예: 30s, 2m)으로 지정됩니다. 이 속성은 로그 파일이 기본 간격보다 빠르게 순환되는 높은 로깅 처리량에서 유용할 수 있습니다.

로깅되는 내용

Redis 로그의 LogEntry에는 다음 필드가 포함됩니다.

필드 유형 설명
jsonPayload.roleChar 문자열 Redis 역할 문자(X, C, S, M)
jsonPayload.role 문자열 Redis 역할 문자(sentinel, RDB/AOF_writing_Child, slave, master)에서 변환됨
jsonPayload.level 문자열 로그 항목 수준
jsonPayload.pid 숫자 처리 ID
jsonPayload.message 문자열 로그 메시지
severity 문자열(LogSeverity) 로그 항목 수준(번역됨)
timestamp 문자열(Timestamp) 항목이 로깅된 시간

측정항목 수집 구성

Redis에서 측정항목을 수집하려면 Redis 측정항목에 대해 수신자를 만들고 새 수신자에 대해 파이프라인을 만들어야 합니다. Redis 측정항목에 대해 수신자를 구성하려면 다음 필드를 지정합니다.

필드 기본값 설명
type 값은 redis여야 합니다.
address localhost:6379 Redis에서 노출한 URL입니다.
collection_interval 60s time.Duration 값(예: 30s 또는 5m)입니다.
password 서버 연결에 사용되는 비밀번호입니다.

모니터링 대상

다음 표에서는 작업 에이전트가 Redis 인스턴스에서 수집하는 측정항목 목록을 보여줍니다.

측정항목 유형 
종류, 유형
모니터링 리소스
라벨
workload.googleapis.com/redis.clients.blocked
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.connected
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_input_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_output_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.commands.processed
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.received
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.rejected
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.cpu.time
CUMULATIVEDOUBLE
gce_instance
state
workload.googleapis.com/redis.keys.evicted
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keys.expired
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.hits
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.misses
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.latest_fork
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.fragmentation_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/redis.memory.lua
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.peak
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.rss
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.used
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.net.input
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.net.output
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.rdb.changes_since_last_save
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.backlog_first_byte_offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.slaves.connected
GAUGEINT64
gce_instance
 

샘플 대시보드

샘플 Cloud Monitoring 대시보드를 사용하여 이 통합의 측정항목을 확인할 수 있습니다. 샘플 대시보드 설치 절차를 완료하여 샘플 라이브러리에서 Redis GCE 개요 대시보드를 가져오고 Redis 측정항목을 표시하는 차트를 확인하세요.

구성 확인

로그 탐색기 및 측정항목 탐색기를 사용하여 Redis 수신자를 올바르게 구성했는지 확인할 수 있습니다. 작업 에이전트가 로그 및 측정항목 수집을 시작하려면 1~2분 정도 걸릴 수 있습니다.

로그가 수집되었는지 확인하려면 로그 탐색기로 이동하고 다음 쿼리를 실행하여 Redis 로그를 확인합니다.

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/redis")


측정항목이 수집되었는지 확인하려면 측정항목 탐색기로 이동하고 MQL 탭에서 다음 쿼리를 실행합니다.

fetch gce_instance
| metric 'workload.googleapis.com/redis.connections.received'
| align rate(1m)
| every 1m

다음 단계

Ansible을 사용하여 작업 에이전트를 설치하고, 타사 애플리케이션을 구성하고, 샘플 대시보드를 설치하는 방법은 작업 에이전트를 설치하여 타사 애플리케이션 문제 해결 동영상을 참조하세요.