Amazon EC2 Systems Managerを使ってCloudWatch Logs エージェントをインストールする

  • 0
    いいね
  • 0
    コメント

    Amazon EC2 Systems Managerを使用してコマンド実行を実施する手順です。
    試しに Systems Manager を使ってCloudWatch Logs エージェントをインストールしてみます。
    内容としては初心者向けになっています。

    事前準備

    SSMエージェントのインストールは実施済みであること。
    :beginner: Amazon EC2 Simple Systems Manager (SSM) エージェントのインストール

    AWS マネジメントコンソールからのコマンド実行

    EC2の「SYSTEMS MANAGER SERVICE > コマンドの実行」より「コマンドを実行」を選択します。

    2017-06-22-17-41-30.png

    今回はLinuxへのコマンド実行を行うので「AWS-RunShellScript」を選択します。

    2017-06-22-17-42-39.png

    今回は1台のインスタンスのみを対象とするので「手動選択」で対象の1台のみ選択します。

    2017-06-22-17-45-32.png

    「Commands」に実行したいコマンドを定義します。
    今回はCloudWatch Logs エージェントのインストールと起動を実施します。

    yum install -y awslogs
    service awslogs start
    

    「Working Directory」「Execution Timeout」は必要に応じて入力して下さい。
    Execution Timeoutのデフォルトは3600(1時間)です。
    「Run」を選択します。

    2017-06-22-19-36-34.png

    コマンドの発行は成功したようなので「結果を表示」を選択します。

    2017-06-22-17-55-58.png

    「ステータス」が成功(Success)になっていれば最後のコマンドの終了コードが0で返ってきています。

    2017-06-22-17-58-10.png

    出力タブの「出力の表示」を選択しコマンドの実行結果を確認できます。
    2017-06-22-18-00-40.png

    yum コマンドの実行結果が表示されています。

    2017-06-22-18-02-33.png

    ただし「出力の表示」で出せるのは画面にも記載のある通り2500文字までなので出力結果が多い場合は、「コマンドを実行」の詳細オプションで「S3への書き込み」をチェックし設定します。

    2017-06-22-18-06-27.png

    CloudWatch Logs に送信されたログデータの表示

    CloudWatch に移動し「ログ」画面よりロググループを選択します。
    ロググループ名は「awslogs.conf」の初期値が「/var/log/messages」になっています。
    また、デフォルト値のリージョンが「us-east-1」になっているのでバージニア北部へ移動します。

    2017-06-22-18-51-31.png

    /etc/awslogs/awscli.conf

    [plugins]
    cwlogs = cwlogs
    [default]
    region = us-east-1
    

    /etc/awslogs/awslogs.conf

    ~ 省略 ~
    [/var/log/messages]
    datetime_format = %b %d %H:%M:%S
    file = /var/log/messages
    buffer_duration = 5000
    log_stream_name = {instance_id}
    initial_position = start_of_file
    log_group_name = /var/log/messages
    

    ログストリーム名を選択します。
    ログストリーム名は「awslogs.conf」の初期値がインスタンスのIDになっています。

    2017-06-22-18-52-52.png

    対象のインスタンスの「/var/log/messages」が表示されます。
    CloudWatch Logs エージェントをインストールしたタイミングより前のログも取得できています。
    ログの取得までは成功です。

    2017-06-22-19-02-32.png

    上手く行かない場合

    ポリシー設定の不足の可能性

    対象インスタンスに割り当てているIAMロールにて「インラインポリシー」を設定します。

    2017-06-22-18-34-45.png

    カスタムポリシーを選択します。

    2017-06-22-18-36-49.png

    「ポリシー名」「ポリシードキュメント」を設定し「ポリシーの適用」を選択します。
    https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html

    2017-06-22-18-39-29.png

    2017-06-22-18-41-17.png