ClickStack を使用した EC2 ホストログの監視
EC2 インスタンスに OpenTelemetry Collector をインストールして、ClickStack で EC2 システムログを監視します。Collector はログに、インスタンス ID、リージョン、アベイラビリティーゾーン、インスタンスタイプといった EC2 メタデータを自動的に付与します。このガイドでは次の内容を学びます:
- EC2 インスタンス上に OpenTelemetry Collector をインストールおよび設定する方法
- EC2 メタデータでログを自動的に付与する方法
- OTLP 経由で ClickStack にログを送信する方法
- あらかじめ用意されたダッシュボードを使用して、クラウドコンテキスト付きで EC2 ホストログを可視化する方法
テスト用として、サンプルログとシミュレートされた EC2 メタデータを含むデモデータセットを利用できます。
所要時間: 10〜15 分
既存の EC2 インスタンスとの統合
このセクションでは、EC2 インスタンス上に OpenTelemetry Collector をインストールしてシステムログを収集し、EC2 メタデータを自動付加しながら ClickStack へ送信する方法を説明します。この分散アーキテクチャは本番運用に対応しており、複数インスタンスへのスケールにも対応できます。
監視したいログを出力している EC2 インスタンス上で ClickStack が動作している場合は、Generic Host Logs guide と同様のオールインワン方式を利用できます。/var/log を ClickStack コンテナにマウントし、カスタム設定に resourcedetection プロセッサを追加することで、EC2 メタデータを自動的に取得できます。本ガイドでは、より一般的な本番環境向けの分散アーキテクチャに焦点を当てます。
本番インスタンスを設定する前に EC2 ホストログ連携を試したい場合は、"Demo dataset" セクションにある事前構成済みセットアップとサンプルデータを使ってテストできます。
前提条件
- ClickStack インスタンスが稼働していること(オンプレミス、Cloud、ローカルのいずれでも可)
- EC2 インスタンスが稼働していること(Ubuntu、Amazon Linux、その他の Linux ディストリビューション)
- EC2 インスタンスから ClickStack の OTLP エンドポイントへのネットワーク接続があること(HTTP はポート 4318、gRPC はポート 4317)
- EC2 インスタンスのメタデータサービスにアクセス可能であること(デフォルトで有効)
EC2メタデータへのアクセスを確認する
EC2インスタンスから、メタデータサービスにアクセス可能であることを確認します:
インスタンスID、リージョン、およびインスタンスタイプが表示されるはずです。これらのコマンドが失敗した場合は、以下を確認してください:
- インスタンスメタデータサービスが有効になっている
- IMDSv2 がセキュリティグループやネットワーク ACL によってブロックされていないこと
- これらのコマンドは EC2 インスタンス上で直接実行します
EC2メタデータは、インスタンス内からhttp://169.254.169.254で利用できます。OpenTelemetryのresourcedetectionプロセッサは、このエンドポイントを使用してログにクラウドコンテキストを自動的に付与します。
コレクター設定の作成
OpenTelemetry Collectorの設定ファイルを /etc/otelcol-contrib/config.yaml に作成します:
使用しているLinuxディストリビューションに応じて設定を選択してください:
- モダン Linux(Ubuntu 24.04以降)
- レガシー Linux(Amazon Linux 2、RHEL、旧バージョンのUbuntu)
設定内の以下の項目を置き換えてください:
YOUR_CLICKSTACK_HOST: ClickStack が稼働しているホスト名または IP アドレス- ローカルでのテストには SSH トンネルを使用できます(トラブルシューティングのセクションを参照してください)
この設定:
- 一般的な場所にあるシステムログファイルを読み取ります(Ubuntu では
/var/log/syslog、Amazon Linux/RHEL では/var/log/messages) - syslog 形式を解析し、タイムスタンプ、ホスト名、ユニット/サービス、PID、メッセージといった構造化フィールドを抽出します
resourcedetectionプロセッサーを使用して EC2 メタデータを自動的に検出して追加します- オプションで、存在する場合は EC2 タグ(Name、Environment、Team)も含めます
- OTLP HTTP 経由で ClickStack にログを送信します
resourcedetectionプロセッサは、すべてのログに以下の属性を自動的に追加します:
cloud.provider: "aws"cloud.platform: "aws_ec2"cloud.region: AWS のリージョン(例:"us-east-1")cloud.availability_zone: AZ(例:"us-east-1a")cloud.account.id: AWS アカウント IDhost.id: EC2 インスタンスの ID(例: "i-1234567890abcdef0")host.type: インスタンスタイプ(例:「t3.medium」)host.name: インスタンスのホスト名
ClickStack APIキーの設定
ClickStack APIキーを環境変数としてエクスポートします:
再起動後も設定を永続化するには、シェルプロファイルに追加してください:
コレクターの実行
OpenTelemetry Collectorを起動します:
コレクターをsystemdサービスとして実行するように設定し、起動時の自動起動と障害時の自動再起動を有効にしてください。詳細については、OpenTelemetry Collectorドキュメントを参照してください。
HyperDXでログを確認する
コレクターが実行されたら、HyperDXにログインし、EC2メタデータを含むログが流入していることを確認します:
- 検索ビューに移動する
- ソースを
Logsに設定します source:ec2-host-logsでフィルタリングします- ログエントリをクリックして詳細を表示します
- リソース属性に EC2 メタデータが含まれていることを確認します:
cloud.providercloud.regionhost.id(インスタンス ID)host.type(インスタンスタイプ)cloud.availability_zone


