Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
CyberAgent, Inc. All Rights Reserved
logback-stackdriver-loggingを
作った
黒崎 優太
● アドテクスタジオ Dynalyst エンジニア
● 本の査読に参加しました↓
もうすぐ発売 最近発売
Stackdriver Loggingとは
● ログをいい感じに管理してくれる(詳細は後述)
○ クラウド / オンプレ制限なし
○ 最近一般公開された
● $0.5 / GB (GCP上なら5GB/月まで無料)
● BigQuery / Pu...
Stackdriver ErrorReportingとは
● loggingの設定ができていれば勝手にエラー検
知してくれる
● ログに流れてきたスタックトレースを解析
● Github連携すればエラー箇所のコードへのリ
ンクもできる
logback-stackdriver-logging
● https://github.com/kurochan/logback-stac
kdriver-logging
● Stackdriver Logging用のフォーマットでロ
グを出...
サンプルアプリ
● https://github.com/kurochan/sa
mple-scala-bad-api
● すぐエラー吐きそうな実装
サンプルアプリの実装
None.get
するからダメ
サンプルアプリの実装
None.get
するからダメ
None.get
するからダメ
サンプルアプリの実装
None.get
するからダメ
None.get
するからダメ
数字じゃなかった
らどうするんだ
サンプルアプリの実装 (logback.xml)
サーバの設定
● https://cloud.google.com/logging/docs/age
nt/installation
○ ドキュメントに従ってagentを入れる
● GCEを使う場合はスクリプト1発で完了
● 中身はfluent...
Stackdriver Logging
● ログレベルごとに
色がつく
● 検索 / フィルタリング
● ほぼリアルタイムに
流し見
Stackdriver Logging
Stackdriver Logging
Stackdriver Logging
Stackdriver ErrorReporting
● エラーの回数や時刻、サービス名/バージョ
ンがほぼリアルタイムに表示
Stackdriver ErrorReporting
新しいエラーはメールが来る
アクセス!!
● http://zako.kurochan.org
○ /echo-text?text=hello-world
○ /echo-number?number=123
困ってること
● (新しいエラーの場合)メールが来る
○ それ以外の場合メールが来ない!!
○ 通知機能実装してほしい頼む
● Stackdriver Loggingは構造化したログが扱
えるのに、logbackのインターフェイス上String...
Upcoming SlideShare
Loading in …5
×

Logback stackdriver-loggingを作った

1,575 views

Published on

Logbackでstackdriver-loggingに合わせた形式のログを吐けるようにした話です。

Published in: Engineering
  • Be the first to comment

Logback stackdriver-loggingを作った

  1. 1. CyberAgent, Inc. All Rights Reserved logback-stackdriver-loggingを 作った
  2. 2. 黒崎 優太 ● アドテクスタジオ Dynalyst エンジニア ● 本の査読に参加しました↓ もうすぐ発売 最近発売
  3. 3. Stackdriver Loggingとは ● ログをいい感じに管理してくれる(詳細は後述) ○ クラウド / オンプレ制限なし ○ 最近一般公開された ● $0.5 / GB (GCP上なら5GB/月まで無料) ● BigQuery / PubSubへストリーミング可能
  4. 4. Stackdriver ErrorReportingとは ● loggingの設定ができていれば勝手にエラー検 知してくれる ● ログに流れてきたスタックトレースを解析 ● Github連携すればエラー箇所のコードへのリ ンクもできる
  5. 5. logback-stackdriver-logging ● https://github.com/kurochan/logback-stac kdriver-logging ● Stackdriver Logging用のフォーマットでロ グを出力するlogbackのカスタムフォーマッ タ ● logback.xmlで指定することで使用可能
  6. 6. サンプルアプリ ● https://github.com/kurochan/sa mple-scala-bad-api ● すぐエラー吐きそうな実装
  7. 7. サンプルアプリの実装 None.get するからダメ
  8. 8. サンプルアプリの実装 None.get するからダメ None.get するからダメ
  9. 9. サンプルアプリの実装 None.get するからダメ None.get するからダメ 数字じゃなかった らどうするんだ
  10. 10. サンプルアプリの実装 (logback.xml)
  11. 11. サーバの設定 ● https://cloud.google.com/logging/docs/age nt/installation ○ ドキュメントに従ってagentを入れる ● GCEを使う場合はスクリプト1発で完了 ● 中身はfluentなのでlogbackで吐き出すログ・ ファイルをtailするように設定すれば ログが転送されるように
  12. 12. Stackdriver Logging ● ログレベルごとに 色がつく ● 検索 / フィルタリング ● ほぼリアルタイムに 流し見
  13. 13. Stackdriver Logging
  14. 14. Stackdriver Logging
  15. 15. Stackdriver Logging
  16. 16. Stackdriver ErrorReporting ● エラーの回数や時刻、サービス名/バージョ ンがほぼリアルタイムに表示
  17. 17. Stackdriver ErrorReporting
  18. 18. 新しいエラーはメールが来る
  19. 19. アクセス!! ● http://zako.kurochan.org ○ /echo-text?text=hello-world ○ /echo-number?number=123
  20. 20. 困ってること ● (新しいエラーの場合)メールが来る ○ それ以外の場合メールが来ない!! ○ 通知機能実装してほしい頼む ● Stackdriver Loggingは構造化したログが扱 えるのに、logbackのインターフェイス上String かスタックトレースしか渡せない ○ MDC(診断コンテキスト)はマルチスレッドに向か なさそう…

×