SlideShare a Scribd company logo
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/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なので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(診断コンテキスト)はマルチスレッドに向か
なさそう…

More Related Content

What's hot (12)

PDF
進撃のSbt
Yuto Suzuki
 
PPTX
C#エンジニアのためのdocker kubernetesハンズオン
Takayoshi Tanaka
 
PPTX
20190806 Q# Measurements
Takayoshi Tanaka
 
PDF
nginxのログを非スケーラブルに省メモリな方法で蓄積する
Atsushi Hayakawa
 
PPT
RecentApps
Masahiro Hidaka
 
PDF
Mackerelによる
簡単サーバー管理入門と発展形
Shinji Tanaka
 
PDF
普段の開発を少しだけ便利にする3つのレシピ
Takuma Maruyama
 
PDF
秒速ChainerMN
Keisuke Fukuda
 
PPTX
2016年度 第2回バイオインフォマティクス実習
Jun Nakabayashi
 
PDF
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
 
PPTX
1day cloud on_your_lab
Go Chiba
 
PPTX
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
真乙 九龍
 
進撃のSbt
Yuto Suzuki
 
C#エンジニアのためのdocker kubernetesハンズオン
Takayoshi Tanaka
 
20190806 Q# Measurements
Takayoshi Tanaka
 
nginxのログを非スケーラブルに省メモリな方法で蓄積する
Atsushi Hayakawa
 
RecentApps
Masahiro Hidaka
 
Mackerelによる
簡単サーバー管理入門と発展形
Shinji Tanaka
 
普段の開発を少しだけ便利にする3つのレシピ
Takuma Maruyama
 
秒速ChainerMN
Keisuke Fukuda
 
2016年度 第2回バイオインフォマティクス実習
Jun Nakabayashi
 
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
 
1day cloud on_your_lab
Go Chiba
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
真乙 九龍
 

More from kuro kuro (8)

PDF
Scalaプロダクトのビルド高速化
kuro kuro
 
PDF
Maglev: A Fast and Reliable Software Network Load Balancer
kuro kuro
 
PDF
AWSで透過プロキシをやってみた
kuro kuro
 
PDF
さくらのシンプル監視でWi-Fiの死活監視をしてみた wakate2016w LT
kuro kuro
 
PPTX
ICT Trouble Shooting Contest
kuro kuro
 
PPTX
holidaymakerを支える技術
kuro kuro
 
PDF
明大・日大交流会全体統括
kuro kuro
 
PDF
CTFに参加してきました。
kuro kuro
 
Scalaプロダクトのビルド高速化
kuro kuro
 
Maglev: A Fast and Reliable Software Network Load Balancer
kuro kuro
 
AWSで透過プロキシをやってみた
kuro kuro
 
さくらのシンプル監視でWi-Fiの死活監視をしてみた wakate2016w LT
kuro kuro
 
ICT Trouble Shooting Contest
kuro kuro
 
holidaymakerを支える技術
kuro kuro
 
明大・日大交流会全体統括
kuro kuro
 
CTFに参加してきました。
kuro kuro
 
Ad

Logback stackdriver-loggingを作った