ClickStack による systemd ログの監視
このガイドでは、OpenTelemetry Collector を journald receiver とともに実行することで、ClickStack を使って systemd ジャーナルログを監視する方法を説明します。次のことを学びます。
- OpenTelemetry Collector をデプロイして systemd ジャーナルエントリを読み取る
- OTLP 経由で systemd ログを ClickStack に送信する
- あらかじめ用意されたダッシュボードを使って、systemd ログから得られるインサイト (サービスの状態、エラー、認証イベント) を可視化する
本番システムを構成する前に統合をテストしたい場合のために、サンプルログを含むデモデータセットも用意されています。
所要時間: 10〜15分
既存システムとの統合
OpenTelemetry Collector を journald receiver とともに実行することで、既存の Linux システムの journald ログを監視し、システムログを収集して OTLP 経由で ClickStack に送信できます。
既存のセットアップを変更せずにまずこの統合をテストしたい場合は、デモデータセットのセクションまでスキップしてください。
前提条件
- ClickStack インスタンスが稼働していること
- systemd を使用する Linux システム (Ubuntu 16.04+、CentOS 7+、Debian 8+)
- 監視対象システムに Docker または Docker Compose がインストールされていること
ClickStack の API キーを取得する
OpenTelemetry Collector は、認証が必要な ClickStack の OTLP エンドポイントにデータを送信します。
- ClickStack の URL (例: http://localhost:8080) で HyperDX を開きます
- 必要に応じてアカウントを作成するか、ログインします
- Team Settings → API Keys に移動します
- Ingestion API Key をコピーします

- それを環境変数として設定します:
systemd journal が動作していることを確認する
システムが systemd を使用しており、journal ログが存在することを確認します:
journal ストレージがメモリのみの場合は、永続ストレージを有効化します:
Docker Compose でデプロイする
journald レシーバは journal ファイルを読み取るために journalctl バイナリを必要とします。公式の otel/opentelemetry-collector-contrib イメージには、デフォルトでは journalctl が含まれていません。
コンテナ化されたデプロイメントでは、OTel collector をホスト上に直接インストールするか、systemd ユーティリティを含めたカスタムイメージをビルドすることができます。詳細は トラブルシューティングセクション を参照してください。
次の例は、ClickStack と並行して OTel collector をデプロイする方法を示します:
サービスを起動します:
HyperDX でログを確認する
設定が完了したら、HyperDX にログインしてログが流れていることを確認します:
- Search ビューに移動します
- source を Logs に設定します
service.name:systemd-logsでフィルタしますunit、priority、MESSAGE、_HOSTNAMEなどのフィールドを持つ構造化ログエントリが表示されるはずです


デモ用データセット
本番システムを構成する前に systemd ログ連携をテストしたいユーザー向けに、現実的なパターンを含む事前生成済みの systemd ログのサンプルデータセットを提供します。
デモデータで ClickStack を実行する
デモログを使って ClickStack を起動します:
このデモでは、コンテナ内で journalctl を必要としないようにするため、journald の代わりにテキストログを扱う filelog receiver を使用しています。
HyperDX でログを確認する
ClickStack が起動したら、次の手順を実行します:
- HyperDX を開き、自分のアカウントでログインします
Searchビューに移動し、SourceをLogsに設定します- 時間範囲を 2025-11-14 00:00:00 - 2025-11-17 00:00:00 に設定します


HyperDX はタイムスタンプをブラウザのローカルタイムゾーンで表示します。デモデータは 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC) の期間をカバーしています。広い時間範囲を指定することで、どのロケーションからアクセスしてもデモログを確認できるようにしています。
ダッシュボードと可視化
ClickStack で systemd ログの監視をスムーズに開始できるように、systemd ジャーナルデータ向けの基本的な可視化を提供します。
事前構成済みダッシュボードをインポートする
- HyperDX を開き、Dashboards セクションに移動します
- 右上の三点リーダー(三点アイコン)を開き、Import Dashboard をクリックします

systemd-logs-dashboard.jsonファイルをアップロードし、Finish Import をクリックします

ダッシュボードを表示する
ダッシュボードには次の可視化が含まれます:
- 時間経過に伴うログボリューム
- ログ件数の多い上位 systemd ユニット
- SSH 認証イベント
- サービスの障害
- エラー率

デモデータセットの場合、時間範囲を 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC) に設定してください(ローカルタイムゾーンに合わせて調整してください)。
トラブルシューティング
HyperDX にログが表示されない
ログが ClickHouse に届いているか確認してください。
結果が出ない場合は、コレクターのログを確認してください。
journalctl が見つからないエラー
exec: "journalctl": executable file not found in $PATH と表示される場合:
otel/opentelemetry-collector-contrib イメージには journalctl が含まれていません。次のいずれかを実行できます:
- ホストに collector をインストールする:
- テキストエクスポート方式を使用する(デモと同様)。
filelogreceiver で journald のテキストエクスポートを読み取る
本番環境での運用
このガイドでは、専用の OpenTelemetry Collector を使用して systemd ログを読み取り、ClickStack の OTLP エンドポイントに送信します。これは推奨される本番運用パターンです。
複数ホストからなる本番環境では、次の点を検討してください。
- コレクターを Kubernetes のデーモンセットとしてデプロイする
- 各ホストでコレクターを systemd サービスとして実行する
- デプロイメントの自動化に OpenTelemetry Operator を使用する
本番環境でのデプロイメントパターンについては、OpenTelemetry による取り込み を参照してください。