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.
Observability at LINE
Huy Do
@dxhuy
開発1センター・開発3室
- Observabilityとは
- LINEの成長と伴うObservability EcoSystem: IMON
- いろいろな観点から見るIMON
目次
Observabilityとは
直接にサーバ入ったり、デバッグしたりせずにシステムの状態を把握すること
Metrics Tracing
Logging
https://peter.bourgon.org/blog/2017/02/21/metr...
Metrics 時系列データ、集約可能、トレンド把握のため
Observabilityとは
Tracing スコープを持っているリクエスト、デバッグのため
Logging 離散的なイベント、デバッグのため
LINEの成長と伴う
Oservability EcoSystem
- LINEのスケールを支えるため全部自作する
- たくさんサブシステムを持っているMetrics Monitoring /
Logging用の社内共通インフラ
- 社内では「...
使用イメージ
ユーザから見るIMON
The four golden signal
- Latency: デフォルトでTomcatの遅延を見て、アラートする
- armeriaを使うと、自動的にエンドポイント毎がモニタリングされる
ユーザから見るIMON
The four golden signal
- Traffic: どのぐらいリクエスト来ているのかを把握する
ユーザから見るIMON
The four golden signal
- Error: 20分毎にグルーピングされてチケットとして登録
- エラーが多すぎると気づかないことが多いので毎日集計してメール
でリポート
ユーザから見るIMON
The four golden signal
- Saturation: 基本javaシステムのサチレーションを表す数字はスレッドカウ
ント ( tomcatの ThreadCount / MaxThread )
- 直...
アーキテクチャから見るIMON
Java web app
logback
Host
Agent
IMON server
IMON server
IMON serverMySQL
Sharding
IMON UI
IMON server
IMON...
数字から見る IMON
- 1分 10万 メトリックリクエスト
- 一つのリクエストはメトリックがバッチされているので、
メトリックから見ると ~130万データポイント
- 1分 6万 ~ 8万 ログリクエスト(ピークは100万)
スケール問題から見るIMON
- サーバスケール問題
- Kafkaを活用して疎結合を実現する+SPOFを防ぐ
IMON FrontEnd
Cleanup
Metrics
Kafka
MySQL Worker
Alert Worker
ES W...
スケール問題から見るIMON
- ストレージ問題
- MySQLのデータ圧縮率悪いのでストレージ量が大きくなる
- データ量減らすためにResolutionを分ける
- 1分のデータ(短期間保存)
- 5分のデータ / 10分のデータ(長期間保...
スケール問題から見るIMON
- ホストエージェントの管理が大変問題
- 数千、数万ホストで動いているエージェントどう管理するのが困難
- ホストが死亡!=エージェントがバグ
- PythonからGoに
- 環境依存性をなくす、開発コスト・テス...
スケール問題から見るIMON
- ホストエージェントの管理が大変問題
- 全ホストのエージェント状態を一目でわかる
サイトは間に合うけど当日掲示す
るボードは入稿しちゃったので間
に合いません!未来から見る
IMON
- オンコールをサポートするアラートシステム(PagerDutyみたい)
- 社内共通トレシーングインフラ(OpenTracing, Zipk...
Thank you
Observability at LINE
Upcoming SlideShare
Loading in …5
×

Observability at LINE

243 views

Published on

LINE DEVELOPER DAY 2017 C-16

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Observability at LINE

  1. 1. Observability at LINE Huy Do @dxhuy 開発1センター・開発3室
  2. 2. - Observabilityとは - LINEの成長と伴うObservability EcoSystem: IMON - いろいろな観点から見るIMON 目次
  3. 3. Observabilityとは 直接にサーバ入ったり、デバッグしたりせずにシステムの状態を把握すること Metrics Tracing Logging https://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html
  4. 4. Metrics 時系列データ、集約可能、トレンド把握のため Observabilityとは Tracing スコープを持っているリクエスト、デバッグのため Logging 離散的なイベント、デバッグのため
  5. 5. LINEの成長と伴う Oservability EcoSystem - LINEのスケールを支えるため全部自作する - たくさんサブシステムを持っているMetrics Monitoring / Logging用の社内共通インフラ - 社内では「IMON」と呼んでいる - ホストが初期化されると自動的にモニタリングされる - 可愛いロゴと可愛いマスコット持っている
  6. 6. 使用イメージ
  7. 7. ユーザから見るIMON The four golden signal - Latency: デフォルトでTomcatの遅延を見て、アラートする - armeriaを使うと、自動的にエンドポイント毎がモニタリングされる
  8. 8. ユーザから見るIMON The four golden signal - Traffic: どのぐらいリクエスト来ているのかを把握する
  9. 9. ユーザから見るIMON The four golden signal - Error: 20分毎にグルーピングされてチケットとして登録 - エラーが多すぎると気づかないことが多いので毎日集計してメール でリポート
  10. 10. ユーザから見るIMON The four golden signal - Saturation: 基本javaシステムのサチレーションを表す数字はスレッドカウ ント ( tomcatの ThreadCount / MaxThread ) - 直接JMX見て、10秒毎のスレッドカウントアラートするサブシステムを 開発した
  11. 11. アーキテクチャから見るIMON Java web app logback Host Agent IMON server IMON server IMON serverMySQL Sharding IMON UI IMON server IMON serverElasticsearch Cluster Metadata MySQL Engineer Arbitrary script Alert JMX Metrics Log
  12. 12. 数字から見る IMON - 1分 10万 メトリックリクエスト - 一つのリクエストはメトリックがバッチされているので、 メトリックから見ると ~130万データポイント - 1分 6万 ~ 8万 ログリクエスト(ピークは100万)
  13. 13. スケール問題から見るIMON - サーバスケール問題 - Kafkaを活用して疎結合を実現する+SPOFを防ぐ IMON FrontEnd Cleanup Metrics Kafka MySQL Worker Alert Worker ES Worker - HAのために二つのIMONクラスターを用意、お互いを監視する
  14. 14. スケール問題から見るIMON - ストレージ問題 - MySQLのデータ圧縮率悪いのでストレージ量が大きくなる - データ量減らすためにResolutionを分ける - 1分のデータ(短期間保存) - 5分のデータ / 10分のデータ(長期間保存) - OpenTSDB / ElasticSearchなどへの移行も検討中 - 検討のためにKafkaが助かる
  15. 15. スケール問題から見るIMON - ホストエージェントの管理が大変問題 - 数千、数万ホストで動いているエージェントどう管理するのが困難 - ホストが死亡!=エージェントがバグ - PythonからGoに - 環境依存性をなくす、開発コスト・テストコストを削減 - エージェントが自分のhttpサーバを持って状態をprometheus形式でエク スポートする - そこで全ホストのエージェントをprometheusで監視・アラート可能
  16. 16. スケール問題から見るIMON - ホストエージェントの管理が大変問題 - 全ホストのエージェント状態を一目でわかる
  17. 17. サイトは間に合うけど当日掲示す るボードは入稿しちゃったので間 に合いません!未来から見る IMON - オンコールをサポートするアラートシステム(PagerDutyみたい) - 社内共通トレシーングインフラ(OpenTracing, Zipkinなど) - 新しいインフラスタックに対応する(k8sなど) - ......... (やりたいことがたくさんあります)
  18. 18. Thank you

×