デモデータセット
本番環境インスタンスを設定する前に EC2 ホストログの連携をテストしたいユーザー向けに、シミュレートされた EC2 メタデータを含むサンプルデータセットを提供しています。
サンプルデータセットをダウンロードする
サンプルログファイルをダウンロードします:
データセットには以下が含まれます:
- システムの起動シーケンス
- SSH ログインアクティビティ(成功・失敗の試行)
- セキュリティインシデント(fail2ban による対処を伴うブルートフォース攻撃)
- スケジュールされたメンテナンス(cron ジョブ、anacron)
- サービスの再起動(rsyslog)
- カーネルメッセージおよびファイアウォールのアクティビティ
- 通常の運用と重要なイベントの混在
テストコレクター設定を作成する
以下の設定で ec2-host-logs-demo.yaml という名前のファイルを作成します:
デモ目的では、resource プロセッサを使用してEC2メタデータを手動で追加しています。実際のEC2インスタンスを使用する本番環境では、EC2メタデータAPIに自動的にクエリを実行する resourcedetection プロセッサを使用してください。
HyperDXでログを確認する
コレクターが起動したら:
- HyperDX を開き、アカウントにログインします(まだアカウントがない場合は、先に作成する必要があります)
- 検索ビューに移動し、ソースを
Logsに設定します。 - 時間範囲を 2025-11-10 00:00:00 - 2025-11-13 00:00:00 に設定します。
source:ec2-demoで絞り込む- ログエントリを展開し、リソース属性に含まれる EC2 メタデータを表示します


HyperDXはブラウザのローカルタイムゾーンでタイムスタンプを表示します。デモデータの期間は**2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC)**です。この広い時間範囲により、場所に関わらずデモログを確認できます。ログが表示されたら、より明確な可視化のために範囲を24時間に絞り込むことができます。
シミュレートされたEC2コンテキストを含むログが表示されます:
- インスタンスID:
i-0abc123def456789 - リージョン:
us-east-1 - アベイラビリティーゾーン:
us-east-1a - インスタンスタイプ:
t3.medium
ダッシュボードと可視化
ClickStack で EC2 ホストログのモニタリングを始めやすくするために、クラウドコンテキストを含んだ基本的な可視化を用意しています。
事前に用意されたダッシュボードをインポートする
- HyperDX を開き、Dashboards セクションに移動します
- 右上の三点リーダー(省略記号)メニューから Import Dashboard をクリックします

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

ダッシュボードを表示する
ダッシュボードは、すべての可視化があらかじめ設定された状態で作成されます:

ダッシュボードの可視化は、EC2 のコンテキストに基づいてフィルタできます:
cloud.region:us-east-1- 特定リージョンのログを表示host.type:t3.medium- インスタンスタイプでフィルタhost.id:i-0abc123def456- 特定インスタンスのログを表示
デモデータセットを利用する場合は、タイムレンジを 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC) に設定してください(ローカルタイムゾーンに合わせて調整してください)。インポートしたダッシュボードには、デフォルトではタイムレンジが指定されていません。
トラブルシューティング
ログに EC2 メタデータが含まれない
EC2 メタデータサービスへアクセス可能か確認する:
これが失敗する場合は、次の点を確認してください:
- インスタンスメタデータサービスが有効になっていること
- IMDSv2 がセキュリティグループでブロックされていないこと
- コレクターを EC2 インスタンス上で直接実行していること
メタデータ関連のエラーがないか、コレクターのログを確認してください。
HyperDX にログが表示されない
syslog ファイルが存在し、書き込みが行われていることを確認する:
コレクターがログファイルを読み取れることを確認する:
ClickStack へのネットワーク疎通を確認する:
コレクターのログにエラーがないか確認する:
ログが正しくパースされない場合
syslog のフォーマットを確認してください:
Ubuntu 24.04 以降の場合:
Amazon Linux 2 / Ubuntu 20.04 の場合:
フォーマットが一致しない場合は、使用しているディストリビューションに応じて、Collector 設定の作成 セクション内の該当する設定タブを使用してください。
systemd サービスとして Collector が起動しない
サービスのステータスを確認する:
詳細なログを確認する:
よくある問題:
- 環境変数での API キーの設定が正しくない
- 設定ファイルの構文エラー
- ログファイルを読み取る際の権限の問題
次のステップ
EC2 ホストログの監視を設定したら、次の作業を行います。
- 重要なシステムイベント(サービス障害、認証失敗、ディスク警告)向けのアラートを設定する
- EC2 メタデータ属性(リージョン、インスタンスタイプ、インスタンス ID)でフィルタリングして特定のリソースを監視する
- 包括的なトラブルシューティングのために EC2 ホストログをアプリケーションログと相関付ける
- セキュリティ監視(SSH アクセス試行、sudo 使用状況、ファイアウォールブロック)向けのカスタムダッシュボードを作成する