Linux EC2でCloudWatch agentが稼働し、OSメトリクスを送信している。/var/log/app.logはagent実行ユーザーから読み取り可能で、CloudWatch LogsへのIAM権限と接続経路も準備済みである。
新しいログ行を指定ロググループへ集約し、インスタンス別のログストリームで確認したい。既存のメトリクス収集を保ちながらファイル収集を追加する。
最も適切な設定と適用方法はどれか。
agentのlogsセクションでファイルと送信先を指定し、メトリクス設定を保持した構成を適用する。
詳細解説
保存先だけではEC2上のファイルを読み取って送信する処理が追加されない。
メトリクスのディメンションは数値の識別に使い、ファイル本文を収集しない。
ファイルの保存だけでは実行中agentの収集設定は更新されない。
ファイル収集元と送信先を設定し、実行中のagentに反映することでログを送れる。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
公式資料のlogs/collect_list、file_path、ログストリームの置換変数、fetch-config/append-configによる適用を確認する。
参考にした公式資料
確認できる内容
ファイルパスと送信先を結び付け、設定の保存と適用、OS読み取り権限とAWS送信権限を区別できる。
理解のポイント
- CloudWatch agent
- /var/log/app.log
- ロググループ
確認時の注意
- 確認環境: AWS公式SOA-C03試験ガイドとAWS公式ドキュメントの確認
- AWS公式SOA-C03試験ガイドと各サービスの公式ドキュメントを確認する。
基礎のおさらい
ファイルと送信先を別々に指定する
collect_listのfile_pathは読み取るOSファイル、log_group_nameとlog_stream_nameはCloudWatch側の保存先である。ログストリーム名に{instance_id}を使えばインスタンスを識別できる。metricsセクションだけではファイルログ収集は有効にならない。
設定の保存から稼働確認まで進める
fetch-configは有効な設定集合を置き換えるため、既存メトリクスを含む構成を用意する。追加構成にはappend-configを使えるが同名ファイルの扱いも確認する。設定を適用して起動・再起動し、テスト行の到着とagent自身のログを確認する。OSファイルの読み取りとIAM・ネットワークの送信条件は別である。