要点OTel
filelog receiver を使って、ClickStack で Redis のサーバーログを収集し、可視化します。デモデータセットとあらかじめ用意されたダッシュボードが含まれます。既存のRedisとのインテグレーション
前提条件
- 稼働中の ClickStack インスタンス
- 既存の Redis 環境 (バージョン 3.0 以降)
- Redis のログファイルへのアクセス
1
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 を更新してファイルに書き込むように設定します:2
カスタム OTel collector 設定を作成する
ClickStack では、カスタム設定ファイルをマウントして環境変数を設定することで、OpenTelemetry Collector のベース設定を拡張できます。カスタム設定は、HyperDX が OpAMP 経由で管理するベース設定にマージされます。次の内容で、redis-monitoring.yaml という名前のファイルを作成します。- 標準の場所から Redis ログを読み取ります
- 正規表現を使用して Redis のログフォーマットをパースし、構造化されたフィールド (
pid、role、timestamp、log_level、message) を抽出します - HyperDX でフィルタリングできるように
source: redis属性を追加します - 専用のパイプラインを介してログを ClickHouse exporter にルーティングします
- カスタム構成で定義するのは、新しい receiver とパイプラインのみです
- プロセッサ (
memory_limiter、transform、batch) とエクスポーター (clickhouse) は、ベースの ClickStack 構成ですでに定義されているため、ここでは名前で参照するだけです time_parseroperator は Redis ログから timestamp を抽出し、元のログ時刻を保持します- この構成では
start_at: beginningを使用しているため、collector の起動時に既存のログをすべて読み込み、すぐにログを確認できます。collector の再起動時にログを再取り込みしたくない本番環境のデプロイメントでは、start_at: endに変更してください。
3
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 のデプロイ設定を更新します。オプション 2: Docker Run (オールインワン イメージ)
Docker でオールインワン イメージを使用している場合は、次を実行してください。ClickStack collector に、Redis のログファイルを読み取るための適切な権限が付与されていることを確認してください。本番環境では、読み取り専用マウント (
:ro) を使用し、最小権限の原則に従ってください。4
HyperDXでログを確認する
設定が完了したら、HyperDX にログインし、ログが取り込まれていることを確認します。デモデータセット
1
2
3
デモ設定で 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 時間に絞り込めます。
ダッシュボードと可視化
1
ダッシュボード設定を
2
あらかじめ用意されたダッシュボードをインポート
- HyperDX を開き、ダッシュボードセクションに移動します。
- 右上の三点メニューから「Import Dashboard」をクリックします。
- redis-logs-dashboard.json ファイルをアップロードし、「finish import」をクリックします。
3
ダッシュボードが作成され、すべての可視化があらかじめ設定された状態になります
デモデータセットでは、時間範囲を 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