【AWS】AWSマネジメントコンソールからnginxのログを確認する方法

2020年4月17日 | 広報・PR・イベント運営担当

CloudWatch エージェントをインストールして、AWS マネジメントコンソールから nginx のアクセスログやエラーログを確認できるようにする方法をご紹介します。

 

1. ロールを作成する

EC2にアタッチする CloudWatch エージェント用のロールを作成します。

AWS マネジメントコンソールで、IAM からロールを選択します。

「ロールの作成」ボタンをクリックします。

EC2 を選択して「次のステップ:アクセス権限」ボタンをクリックします。

アタッチするポリシー名を検索してチェックを入れます。

選択するポリシーは下記の3つです。

・CloudWatchAgentServerPolicy
・AmazonEC2RoleforSSM
・AmazonSSMReadOnlyAccess

3つのポリシーにチェックを入れたら「次のステップ:タグ」ボタンをクリックします。

タグを追加する場合は、キーと値を入力して「次のステップ:確認」ボタンをクリックします。

ロール名を入力して「ロールの作成」ボタンをクリックします。

 

2. ロールをEC2にアタッチする

AWS マネジメントコンソールで、IAM から EC2 へと進んでインスタンスを選択します。

nginx のログを取得したいインスタンスを選択して、上部の「アクション」ボタンで「インスタンスの設定」を選び、「IAMロールの割り当て/置換」を選択します。

IAM ロールで先程作成したロールを選択して「適用」ボタンをクリックします。

 

3. 設定ファイルを作成する

CloudWatch エージェントが読み込む設定ファイルを作成します。

AWS マネジメントコンソールで、System Manager からパラメータストアを選択して「パラメータの作成」ボタンをクリックします。

名前・説明・値の入力を行います。

名前はわかりやすい文字列を入力します。
今回は「CloudWatchAgentParameter」にして、説明も名前と同じにしました。
値は下記の通り nginx のログを取得する設定を入力しました。
 

{
 ”agent”: {
  ”metrics_collection_interval”: 60,
  ”region”: “ap-northeast-1”,
  ”logfile”: “/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log”,
  ”debug”: false
 },
 ”logs”: {
  ”logs_collected”: {
   ”files”: {
    ”collect_list”: [
     {
      ”file_path”: “/var/log/nginx/access.log”,
      ”log_group_name”: “nginx_access_log”,
      ”log_stream_name”: “{instance_id}”
     },
     {
      ”file_path”: “/var/log/nginx/error.log”,
      ”log_group_name”: “nginx_error_log”,
      ”log_stream_name”: “{instance_id}”
     }
    ]
   }
  }
 }
}

 

※値の入力ボックスが狭いので、この画面上で入力/編集するのは大変です。
別途テキストエディタで編集して貼り付けることをお勧めします。

 

4. CloudWatchエージェントをインストールする

ログ取得の対象となる EC2 にログインして、コマンドで CloudWatch エージェントをインストールします。

$ wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

$ sudo rpm -U ./amazon-cloudwatch-agent.rpm

System Manager で作成した設定ファイルを指定して起動します。

$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c ssm:CloudWatchAgentParemeter -s

※停止時は下記のコマンドを実行します。

$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop

 

5. nginxのログを見られるか確認する

AWS マネジメントコンソールから nginx のログを見られるか確認します。

AWS マネジメントコンソールで、CloudWatch からロググループを選択します。

nginx のロググループが作成されていることを確認します。

nginx_access_log をクリックします。

ログストリームにインスタンスIDが追加されていることを確認します。

インスタンスIDをクリックします。

AWS マネジメントコンソールから nginx のアクセスログを見られることが確認できました。

アクセスログなどログが大量にある場合は、最新のログにたどり着くまで読み込みに時間が掛かるので、表示する時間を相対値5分などに設定すると最新ログの確認がしやすくなりました。

 

参考:Qiita CloudWatchエージェントでEC2インスタンスのカスタムメトリクスを取得する
https://qiita.com/t_okkan/items/9bec49fa5be76de4e5ef

 

いかがでしたか?

イー・エージェンシーでは、AWS(Amazon Web Services)による開発や、データプライバシーコンサルティングCRM / MA支援ツールでお客様のマーケティング課題の解決を支援しております。 詳しくは下記サイトをご覧ください。

データソリューション|イー・エージェンシー
https://datasolution.e-agency.co.jp/

また、Google アナリティクス 4 プロパティ(GA4)など Google マーケティング プラットフォーム(GMP)の各種ツールをはじめ、BigQuery など Google Cloud Platform(GCP)を用いたデータ統合や、広告連携アトリビューション分析などデータ活用全般を支援しております。 詳しくは下記サイトをご覧ください。

Google アナリティクス 4 プロパティ(GA4)など
Google マーケティング プラットフォーム|イー・エージェンシー
https://googleanalytics360-suite.e-agency.co.jp/

PICK UP

広報・PR・イベント運営担当

ライター

おもてなしを科学するイー・エージェンシーでは、クロスデバイス分析によるユーザー単位の分析やオンラインオフラインを横断した分析など次世代の分析をサポート。また分析データを元にしたABテスト支援から、EC領域での購買、行動データを活用したレコメンドシステムなどを提供。 お問い合わせはこちらにどうぞ。

お問い合わせ

サービスに関するご相談は
こちらよりお気軽にお問い合わせください。

e-Agencyの様々な情報をFacebookでお届けします!