ヤマムギ

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を見るとそれなりに攻撃されているのが分かりました。

対策は別記事で。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , ,

ad

ad

  関連記事

IAMユーザーのマネジメントコンソールログインパスワードを変更してDynamoDBに記録するLambda(Python)

やりたいこと IAMユーザーのマネジメントコンソールへのサインインパスワードを動 …

Amazon Connect 発信イベントをEventBridgeで確認

Amazon Connectから発信した電話に出たのか、出なかったのかを確認した …

AWS Firewall Managerを設定して結果を確認

CloudFront対応のポリシーとして作成したかったので、Globalを選択し …

IAMアクセス許可の境界でIAMロールの権限を制御する

IAMユーザー自身の権限はIAMポリシーで制御できますが、IAMユーザーにIAM …

boto3(Python SDK) s3 get_object でバイト範囲を指定する

S3のGetObjectアクションでバイト範囲を指定することができます。 それに …

AWS SSOのIDソースをAD Connectorにしました

オンプレミス想定のActive DirectoryにVPN接続して、AD Con …

ENAが有効なEC2インスタンスの帯域幅をiperf3で確認してみた

同じ Amazon VPC 内で Amazon EC2 Linux インスタンス …

Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する

EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …

Amazon WorkSpaces Web Accessを有効化する

仕事がら、Amazon WorkSpacesをディレクトリも含めて一時的にセット …

ヤマムギvol.23 Amazon RDS for MySQLとAmazon Aurora Serverlessの起動のデモをしました

ゴールデンウィーク毎朝デモ勉強会は終わったのですが、土曜日にやれるときがあれば、 …