logback stackdriver-loggingを作った

Post on 16-Apr-2017

473 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CyberAgent, Inc. All Rights Reserved

logback-stackdriver-loggingを作った

黒崎 優太

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

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

もうすぐ発売 最近発売

Stackdriver Loggingとは

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

○ 最近一般公開された

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

Stackdriver ErrorReportingとは

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

知してくれる

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

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

ンクもできる

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

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

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

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

サンプルアプリ

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

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

サンプルアプリの実装

None.getするからダメ

サンプルアプリの実装

None.getするからダメ

None.getするからダメ

サンプルアプリの実装

None.getするからダメ

None.getするからダメ

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

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

サーバの設定

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

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

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

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

ログが転送されるように

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かスタックトレースしか渡せない

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

なさそう…

top related