既存のRedisとのインテグレーション
このセクションでは、ClickStack OTel collectorの設定を変更し、既存のRedis環境からClickStackにログを送信するよう構成する方法を説明します。 既存環境の設定を行う前にRedisインテグレーションを試したい場合は、"デモデータセット" セクションにある事前設定済みのセットアップとサンプルデータを使ってテストできます。
前提条件
- 稼働中の ClickStack インスタンス
- 既存の Redis 環境 (バージョン 3.0 以降)
- Redis のログファイルへのアクセス
Redis のログ設定を確認する
まず、Redis のログ設定を確認します。Redis に接続し、ログファイルの保存場所を確認します。
redis-cli CONFIG GET logfileRedis の一般的なログ出力先:
- Linux (apt/yum):
/var/log/redis/redis-server.log - macOS (Homebrew):
/usr/local/var/log/redis.log - Docker: 多くの場合 stdout に出力されますが、設定により
/data/redis.logに書き込むこともできます
Redis が stdout にログを出力している場合は、redis.conf を更新してファイルに書き込むように設定します:
# Log to file instead of stdout
logfile /var/log/redis/redis-server.log
# Set log level (options: debug, verbose, notice, warning)
loglevel notice設定を変更したら、Redis を再起動します。
# For systemd
sudo systemctl restart redis
# For Docker
docker restart <redis-container>カスタム OTel collector 設定を作成する
ClickStack では、カスタム設定ファイルをマウントして環境変数を設定することで、OpenTelemetry Collector のベース設定を拡張できます。カスタム設定は、HyperDX が OpAMP 経由で管理するベース設定にマージされます。
次の内容で、redis-monitoring.yaml という名前のファイルを作成します。
receivers:
filelog/redis:
include:
- /var/log/redis/redis-server.log
start_at: beginning
operators:
- type: regex_parser
regex: '^(?P\d+):(?P\w+) (?P\d{2} \w+ \d{4} \d{2}:\d{2}:\d{2})\.\d+ (?P[.\-*#]) (?P.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%d %b %Y %H:%M:%S'
- type: add
field: attributes.source
value: "redis"
- type: add
field: resource["service.name"]
value: "redis-production"
service:
pipelines:
logs/redis:
receivers: [filelog/redis]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhouseこの構成では、次のことを行います。
- 標準の場所から Redis ログを読み取ります
- 正規表現を使用して Redis のログフォーマットをパースし、構造化されたフィールド (
pid、role、timestamp、log_level、message) を抽出します - HyperDX でフィルタリングできるように
source: redis属性を追加します - 専用のパイプラインを介してログを ClickHouse exporter にルーティングします
ClickStack がカスタム設定を読み込むように構成する
既存の ClickStack デプロイで collector のカスタム設定を有効にするには、次の対応が必要です。
- カスタム設定ファイルを
/etc/otelcol-contrib/custom.config.yamlにマウントします - 環境変数
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yamlを設定します - collector が Redis のログを読み取れるように、Redis のログディレクトリをマウントします
オプション 1: Docker Compose
ClickStack のデプロイ設定を更新します。
services:
clickstack:
# ... existing configuration ...
environment:
- CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
# ... other environment variables ...
volumes:
- ./redis-monitoring.yaml:/etc/otelcol-contrib/custom.config.yaml:ro
- /var/log/redis:/var/log/redis:ro
# ... other volumes ...オプション 2: Docker Run (オールインワン イメージ)
Docker でオールインワン イメージを使用している場合は、次を実行してください。
docker run --name clickstack \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/redis-monitoring.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
-v /var/log/redis:/var/log/redis:ro \
clickhouse/clickstack-all-in-one:latestHyperDXでログを確認する
設定が完了したら、HyperDX にログインし、ログが取り込まれていることを確認します。


