요약OTel Redis 수신기를 사용해 ClickStack에서 Redis 성능 메트릭을 모니터링합니다. 데모 데이터셋과 사전 구축된 대시보드도 제공합니다.
기존 Redis와의 통합
사전 요구 사항
- 실행 중인 ClickStack 인스턴스
- 기존 Redis 설치본(버전 3.0 이상)
- ClickStack에서 Redis로의 네트워크 접근(기본 포트 6379)
- 인증이 enabled된 경우 Redis 비밀번호
1
Redis 연결 확인
먼저 Redis에 연결할 수 있는지, 그리고 INFO 명령이 정상적으로 작동하는지 확인합니다:- 로컬 설치:
localhost:6379 - Docker: 컨테이너 이름 또는 서비스 이름을 사용합니다(예:
redis:6379) - 원격:
<redis-host>:6379
2
사용자 지정 OTel collector 구성 만들기
ClickStack에서는 사용자 지정 설정 파일을 마운트하고 환경 변수를 설정해 기본 OpenTelemetry collector 구성을 확장할 수 있습니다. 사용자 지정 구성은 OpAMP를 통해 HyperDX가 관리하는 기본 구성과 머지됩니다.다음 구성으로redis-metrics.yaml 파일을 생성하십시오:redis-metrics.yaml
localhost:6379의 Redis에 연결합니다(환경에 맞게 엔드포인트를 조정하세요)- 10초마다 메트릭을 수집합니다
- 주요 성능 메트릭(명령, 클라이언트, 메모리, keyspace 통계)을 수집합니다
- OpenTelemetry semantic conventions에 따라 필수
service.name리소스 속성을 설정합니다 - 전용 파이프라인을 통해 메트릭을 ClickHouse exporter로 전달합니다
redis.commands.processed- 초당 처리된 명령 수redis.clients.connected- 연결된 클라이언트 수redis.clients.blocked- 블로킹 호출로 대기 중인 클라이언트 수redis.memory.used- Redis가 사용하는 메모리(바이트)redis.memory.peak- 최대 메모리 사용량redis.keyspace.hits- 성공한 키 조회 수redis.keyspace.misses- 실패한 키 조회 수(캐시 적중률 계산용)redis.keys.expired- 만료된 키 수redis.keys.evicted- 메모리 부족으로 인해 제거된 키 수redis.connections.received- 수신된 총 연결 수redis.connections.rejected- 거부된 연결 수
- 사용자 지정 구성에서는 새 receivers, processors, pipelines만 정의합니다
memory_limiter,batchprocessors와clickhouseexporter는 기본 ClickStack 구성에 이미 정의되어 있으므로 이름으로만 참조하면 됩니다resourceprocessor는 OpenTelemetry semantic conventions에 따라 필수service.name속성을 설정합니다- authentication을 사용하는 운영 환경에서는 비밀번호를 환경 변수에 저장하십시오:
${env:REDIS_PASSWORD} - 필요에 따라
collection_interval을 조정하세요(기본값은 10초이며, 값을 낮출수록 데이터 양이 증가합니다) - Redis 인스턴스가 여러 개인 경우 구분할 수 있도록
service.name을 사용자 지정하세요(예:"redis-cache","redis-sessions")
3
ClickStack가 사용자 지정 구성을 로드하도록 설정
기존 ClickStack 배포에서 사용자 지정 collector 구성을 활성화하려면 다음 작업을 수행해야 합니다:- 사용자 지정 구성 파일을
/etc/otelcol-contrib/custom.config.yaml에 마운트합니다 - 환경 변수
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml를 설정합니다 - ClickStack와 Redis 간 네트워크 연결이 되는지 확인합니다
옵션 1: Docker Compose
ClickStack 배포 구성을 업데이트합니다:옵션 2: Docker run (올인원 이미지)
docker run으로 올인원 이미지를 실행하는 경우:4
HyperDX에서 메트릭 확인
구성이 완료되면 HyperDX에 로그인한 다음 메트릭이 정상적으로 수집되는지 확인합니다:- Metrics 탐색기로 이동합니다
redis.로 시작하는 메트릭을 검색합니다(예:redis.commands.processed,redis.memory.used)- 구성한 수집 인터벌에 따라 메트릭 데이터 포인트가 표시되어야 합니다
데모 데이터셋
1
샘플 메트릭 데이터셋 다운로드
미리 생성된 메트릭 파일을 다운로드합니다(실제와 유사한 패턴이 포함된 24시간 분량의 Redis Metrics):- 캐시 워밍 이벤트(06:00) - 적중률이 30%에서 80%까지 상승
- 트래픽 급증(14:30-14:45) - 연결 수 증가로 인한 부하를 동반한 5배 트래픽 급증
- 메모리 압박(20:00) - 키 eviction이 발생하고 캐시 성능이 저하됨
- 일일 트래픽 패턴 - 업무 시간대 피크, 저녁 시간대 감소, 불규칙한 미세 스파이크
2
3
4
HyperDX에서 메트릭 확인
로드가 완료되면 메트릭을 가장 빠르게 확인하는 방법은 사전 구축된 대시보드를 사용하는 것입니다.Dashboards and visualization 섹션으로 이동하여 대시보드를 가져오고 모든 Redis Metrics를 한 번에 확인하십시오.데모 데이터셋의 시간 범위는 2025-10-20 00:00:00부터 2025-10-21 05:00:00까지입니다. HyperDX의 시간 범위도 이 기간에 맞추십시오.다음 패턴을 확인해 보십시오:
- 06:00 - 캐시 워밍(낮은 적중률이 상승)
- 14:30-14:45 - 트래픽 급증(클라이언트 연결 수 증가, 일부 요청 거부)
- 20:00 - 메모리 압박(키 eviction 시작)
대시보드 및 시각화
1
대시보드 구성을
2
사전 구축된 대시보드 가져오기
- HyperDX를 열고 Dashboards 섹션으로 이동합니다
- 오른쪽 상단의 줄임표 메뉴에서 Import Dashboard를 클릭합니다
redis-metrics-dashboard.json파일을 업로드하고 Finish Import를 클릭합니다
3
대시보드 보기
대시보드는 모든 시각화가 사전 구성된 상태로 생성됩니다:데모 데이터세트의 경우 시간 범위를 **2025-10-20 05:00:00 - 2025-10-21 05:00:00 (UTC)**로 설정하십시오(로컬 시간대에 맞게 조정). 가져온 대시보드에는 기본적으로 시간 범위가 지정되어 있지 않습니다.
문제 해결
사용자 지정 구성이 로드되지 않는 경우
CUSTOM_OTELCOL_CONFIG_FILE이 올바르게 설정되었는지 확인하세요:
/etc/otelcol-contrib/custom.config.yaml에 마운트되었는지 확인하세요:
HyperDX에 메트릭이 표시되지 않는 경우
인증 오류
네트워크 연결 문제
docker run 명령에서 두 컨테이너가 동일한 네트워크를 사용하도록 설정하십시오.
다음 단계
- 중요한 메트릭(메모리 사용량 임계값, 연결 제한, 캐시 적중률 저하)에 대한 알림을 설정합니다
- 특정 사용 사례(복제 지연, 영속성 성능)에 맞는 추가 대시보드를 생성합니다
- 서로 다른 엔드포인트와 서비스 이름을 사용하도록 수신기 구성을 복제하여 여러 Redis 인스턴스를 모니터링합니다