ヤマムギ

growing hard days.

*

AWS CloudWatch LogsエージェントでAmazon EC2上のNginxのaccess.log , error.log , php-fpm error.log , Linuxのmessages , secureログを収集する

   


参考ページ

クイックスタート: 実行中の EC2 インスタンスに CloudWatch Logs エージェントをインストールして設定する – Amazon CloudWatch ログ

EC2用のIAMロールを作成する

※既にEC2に設定しているIAMロールがありましたので次のポリシーを追加しました。

新たに作成する場合は下記のポリシーを設定したIAMロールをEC2に設定します。

EC2に CloudWatch Logsをインストールする

EC2にSSHログインシて作業します。

CloudWatch Logsを設定する

リージョンを設定します。

取得したいログファイルの設定をします。

datetime_formatについて

2017-08-12 05:04:03,618 – cwlogs.push.reader – WARNING – 2458 – Thread-4 – Fall back to current time: {‘timestamp’: 1502481843618, ‘start_position’: 25765L, ‘end_position’: 26029L}, reason: timestamp could not be parsed from message.

適切な設定をしないと上記のような警告ログが出力されてタイムスタンプが正常に反映されません。

それぞれのログファイルのタイムスタンプは確認したところ、下記のようになっていました。

ログファイル タイムスタンプ datetime_format
Nginx error.log 2017/08/12 05:04:00 %Y/%m/%d %H:%M:%S
Nginx access.log 12/Aug/2017:06:19:17 +0900 %d/%b/%Y:%H:%M:%S %z
php-fpm error.log 12-Aug-2017 05:24:38 %d-%b-%Y %H:%M:%S
php-fpm www-error.log 10-Aug-2017 23:40:46 UTC %d-%b-%Y %H:%M:%S
messages Aug 12 06:13:36 %b %d %H:%M:%S
secure Aug 11 04:03:33 %b %d %H:%M:%S

datetime_formatのフォーマット記号

記号 備考
%a Sun, Mon, …, Sat (en_US)
%A Sunday, Monday, …, Saturday (en_US)
%w 0, 1, …, 6 日~土までの数字
%d 01, 02, …, 31
%b Jan, Feb, …, Dec (en_US)
%B January, February, …, December (en_US)
%m 01, 02, …, 12
%y 00, 01, …, 99 西暦下2桁
%Y 1970, 1988, 2001, 2013
%H 00, 01, …, 23 24時間表記の時間
%I 01, 02, …, 12 12時間表記の時間
%p AM, PM (en_US)
%M 00, 01, …, 59
%S 00, 01, …, 59
%f 000000, 000001, …, 999999 マイクロ秒
%z (empty), +0000, -0400, +1030 標準時との差
%j 001, 002, …, 365 年における日
%U 00, 01, …, 53 年における週連番(最初の日曜日から0)
%W 00, 01, …, 53 年における週連番(最初の月曜日から0)

サービス起動

AWS CloudWatchのログを確認

ログが出来てます。

Nginxのaccess.logを見るとそれなりに攻撃されているのが分かりました。

対策は別記事で。


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - AWS , , ,

ad

ad

  関連記事

AWS EC2 Amazon Linuxにmauticをインストールする(Sendgrid, Nginx, MySQL on RDS)

mauticをAmazon LinuxとNginx,MySQL on RDSにイ …

TuneCoreの売上データCSVをS3に格納してAthenaのクエリをRe:dashのデータソースにして可視化する

先日参加しましたAWS Summit Tokyo 2017で、 [JapanTa …

AWSのAmazon LinuxにGitマスターサーバをインストールしてRedmineリポジトリブラウザで見る

目次 Amazon LinuxにGitをインストールするリポジトリの作成Sour …

AWS EC2でAMI(Amazon Machine Image)を作成しておく

前回まででひとまずRedmineを構築するところまで出来たので、念のためスナップ …

AWS Lambda(Python3)でSelenium + Chrome Headless + でwebスクレイピングする

インターネット上に公開されている情報をDynamoDBにつっこみたいだけなので、 …

AWS Lambda(Python3.7)でPandocを実行する

目次 昨日まで(AWS Batch)今日から(AWS Lambda)ARNを指定 …

AWSアカウント ルートユーザーのMFAが使えなくなったので復旧

AWSのルートユーザーどころか、MFAが使えるログインすべてが使えなくなって焦り …

2017年、このブログ(WordPress(Amazon EC2 + RDS))で対応してきたこと

Amazon Web Services Advent Calendar 2017 …

AWS Lambdaで Unable to import module エラーが発生したときは

そもそも、Pycharmのナビゲーションペインでディレクトリごとドラッグ&amp …

Backlogの実績工数をAmazon QuickSightで可視化してわかったこと

今年に入ってから、Backlogで個人タスクを登録しだして、予定工数、実績工数を …