ClickStack を使用した Redis ログの監視
このガイドでは、OpenTelemetry Collector を構成して Redis サーバーログを取り込むことで、ClickStack を使って Redis を監視する方法を説明します。次の内容を学びます:
- Redis のログ形式を解析するように OTel collector を構成する
- カスタム構成を使用して ClickStack をデプロイする
- あらかじめ用意されたダッシュボードを使って Redis メトリクス(接続数、コマンド数、メモリ、エラー)を可視化する
本番環境の Redis を構成する前に統合をテストしたい場合に利用できる、サンプルログ付きのデモデータセットも用意されています。
所要時間: 5〜10 分
既存の Redis との統合
このセクションでは、ClickStack の OTel collector 設定を変更して、既存の Redis 環境から ClickStack にログを送信する方法を説明します。 既存環境を設定する前に Redis との連携を試してみたい場合は、"Demo dataset" セクションにある事前構成済みセットアップとサンプルデータを使用してテストできます。
前提条件
- 稼働中の ClickStack インスタンス
- 既存の Redis インストール(バージョン 3.0 以上)
- Redis のログファイルへのアクセス
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が標準出力にログを記録している場合は、redis.confを更新してファイルに書き込むように設定します:
設定を変更した後、Redisを再起動します:
カスタムOTel collector設定を作成する
ClickStackでは、カスタム設定ファイルをマウントして環境変数を設定することで、ベースのOpenTelemetry Collector設定を拡張できます。カスタム設定は、HyperDXがOpAMP経由で管理するベース設定にマージされます。
以下の設定で redis-monitoring.yaml という名前のファイルを作成します:
この設定では:
- Redis のログをデフォルトの場所から読み取ります
- Redisのログフォーマットを正規表現で解析し、
pid、role、timestamp、log_level、messageといった構造化フィールドを抽出します - HyperDX でのフィルタリング用に
source: redis属性を追加します - 専用パイプラインを介してログを ClickHouse エクスポーターに転送する
- カスタム構成では、新しいレシーバーとパイプラインだけを定義します
- プロセッサ(
memory_limiter、transform、batch)とエクスポーター(clickhouse)は、ClickStack のベース設定ですでに定義されているため、名前を指定して参照するだけで利用できます time_parser演算子は、元のログのタイミングを保持するために、Redis ログからタイムスタンプを抽出します- この構成では、コレクターの起動時に既存のすべてのログを読み取るために
start_at: beginningを使用しており、ログをすぐに確認できます。本番デプロイメントでコレクターの再起動時にログを再取り込みしたくない場合は、start_at: endに変更してください。
ClickStackにカスタム設定を読み込むよう構成する
既存のClickStackデプロイメントでカスタムコレクター設定を有効にするには、次の手順を実行してください:
- カスタム設定ファイルを
/etc/otelcol-contrib/custom.config.yamlにマウントします - 環境変数
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yamlを設定します。 - コレクターが読み込めるように、Redis のログディレクトリをマウントしてください
オプション1: Docker Compose
ClickStackのデプロイメント設定を更新してください:
オプション2: Docker Run(オールインワンイメージ)
Dockerでオールインワンイメージを使用している場合は、以下を実行します:
ClickStackコレクターがRedisログファイルを読み取るための適切な権限を持っていることを確認してください。本番環境では、読み取り専用マウント(:ro)を使用し、最小権限の原則に従ってください。
デモデータセット
本番環境を設定する前に Redis 連携をテストしたいユーザー向けに、現実的なパターンを含む事前生成済みの Redis ログのサンプルデータセットを提供しています。
デモ設定で ClickStack を実行する
デモログとこの設定を使用して ClickStack を実行します:
これはログファイルをコンテナ内に直接マウントします。静的なデモデータを使ったテスト目的のために行っています。
HyperDX でログを確認する
ClickStack が起動したら、次の手順を実行します。
- HyperDX を開き、アカウントにログインします(まだアカウントがない場合は、先に作成する必要があります)
- Search ビューに移動し、Source を
Logsに設定します - 時間範囲を 2025-10-26 10:00:00 - 2025-10-29 10:00:00 に設定します
HyperDX はタイムスタンプをブラウザのローカルタイムゾーンで表示します。デモデータは 2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC) の期間をカバーしています。広めの時間範囲を指定することで、どのタイムゾーンからでもデモログを確認できるようにしています。ログが確認できたら、可視化を見やすくするために時間範囲を 24 時間に絞り込むことができます。


ダッシュボードと可視化
ClickStack で Redis を監視し始める際に役立つように、Redis Logs 向けの基本的な可視化を提供しています。
あらかじめ用意されたダッシュボードをインポート
- HyperDX を開き、 Dashboards セクションに移動します。
- 右上の三点リーダーアイコンから「Import Dashboard」をクリックします。

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

すべての可視化があらかじめ設定された状態でダッシュボードが作成されます
デモデータセットの場合、時間範囲を 2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC) に設定してください(ローカルタイムゾーンに合わせて調整してください)。インポートされたダッシュボードには、デフォルトで時間範囲が指定されていません。

トラブルシューティング
カスタム設定が読み込まれない
環境変数が正しく設定されているか確認してください。
カスタム設定ファイルがマウントされていることを確認する:
カスタム設定の内容を表示する:
実効設定に filelog レシーバーが含まれていることを確認します:
HyperDX にログが表示されない
Redis がログをファイルに書き出していることを確認する:
Redis が継続的にログを出力していることを確認する:
コレクターがログを読み取れることを確認する:
コレクターのログでエラーを確認する:
docker-compose を使用している場合は、共有ボリュームを確認してください:
ログが正しくパースされない場合
Redis のログ形式が期待されるパターンと一致していることを確認する:
Redis のログ形式が異なる場合は、regex_parser オペレーター内の正規表現パターンを調整する必要があります。標準的な形式は次のとおりです:
pid:role timestamp level message- 例:
12345:M 28 Oct 2024 14:23:45.123 * Server started
次のステップ
さらに活用したい場合は、ダッシュボードで次のようなことを試してみてください。