ねこじゃすり
猫を魅了する魔法の装備品!
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
【最新機種】GoPro hero11 Black
最新機種でVlogの思い出を撮影しよう!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
ドラゴンクエスト メタリックモンスターズギャラリー メタルキング
みんな大好き経験値の塊をデスクに常備しておこう!
サンディスク microSD 128GB
スマホからSwitchまで使える大容量MicroSDカード!
スポンサーリンク
CloudWatchにログを転送しよう
近年のサーバーシステムは、オンプレでサーバー構築をする事はほとんど無くなりました。
そして、クラウドシステムとしてはAWSかGCPの二択になると思います。
今回はcloudwatch-logback-appenderを利用して、AWSのCloudWatchにシステムログを転送する方法をご紹介します。
CloudWatchを利用する事で、ログ解析が格段に行いやすくなるのでオススメです♪
手順
前提
まずはAWSでCloudWatchへの権限があるIAMを用意しておいてください。
そのユーザーのアクセスキーとシークレットキーを利用します。
依存関係の追加
まずはgradle
の依存関係を追加しましょう。
1 2 3 4 5 6 |
ext { ... accountService.awsSdkVersion = '1.11.483' accountService.cloudWatchLogbackAppenderVersion = '1.11' ... } |
1 2 3 4 5 6 |
buildscript { .... compile "com.amazonaws:aws-java-sdk:${accountService.awsSdkVersion}" compile "com.j256.cloudwatchlogbackappender:cloudwatchlogbackappender:${accountService.cloudWatchLogbackAppenderVersion}" ... } |
logbackの設定を修正
次にlogback-spring.xml
にCloudWatch用の設定を追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?xml version="1.0" encoding="UTF-8"?> ... <appender name="CLOUDWATCH" class="com.j256.cloudwatchlogbackappender.CloudWatchAppender"> <region>ap-northeast-1</region> <accessKeyId>XXX</accessKeyId> <secretKey>YYY</secretKey> <logGroup>blogenist-loggroup</logGroup> <logStream>blogenist-logstream</logStream> <layout> <pattern>${FORMAT}</pattern> </layout> <maxBatchSize>32</maxBatchSize> </appender> <root level="DEBUG"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> <appender-ref ref="CLOUDWATCH" /><!-- 追加 --> </root> </configuration> |
確認
設定はこれだけです。
では実際に、サーバーを起動してリクエストを投げてみましょう。
1 2 3 4 5 6 |
# レスポンスヘッダー < HTTP/1.1 200 < x-request-id: 0523847d-68dc-4db8-8de0-00f65592f43a < Content-Type: application/json;charset=UTF-8 < Transfer-Encoding: chunked < Date: Sat, 04 May 2019 04:23:23 GMT |
正常にCloudWatchに転送されていますね。
また、以前埋め込んだX-Request-Id
も正常に出力されているので、レスポンスヘッダーに含まれているx-request-id
で絞り込む事で対象のログを絞り込めるのでとても調査がしやすいです!
終わりに
以上のように、ライブラリを追加してちょっとした設定を追加するだけでとても簡単にCloudWatchにログを転送する事が出来ました。
AWS環境でシステムを運用する場合は運用がとても便利になるので、是非試してみてください♪