デモデータセット
本番環境を構成する前に Redis インテグレーションを試したいユーザー向けに、実際の傾向に近いパターンを含む、事前生成済みの Redis ログのサンプルデータセットを用意しています。
サンプルデータセットをダウンロードする
サンプルのログファイルをダウンロードします。
curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/redis/redis-server.logテスト用の collector 設定を作成する
以下の内容で、redis-demo.yaml という名前のファイルを作成します。
cat > redis-demo.yaml << 'EOF'
receivers:
filelog/redis:
include:
- /tmp/redis-demo/redis-server.log
start_at: beginning # デモデータでは先頭から読み取る
operators:
- type: regex_parser
regex: '^(?P<pid>\d+):(?P<role>\w+) (?P<timestamp>\d{2} \w+ \d{4} \d{2}:\d{2}:\d{2})\.\d+ (?P<log_level>[.\-*#]) (?P<message>.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%d %b %Y %H:%M:%S'
- type: add
field: attributes.source
value: "redis-demo"
- type: add
field: resource["service.name"]
value: "redis-demo"
service:
pipelines:
logs/redis-demo:
receivers: [filelog/redis]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhouse
EOFデモ設定で ClickStack を実行する
デモログと設定を使って ClickStack を実行します。
docker run --name clickstack-demo \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/redis-demo.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
-v "$(pwd)/redis-server.log:/tmp/redis-demo/redis-server.log:ro" \
clickhouse/clickstack-all-in-one:latestHyperDX でログを確認する
ClickStack が起動したら、次の手順を実行します。
- HyperDX を開き、アカウントにログインします (先にアカウント作成が必要な場合があります)
- Search ビューに移動し、ログソースを
Logsに設定します - 時間範囲を 2025-10-26 10:00:00 - 2025-10-29 10:00:00 に設定します


ダッシュボードと可視化
ClickStack で Redis の監視を開始する際に役立つよう、Redis ログ向けの主要な可視化を用意しています。
ダッシュボード設定をダウンロード
あらかじめ用意されたダッシュボードをインポート
- HyperDX を開き、ダッシュボードセクションに移動します。
- 右上の三点メニューから「Import Dashboard」をクリックします。

- redis-logs-dashboard.json ファイルをアップロードし、「finish import」をクリックします。

ダッシュボードが作成され、すべての可視化があらかじめ設定された状態になります

トラブルシューティング
カスタム設定が読み込まれない
環境変数が正しく設定されているか確認してください。
docker exec <container-name> printenv CUSTOM_OTELCOL_CONFIG_FILE
# 期待される出力: /etc/otelcol-contrib/custom.config.yamlカスタム設定ファイルがマウントされているか確認してください:
docker exec <container-name> ls -lh /etc/otelcol-contrib/custom.config.yaml
# 期待される出力: ファイルサイズとパーミッションが表示されますカスタム設定の内容を確認します:
docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yaml
# redis-monitoring.yaml の内容が表示されます有効なconfigに使用中のfilelog receiverが含まれているか確認してください:
docker exec <container> cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 filelog
# filelog/redis receiverの設定が表示されますHyperDX にログが表示されない
Redis がログをファイルに書き出していることを確認してください:
redis-cli CONFIG GET logfile
# 期待される出力: ファイルパスが表示されるはずです(空文字列ではない)
# 例: 1) "logfile" 2) "/var/log/redis/redis-server.log"Redis が実際にログを出力していることを確認します:
tail -f /var/log/redis/redis-server.log
# Redisフォーマットの最新ログエントリが表示されるはずですcollector がログを読み取れることを確認してください。
docker exec <container> cat /var/log/redis/redis-server.log
# Redisのログエントリが表示されるはずですcollector のログにエラーが出ていないか確認してください:
docker exec <container> cat /etc/otel/supervisor-data/agent.log
# filelogまたはRedisに関連するエラーメッセージを探すdocker-composeを使用している場合は、共有ボリュームを確認してください:
# 両方のコンテナーが同じボリュームを使用していることを確認する
docker volume inspect <volume-name>
# 両方のコンテナーにボリュームがマウントされていることを確認するログが正しくパースされない
Redis のログフォーマットが想定どおりのパターンに一致していることを確認してください:
# Redis ログの形式は次のようになります:
# 12345:M 28 Oct 2024 14:23:45.123 * Server started
tail -5 /var/log/redis/redis-server.logRedis ログのフォーマットが異なる場合は、regex_parser オペレーターの正規表現パターンを調整する必要がある場合があります。標準的なフォーマットは次のとおりです。
pid:role timestamp level message- 例:
12345:M 28 Oct 2024 14:23:45.123 * Server started
次のステップ
本番環境への移行
このガイドでは、ClickStack に組み込まれた OpenTelemetry Collector を使って、すばやくセットアップできるようにしています。本番環境へのデプロイでは、ご自身で OTel Collector を運用し、データを ClickStack の OTLP エンドポイントに送信することを推奨します。本番環境向けの構成については、OpenTelemetry データの送信を参照してください。