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 エクスポーターに転送する
- カスタム設定では、新しい
receiversとpipelinesのみを定義します - プロセッサ(
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 のログを読み取れるように、Redis のログディレクトリをマウントします
オプション1: Docker Compose
ClickStackのデプロイメント設定を更新します:
オプション2:Docker Run(オールインワンイメージ)
Dockerでオールインワンイメージを使用している場合は、以下を実行します:
ClickStackコレクターがRedisログファイルを読み取るための適切な権限を持っていることを確認してください。本番環境では、読み取り専用マウント(:ro)を使用し、最小権限の原則に従ってください。
デモ用データセット
本番環境を構成する前に Redis 連携をテストしたいユーザー向けに、現実的なパターンを含む事前生成された Redis ログのサンプルデータセットを提供します。
デモ設定で ClickStack を実行する
デモ用のログと設定を使って ClickStack を実行します:
この手順ではログファイルをコンテナ内に直接マウントします。これは静的なデモデータを使ったテスト目的でのみ行います。
HyperDX でログを確認する
ClickStack が起動したら、次の手順を実行します:
- HyperDX を開き、アカウントにログインします(まだアカウントがない場合は先に作成してください)
- Search ビューに移動し、ソースを
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
次のステップ
さらに活用したい場合は、ダッシュボードで次のようなことを試してみてください。