요약OTel
filelog 수신기를 사용해 Redis 서버 로그를 ClickStack에서 수집하고 시각화합니다. 데모 데이터세트와 사전 구축된 대시보드가 포함되어 있습니다.기존 Redis와의 통합
사전 요구 사항
- 실행 중인 ClickStack 인스턴스
- 기존 Redis 설치(버전 3.0 이상)
- Redis 로그 파일에 접근할 수 있는 권한
Redis 로깅 구성 확인
먼저 Redis의 로깅 구성을 확인하십시오. Redis에 연결한 후 로그 파일의 위치를 확인하십시오:- Linux (apt/yum):
/var/log/redis/redis-server.log - macOS (Homebrew):
/usr/local/var/log/redis.log - Docker: 일반적으로 stdout에 기록되지만,
/data/redis.log에 기록하도록 구성할 수 있습니다
redis.conf를 수정하여 파일에 기록되도록 구성하십시오:사용자 지정 OTel collector 구성 생성
ClickStack에서는 사용자 지정 설정 파일을 마운트하고 환경 변수를 설정하여 기본 OpenTelemetry Collector 구성을 확장할 수 있습니다. 사용자 지정 구성은 OpAMP를 통해 HyperDX가 관리하는 기본 구성과 머지됩니다.다음 구성으로redis-monitoring.yaml 파일을 생성하세요:- Redis 로그를 표준 위치에서 읽습니다
- regex를 사용해 Redis 로그 포맷을 파싱하고 구조화된 필드(
pid,role,timestamp,log_level,message)를 추출합니다 - HyperDX에서 필터링할 수 있도록
source: redis속성을 추가합니다 - 전용 파이프라인을 통해 로그를 ClickHouse exporter로 전달합니다
- 사용자 지정 구성에서는 새 수신기와 파이프라인만 정의합니다
- processor(
memory_limiter,transform,batch)와 exporter(clickhouse)는 기본 ClickStack 구성에 이미 정의되어 있으므로 이름으로 참조만 하면 됩니다 time_parser연산자는 Redis 로그에서 타임스탬프를 추출하여 원래 로그 시점을 유지합니다- 이 구성은 collector가 시작될 때 기존 로그를 모두 읽기 위해
start_at: beginning을 사용하므로 로그를 즉시 확인할 수 있습니다. 운영 환경에서 collector가 재시작될 때 로그를 다시 수집하지 않으려면start_at: end로 변경하십시오.
사용자 지정 구성을 로드하도록 ClickStack을 구성
기존 ClickStack 배포에서 사용자 지정 collector 구성을 활성화하려면 다음 작업을 수행해야 합니다.- 사용자 지정 구성 파일을
/etc/otelcol-contrib/custom.config.yaml에 마운트합니다 - 환경 변수
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml를 설정합니다 - collector가 읽을 수 있도록 Redis 로그 디렉터리를 마운트합니다
옵션 1: Docker Compose
ClickStack 배포 구성을 업데이트합니다:옵션 2: Docker Run(올인원 이미지)
docker로 올인원 이미지를 사용하는 경우 다음을 실행하세요:ClickStack collector에 Redis 로그 파일을 읽을 수 있는 적절한 권한이 부여되어 있는지 확인하십시오. 프로덕션 환경에서는 읽기 전용 마운트(
:ro)를 사용하고 최소 권한 원칙을 준수하십시오.HyperDX에서 logs 확인하기
구성이 완료되면 HyperDX에 로그인한 후 logs가 정상적으로 유입되는지 확인합니다:데모 데이터세트
데모 구성으로 ClickStack 실행
데모 로그와 구성으로 ClickStack을 실행하세요.이 방식은 로그 파일을 컨테이너에 직접 마운트합니다. 이는 고정된 데모 데이터를 테스트하기 위한 것입니다.
HyperDX에서 로그 확인
ClickStack이 실행되면 다음을 수행하세요.- HyperDX를 열고 계정에 로그인하세요(먼저 계정을 만들어야 할 수 있습니다)
- Search view로 이동하여 source를
Logs로 설정하세요 - 시간 범위를 2025-10-26 10:00:00 - 2025-10-29 10:00:00로 설정하세요
시간대 표시HyperDX는 브라우저의 로컬 시간대로 timestamp를 표시합니다. 데모 데이터는 2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC) 기간에 해당합니다. 넓은 시간 범위를 설정하면 위치와 관계없이 데모 로그를 확인할 수 있습니다. 로그가 표시되면 더 명확한 시각화를 위해 범위를 24시간으로 좁힐 수 있습니다.
대시보드 및 시각화
할 대시보드 구성 파일
사전 구축된 대시보드 가져오기
- HyperDX를 열고 Dashboards 섹션으로 이동합니다.
- 오른쪽 상단의 줄임표 메뉴에서 “Import Dashboard”를 클릭합니다.
- redis-logs-dashboard.json 파일을 업로드한 다음 “Finish Import”를 클릭합니다.
모든 시각화가 사전 구성된 상태로 대시보드가 생성됩니다
데모 데이터세트의 경우 시간 범위를 **2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC)**로 설정하십시오(로컬 시간대에 맞게 조정). 가져온 대시보드에는 기본적으로 시간 범위가 지정되어 있지 않습니다.
문제 해결
사용자 지정 구성이 로드되지 않는 경우
HyperDX에 로그가 표시되지 않는 경우
로그가 올바르게 파싱되지 않는 경우
regex_parser 연산자의 정규식 패턴을 조정해야 할 수 있습니다. 표준 포맷은 다음과 같습니다.
pid:role timestamp level message- 예시:
12345:M 28 Oct 2024 14:23:45.123 * Server started