要点OTel
filelog receiver を使用して、ホストシステムのログ (syslog、auth、kernel) を ClickStack に収集し、可視化します。デモデータセットとあらかじめ用意されたダッシュボードが含まれています。既存ホストとのインテグレーション
前提条件
- 稼働中の ClickStack インスタンス
- syslog ファイルがあるシステム
- ClickStack の設定ファイルを変更できるアクセス権
1
syslogファイルが存在することを確認する
まず、システムがsyslogファイルを出力していることを確認します。- Ubuntu/Debian:
/var/log/syslog - RHEL/CentOS/Fedora:
/var/log/messages - macOS:
/var/log/system.log
2
カスタムOTel collector configurationの作成
ClickStackでは、カスタム設定ファイルをマウントして環境変数を設定することで、OpenTelemetry Collectorのベース設定を拡張できます。システムの設定を記述したhost-logs-monitoring.yaml というファイルを作成します:- 最新の Linux(Ubuntu 24.04+)
- 従来の Linux(Ubuntu 20.04、RHEL、CentOS)
- macOS
すべての設定:
- 標準の場所にある syslog ファイルを読み込む
- syslogフォーマットを解析し、構造化されたフィールド (タイムスタンプ、ホスト名、ユニット/サービス、PID、メッセージ) を抽出します
- 元のログのタイムスタンプを保持する
- HyperDX でのフィルタリング用に
source: host-logs属性を追加 - 専用のパイプライン経由でログをClickHouseエクスポーターにルーティングする
- カスタム設定で定義するのは、新しい receiver とパイプラインのみです
- プロセッサ (
memory_limiter、transform、batch) とエクスポーター (clickhouse) は、ベースの ClickStack 設定ですでに定義されているため、名前で参照するだけで済みます - regex パーサーは、syslog フォーマットから systemd のユニット名、PID、そのほかのメタデータを抽出します
- この設定では、collector の再起動時にログが再度取り込まれるのを防ぐため、
start_at: endを使用します。テスト時は、過去のログをすぐに確認できるよう、start_at: beginningに変更してください。
3
ClickStack がカスタム設定を読み込むように構成する
既存の ClickStack デプロイメントでカスタム collector 設定を有効にするには、次の対応が必要です。- カスタム設定ファイルを
/etc/otelcol-contrib/custom.config.yamlにマウントする - 環境変数
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yamlを設定する - collector が読み取れるように syslog ディレクトリをマウントする
オプション 1: Docker Compose
ClickStack のデプロイメント設定を更新します。オプション 2: Docker Run (オールインワンイメージ)
docker run でオールインワンイメージを使用する場合:ClickStack collector に、syslog ファイルを読み取るための適切な権限があることを確認してください。本番環境では、読み取り専用マウント (
:ro) を使用し、最小権限の原則に従ってください。4
HyperDX でログを確認する
設定が完了したら、HyperDX にログインし、ログが取り込まれていることを確認します。- Search view に移動します
- ログソースを Logs に設定します
source:host-logsで絞り込み、ホスト固有のログを表示しますunit、hostname、pid、messageなどのフィールドを含む構造化されたログエントリが表示されるはずです
デモデータセット
1
サンプルデータセットをダウンロードする
サンプルのログファイルをダウンロードします。- システムの起動シーケンス
- SSH ログインアクティビティ (成功および失敗した試行)
- セキュリティインシデント (fail2ban の応答を伴うブルートフォース攻撃)
- 定期メンテナンス (cron ジョブ、anacron)
- サービスの再起動 (rsyslog)
- カーネルメッセージとファイアウォールのアクティビティ
- 通常運用時のイベントと注目すべきイベントの混在
2
3
デモ設定で ClickStack を実行する
デモログと設定を使用して ClickStack を実行します。これにより、ログファイルがコンテナーに直接マウントされます。これは、静的なデモデータを使ったテストを目的としたものです。
4
HyperDX でログを確認する
ClickStack が起動したら、以下を実行します。- HyperDX を開いてアカウントにログインします (先にアカウント作成が必要な場合があります)
- Search view に移動し、ソースを
Logsに設定します - 時間範囲を 2025-11-10 00:00:00 - 2025-11-13 00:00:00 に設定します
タイムゾーン表示HyperDX は、ブラウザーのローカルタイムゾーンでタイムスタンプを表示します。デモデータの期間は 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC) です。時間範囲を広めに設定することで、どの場所からでもデモログを確認できます。ログが表示されたら、より見やすく可視化するために、範囲を 24 時間に絞ることができます。
ダッシュボードと可視化
1
ダッシュボード設定をする
2
あらかじめ用意されたダッシュボードをインポートする
- HyperDX を開き、Dashboards セクションに移動します
- 右上の三点メニューから Import Dashboard をクリックします
host-logs-dashboard.jsonファイルをアップロードし、Finish Import をクリックします
3
ダッシュボードを表示する
ダッシュボードは、すべての可視化があらかじめ設定された状態で作成されます。主な可視化は次のとおりです:- 重要度別のログ量の推移
- ログを生成している上位の systemd ユニット
- SSH ログインアクティビティ (成功/失敗)
- ファイアウォールのアクティビティ (ブロック/許可)
- セキュリティイベント (ログイン失敗、BAN、ブロック)
- サービス再起動のアクティビティ
デモデータセットでは、時間範囲を 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC) に設定してください (ローカルのタイムゾーンに応じて調整してください) 。インポートしたダッシュボードには、デフォルトでは時間範囲が設定されていません。
トラブルシューティング
カスタム設定が読み込まれない
HyperDX にログが表示されない
filelog receiver が含まれていることを確認してください。
ログが正しくパースされない
次のステップ
- 重要なシステムイベント (サービス障害、認証失敗、ディスク警告) に対するアラートを設定します
- 特定のサービスを監視するために、特定のユニットで絞り込みます
- 包括的なトラブルシューティングのために、ホストログをアプリケーションログと相関付けます
- セキュリティ監視 (SSH の試行、sudo の使用、ファイアウォールによるブロック) 用のカスタムダッシュボードを作成します