投稿日:
2019年5月4日
最終更新日:
【運用改善への近道】LogbackでAWSのCloudWatchに転送する方法【com.j256.cloudwatchlogbackappender】
YouTubeも見てね♪
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
【最新機種】GoPro hero11 Black
最新機種でVlogの思い出を撮影しよう!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
ドラゴンクエスト メタリックモンスターズギャラリー メタルキング
みんな大好き経験値の塊をデスクに常備しておこう!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド
Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!
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環境でシステムを運用する場合は運用がとても便利になるので、是非試してみてください♪