Logback stackdriver-loggingを作った

20
CyberAgent, Inc. All Rights Reserved logback-stackdriver-logging作った

Transcript of Logback stackdriver-loggingを作った

Page 1: Logback stackdriver-loggingを作った

CyberAgent, Inc. All Rights Reserved

logback-stackdriver-loggingを作った

Page 2: Logback stackdriver-loggingを作った

黒崎 優太

● アドテクスタジオ Dynalyst エンジニア

● 本の査読に参加しました↓

もうすぐ発売 最近発売

Page 3: Logback stackdriver-loggingを作った

Stackdriver Loggingとは

● ログをいい感じに管理してくれる(詳細は後述)○ クラウド / オンプレ制限なし

○ 最近一般公開された

● $0.5 / GB (GCP上なら5GB/月まで無料)● BigQuery / PubSubへストリーミング可能

Page 4: Logback stackdriver-loggingを作った

Stackdriver ErrorReportingとは

● loggingの設定ができていれば勝手にエラー検

知してくれる

● ログに流れてきたスタックトレースを解析

● Github連携すればエラー箇所のコードへのリ

ンクもできる

Page 5: Logback stackdriver-loggingを作った

logback-stackdriver-logging● https://github.com/kurochan/logback-stac

kdriver-logging● Stackdriver Logging用のフォーマットでロ

グを出力するlogbackのカスタムフォーマッ

● logback.xmlで指定することで使用可能

Page 6: Logback stackdriver-loggingを作った

サンプルアプリ

● https://github.com/kurochan/sample-scala-bad-api

● すぐエラー吐きそうな実装

Page 7: Logback stackdriver-loggingを作った

サンプルアプリの実装

None.getするからダメ

Page 8: Logback stackdriver-loggingを作った

サンプルアプリの実装

None.getするからダメ

None.getするからダメ

Page 9: Logback stackdriver-loggingを作った

サンプルアプリの実装

None.getするからダメ

None.getするからダメ

数字じゃなかったらどうするんだ

Page 10: Logback stackdriver-loggingを作った

サンプルアプリの実装 (logback.xml)

Page 11: Logback stackdriver-loggingを作った

サーバの設定

● https://cloud.google.com/logging/docs/agent/installation○ ドキュメントに従ってagentを入れる

● GCEを使う場合はスクリプト1発で完了

● 中身はfluentなのでlogbackで吐き出すログ・

ファイルをtailするように設定すれば

ログが転送されるように

Page 12: Logback stackdriver-loggingを作った

Stackdriver Logging● ログレベルごとに

色がつく

● 検索 / フィルタリング

● ほぼリアルタイムに

流し見

Page 13: Logback stackdriver-loggingを作った

Stackdriver Logging

Page 14: Logback stackdriver-loggingを作った

Stackdriver Logging

Page 15: Logback stackdriver-loggingを作った

Stackdriver Logging

Page 16: Logback stackdriver-loggingを作った

Stackdriver ErrorReporting

● エラーの回数や時刻、サービス名/バージョ

ンがほぼリアルタイムに表示

Page 17: Logback stackdriver-loggingを作った

Stackdriver ErrorReporting

Page 18: Logback stackdriver-loggingを作った

新しいエラーはメールが来る

Page 19: Logback stackdriver-loggingを作った

アクセス!!

● http://zako.kurochan.org○ /echo-text?text=hello-world○ /echo-number?number=123

Page 20: Logback stackdriver-loggingを作った

困ってること

● (新しいエラーの場合)メールが来る

○ それ以外の場合メールが来ない!!

○ 通知機能実装してほしい頼む

● Stackdriver Loggingは構造化したログが扱

えるのに、logbackのインターフェイス上Stringかスタックトレースしか渡せない

○ MDC(診断コンテキスト)はマルチスレッドに向か

なさそう…