とりあえずブログ

SEとして働く会社員の雑多なブログ

ハニーポットのログをいつでもどこでも見たいのでAmazon CloudWatch Logsを設定しました

毎日ハニーポットのログを見るのが、日課になっています。

ただ、今はログを見る際パソコンを広げて、見るというスタイルで、いつでもどこでも見ることができるというわけではないので、いつでもどこでもハニーポットのログが確認できるようにAmazon CloudWatch Logsを使って、ブラウザで確認できるようにしたので、その手順をご紹介します。

Amazon CloudWatch Logsとは

Amazon CloudWatch Logsは、AWSのCloudWatchを使用して特定のログをモニタリングできる機能です。

既存のシステム、アプリケーション、カスタムログファイルを CloudWatch ログに送信して、これらのログをほぼリアルタイムでモニタリングできます。これにより、システムとアプリケーションの理解と運用を向上し、ログを耐久性が高くコストの低いストレージに保存して、後からアクセスできます。

Amazon CloudWatch(AWS リソースのモニタリング)| AWS

Amazon CloudWatch Logs設定手順

Amazon CloudWatch Logsの設定手順に関しては、ほぼAWSのサイト通りに行えば問題なくできるのですが、Ubuntuでの設定手順が記載されていないので、そのあたりを含めてご紹介します。

docs.aws.amazon.com

ステップ 1: IAM ロールまたは CloudWatch Logs ユーザーを設定する

これはもうほぼ上記の公式ドキュメント通りに行いました。

AWSコンソール画面からIAMを選択し、こんな感じでロールを作成しました。 ポリシーは、「CloudWatchLogsFullAccess」を選択しました。

f:id:tkm03:20180510222813j:plain

ステップ 2: 既存の Amazon EC2 インスタンスに CloudWatch Logs をインストールして設定する

Ubuntuの場合、yumコマンドがないのと、yumをインストールしてもリポジトリの設定等が煩雑なため、下記コマンドを実行してインストールしました。

$ curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
$ sudo python ./awslogs-agent-setup.py --region ap-northeast-1

二つ目のコマンドを実行すると、対話形式で入力を求められるので、それぞれ入力していきます。

# sudo python ./awslogs-agent-setup.py --region ap-northeast-1
Launching interactive setup of CloudWatch Logs agent ... 

Step 1 of 5: Installing pip ...libyaml-dev does not exist in system DONE

Step 2 of 5: Downloading the latest CloudWatch Logs agent bits ... DONE

Step 3 of 5: Configuring AWS CLI ... 
AWS Access Key ID [None]: XXXXXX
AWS Secret Access Key [None]: XXXXXX
Default region name [ap-northeast-1]: ap-northeast-1 
Default output format [None]: 

Step 4 of 5: Configuring the CloudWatch Logs Agent ... 
Path of log file to upload [/var/log/syslog]: /opt/myhoneypot/log/glastopf.log
Destination Log Group name [/opt/myhoneypot/log/glastopf.log]: 

Choose Log Stream name:
  1. Use EC2 instance id.
  2. Use hostname.
  3. Custom.
Enter choice [1]: 1

Choose Log Event timestamp format:
  1. %b %d %H:%M:%S    (Dec 31 23:59:59)
  2. %d/%b/%Y:%H:%M:%S (10/Oct/2000:13:55:36)
  3. %Y-%m-%d %H:%M:%S (2008-09-08 11:52:54)
  4. Custom
Enter choice [1]: 1

Choose initial position of upload:
  1. From start of file.
  2. From end of file.
Enter choice [1]: 1
More log files to configure? [Y]: N

Step 5 of 5: Setting up agent as a daemon ...DONE


------------------------------------------------------
- Configuration file successfully saved at: /var/awslogs/etc/awslogs.conf
- You can begin accessing new log events after a few moments at https://console.aws.amazon.com/cloudwatch/home?region=ap-northeast-1#logs:
- You can use 'sudo service awslogs start|stop|status|restart' to control the daemon.
- To see diagnostic information for the CloudWatch Logs Agent, see /var/log/awslogs.log
- You can rerun interactive setup using 'sudo python ./awslogs-agent-setup.py --region ap-northeast-1 --only-generate-config'
------------------------------------------------------

ステップ 3: ログの確認

最後にAWSコンソールのCloudWatch画面でちゃんとログが表示できているか確認します。

f:id:tkm03:20180510223701j:plain

すると、こんな感じで閲覧することができました。

f:id:tkm03:20180510224020j:plain

僕のiPhoneで同じ画面を見るとこんな感じです。

f:id:tkm03:20180510224336j:plain

流石にiPhoneの画面だと少し見づらいところはありますが、これでいつでもどこでもハニーポットのログが確認できるので、電車での移動や待ち時間で眺めてみようと思います。

関連記事

saito.hatenadiary.com

saito.hatenadiary.com

saito.hatenadiary.com

saito.hatenadiary.com

saito.hatenadiary.com