Enviar pesquisa
Carregar
分散トレーシング技術について(Open tracingやjaeger)
•
27 gostaram
•
23,459 visualizações
NTT Communications Technology Development
Seguir
勉強会で分散トレーシング技術について調査した内容を発表した資料です。OpenTracingやJaegerなどについてのざっくりとした解説などを行っています。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 25
Baixar agora
Baixar para ler offline
Recomendados
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
naoki koyama
Mais conteúdo relacionado
Mais procurados
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
HTTP/2 入門
HTTP/2 入門
Yahoo!デベロッパーネットワーク
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
Takeru Maehara
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
Mais procurados
(20)
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
HTTP/2 入門
HTTP/2 入門
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Semelhante a 分散トレーシング技術について(Open tracingやjaeger)
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
apkiban
1分で分かる SoftLayer 監視入門
1分で分かる SoftLayer 監視入門
Masahito Zembutsu
ペアワークで持続的に成長するチームになろう!
ペアワークで持続的に成長するチームになろう!
Shinya Nakajima
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Yuichi Hasegawa
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
日本Javaユーザーグループ
Cdci for asaserviceera
Cdci for asaserviceera
Takao Tetsuro
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
Tsukasa Kato
Tech on meetup online#01
Tech on meetup online#01
Kazuya Suda
コンテナは次世代サービスの主流になるか?
コンテナは次世代サービスの主流になるか?
SAKURA Internet Inc.
2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について
Shinya Nakajima
微博(ウェイボ)型社内SNSとモバイルで始める社内の可視化
微博(ウェイボ)型社内SNSとモバイルで始める社内の可視化
Takamitsu Nakao
クラウドネイティブトランスフォーメーションのススメ
クラウドネイティブトランスフォーメーションのススメ
Hiromasa Oka
【Tech-Circle #3 & OCDET #7 SDS勉強会】 Ceph on SoftLayer
【Tech-Circle #3 & OCDET #7 SDS勉強会】 Ceph on SoftLayer
Nobuyuki Matsui
スマフォセキュリティセミナ(配付用) R 20110417
スマフォセキュリティセミナ(配付用) R 20110417
知礼 八子
Ipメッセージング勉強会
Ipメッセージング勉強会
Katsumi Takahashi
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
Takahiro Fujii
機械学習によるマーケット健全化施策を支える技術
機械学習によるマーケット健全化施策を支える技術
Hirofumi Nakagawa
CMC_Meetup八子プレゼン 20170412
CMC_Meetup八子プレゼン 20170412
知礼 八子
物体認識 IoT サービスを支える技術 〜クラウドアーキテクチャから組込み深層学習まで〜
物体認識 IoT サービスを支える技術 〜クラウドアーキテクチャから組込み深層学習まで〜
Takashi Kaneda
Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes × 可用性 -- cndjp第3回勉強会
Hiroshi Hayakawa
Semelhante a 分散トレーシング技術について(Open tracingやjaeger)
(20)
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
1分で分かる SoftLayer 監視入門
1分で分かる SoftLayer 監視入門
ペアワークで持続的に成長するチームになろう!
ペアワークで持続的に成長するチームになろう!
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Cdci for asaserviceera
Cdci for asaserviceera
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
Tech on meetup online#01
Tech on meetup online#01
コンテナは次世代サービスの主流になるか?
コンテナは次世代サービスの主流になるか?
2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について
微博(ウェイボ)型社内SNSとモバイルで始める社内の可視化
微博(ウェイボ)型社内SNSとモバイルで始める社内の可視化
クラウドネイティブトランスフォーメーションのススメ
クラウドネイティブトランスフォーメーションのススメ
【Tech-Circle #3 & OCDET #7 SDS勉強会】 Ceph on SoftLayer
【Tech-Circle #3 & OCDET #7 SDS勉強会】 Ceph on SoftLayer
スマフォセキュリティセミナ(配付用) R 20110417
スマフォセキュリティセミナ(配付用) R 20110417
Ipメッセージング勉強会
Ipメッセージング勉強会
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
機械学習によるマーケット健全化施策を支える技術
機械学習によるマーケット健全化施策を支える技術
CMC_Meetup八子プレゼン 20170412
CMC_Meetup八子プレゼン 20170412
物体認識 IoT サービスを支える技術 〜クラウドアーキテクチャから組込み深層学習まで〜
物体認識 IoT サービスを支える技術 〜クラウドアーキテクチャから組込み深層学習まで〜
Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes × 可用性 -- cndjp第3回勉強会
Mais de NTT Communications Technology Development
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
NTT Communications Technology Development
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
NTT Communications Technology Development
Argo CDについて
Argo CDについて
NTT Communications Technology Development
SpinnakerとKayentaで 高速・安全なデプロイ!
SpinnakerとKayentaで 高速・安全なデプロイ!
NTT Communications Technology Development
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
NTT Communications Technology Development
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
NTT Communications Technology Development
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
NTT Communications Technology Development
Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905
NTT Communications Technology Development
NTT Tech Conference #2 - closing -
NTT Tech Conference #2 - closing -
NTT Communications Technology Development
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡
NTT Communications Technology Development
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
NTT Communications Technology Development
SpinnakerとOpenStackの構築
SpinnakerとOpenStackの構築
NTT Communications Technology Development
Troveコミュニティ動向
Troveコミュニティ動向
NTT Communications Technology Development
Web rtc for iot, edge computing use cases
Web rtc for iot, edge computing use cases
NTT Communications Technology Development
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
NTT Communications Technology Development
NTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening Keynote
NTT Communications Technology Development
NTT Tech Conference #1 Closing Keynote
NTT Tech Conference #1 Closing Keynote
NTT Communications Technology Development
OpsからみたOpenStack Summit
OpsからみたOpenStack Summit
NTT Communications Technology Development
Mais de NTT Communications Technology Development
(20)
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
Argo CDについて
Argo CDについて
SpinnakerとKayentaで 高速・安全なデプロイ!
SpinnakerとKayentaで 高速・安全なデプロイ!
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905
NTT Tech Conference #2 - closing -
NTT Tech Conference #2 - closing -
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
SpinnakerとOpenStackの構築
SpinnakerとOpenStackの構築
Troveコミュニティ動向
Troveコミュニティ動向
Web rtc for iot, edge computing use cases
Web rtc for iot, edge computing use cases
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
NTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Closing Keynote
NTT Tech Conference #1 Closing Keynote
OpsからみたOpenStack Summit
OpsからみたOpenStack Summit
Último
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
sugiuralab
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Último
(7)
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
分散トレーシング技術について(Open tracingやjaeger)
1.
分散トレーシング技術について
2.
About me Mahito Ogura
(小倉真人<m.ogura@ntt.com>) NTTコミュニケーションズ 技術開発部 業務:クラウドや分散システムの調査検証 ● コムウェア入社(H21)2014年に異動で現職 ● インフラ構築(Chef, Ansible) ● アプリケーション開発(Ruby) ● OpenStackとか分散ミドルとかコンテナ ● 採用のお手伝いとか各種イベント業, etc...
3.
はじめに 現代のサービスは複雑化され、そのシステムは大規模に分散することが多い。 特にサービスの機能ごとに分けて作り、それらを疎結合させるMicroservicesアーキテク チャの流行もあり、機能ごとに開発チームが異なることや、開発言語が違うことが増え、 サービス内部はより分散し複雑化している。 分散し複雑化したサービスにおいて機能ごとの関係性を把握することは難しく、エラーや 性能問題などが起きた際にその原因特定が非常に難しくなる。 こうした問題に取り組むべく、分散されたサービス内のリクエストをトレース可能な、分散 トレーシング技術が現在注目を浴びている。
4.
分散トレーシングの歴史 2003年「Magpie: Online Modelling
and Performance-aware Systems」 2007年「X-Trace: A Pervasive Network Tracing Framework」 2010年「Dapper, a Large-Scale Distributed Systems Tracing Infrastructure」 以降、Dapperの論文を元にZipkinやDapperとZipkinをベースにしたappdash、HDFSや HBaseに使われているHTraceなどのOSSが開発される。 また、最近では分散Tracingの仕様やAPIを取りまとめたOpenTracingが登場し、 OpenTracingの仕様を実装したライブラリや、上記OSSのOpenTracing対応が進められて いる。
5.
インターネットサービスはしばしば複雑に実装され、大規模に分散したシステムとなって いることがある。 これらのシステムはソフトウェアモジュールの集合であり、各ソフトウェアモジュールは、 開発チームが異なることや、開発言語が異なること、そして何千台のマシンの複数のレ イヤにまたがることがある。 こうした環境においてシステムのしくみの理解や、性能問題の原因特定は難しく、一度 問題が起きると解決に至るまでに膨大なコストがかかることがある。 こうした問題を解決するために、各システムの挙動や性能を把握することができる分散 トレーシング技術が注目を集めている。 なぜ分散トレーシングが注目されているか
6.
参考:OpenStackのアーキテクチャ
7.
分散トレーシングに必要なしくみは次の2つ ● 分散トレーシングのしくみ(ライブラリ含む) ● トレースの結果をモニタリングするためのしくみ また、トレーシングがシステムの性能に影響を及ぼさないよう、 一部の処理だけをトレースするためのサンプリングレートを設定するしくみを 設けている分散トレーシングツールも存在している(ex.Zipkin,
OpenTracing) 分散トレーシング
8.
Trace:Span全体のStartからFinishまでを含むSpanの集合体 Span:ひとつのサービス(境界)内の処理。以下の情報が含まれる 分散トレーシング(OpenTracing)用語解説 -1/2- Trace Span
9.
オプション ● Span Tags ●
Span Logs ● References ○ 他Spanとの関係性 分散トレーシング(OpenTracing)用語解説 2/2 必須 ● Operation Name ● Start / Finish Timestamp ● Span Context ○ Baggage Items ○ tarace / span ID
10.
以下例では、Traceは8つのSpanから構成されている。 各Spanの間には関係性があり有効巡回グラフ(DAG)で表すことができる。 Spanの関係図(DAG)
11.
SpanとReferenceについて ChildOf Reference: 親Spanが依存する子Spanとの関係(例:RPC, SQL) FollowsFrom
Reference: 親Spanが依存しない子Spanとの関係(例:非同期処理)
12.
分散トレーシングのユースケース ● プログラム内の関数レベルのトレース ● サーバのエンドポイントのトレース ●
クライアントコールのトレース ● 分散環境におけるデータの分散 / 転送 ● イベントのロギング ● メッセージバス(MQ and Pub/Sub)シナリオのトレース
13.
OpenTracingについて OpenTracingは、一般的なプラットフォームに向けて、一貫したベンダ非依存なAPIを提 供することにより、開発者に容易にシステムへトレーサの追加、またはトレーサの切り替 えを行うことが出来るしくみを提供する、分散トレーシングの実装である。 また、OpenTracingは分散トレーシングとしてのOSSの実装以外にも、プラットフォーム固 有のトレーサーに向けた共通仕様も用意しており、他の分散トレーシングツールはこの 仕様を実装することで、OpenTracing互換のトレーサーとして実装することが出来るた め、ユーザは設定の変更だけでトレーサの切り替えを行うことができる。
14.
OpenTracing仕様を実装したトレーサー ● Zipkin:Twitter社が開発したトレーサー ● Jaeger:Uber社が開発したトレーサー ●
Appdash:sourcegraph社がGo言語で開発した軽量なトレーサー ● LightStep:OpenTracing互換のトレーサー ● Hawkular:OpenTracing-Javaをサポート ● Instana:OpenTracingのJava, Node.js, Goをサポート ● sky-walking:OpenTracing-Javaをサポート ● inspectIT:OpenTracing-Javaをサポート ● stagemonitor:Javaのバイトコードからトレーシングを行う
15.
Zipkin GoogleのDapperを参考に作られた分散トレーシングシステム 分散システムのレイテンシ問題の トラブルシューティングに必要な データを収集し(Zipkin)、 システムの依存関係を参照するための UI(Zipkin UI)を提供する アーキテクチャは右図参照 ● ReporterはTransportにデータを転送 ●
Transporはcollectorにデータを転送 ● CollectorはStorageにデータを格納 参考:http://zipkin.io/pages/architecture.html
16.
Jaeger Uber社がGo言語で開発している分散トレーサーとそのUI ● 2017年9月にプロジェクトがCNCFにホストされることになった Go言語で書かれた自前のモニタリングツールが用意されている Go, Python,
Node, JavaなどのTracerが用意されている ● Python 3には未対応
17.
Architecture 出典:http://jaeger.readthedocs.io/en/latest/architecture/
18.
分散トレースのしくみ(ex. HTTP Request) HTTPヘッダに格納された親スパンの 情報をデシリアライズ(extract) 現在のSpanの情報をシリアライズして HTTPヘッダに格納(inject) Serialize
span ID to a string {trace_id}:{span_id}:{parent_id}:{flags} 出典:http://jaeger.readthedocs.io/en/latest/architecture/
19.
sourcegraph社がGo言語で開発した軽量なトレーサー Go言語で書かれた自前のモニタリングツールが用意されている ● 一応OpenTracingへの対応はしているとドキュメントに書かれている ● 開発の更新は2016/11で止まっている(2017/9/19時点) ●
DAGの表示はできない Go, Python, Ruby(サードパーティー)などのTracerが用意されている ● しかしながらRubyはOpenTracing未対応かつ壊れている可能性が高い 参考:Appdashを動かしてみた - Qiita Appdash
20.
LightStep OpenTracing互換のTracer ● Go /
JavaScript / Python / PHP / Ruby / Java / iOS / Android MonitoringはSplunk/kibanaを利用する模様 詳細はLightStep社に問い合わせが必要
21.
Hawkular RedHatが支援している既存のモニタリングの課題を解決するためのツール 以下の4つの機能を有する ● Federated Alerting ●
Distributed Tracing ● Metrics TSDB ● ManageIQ Provider 分散トレーシングについてはJaegerとコラボをすることでOpenTracing対応をしているらし い。
22.
サンプル(OpenStack Novaへの実装) nova-computeがnova-schedulerにインスタンスの情報を同期する流れ 22 nova-compute Queue <conductor> RabbitMQ nova-conductor Queue <reply_xxx> nova-scheduler Queue <scheduler> ① ② ③ ① call
to ”conductor” for DB access ② reply to ① ③ cast to ”scheduler” Database
23.
Jaeger UI上でのトレース結果 ① ① call
to ”conductor” for DB access ② reply to ① ③ cast to ”scheduler” ① + ② ② ③
24.
● 分散システムの挙動やレイテンシの把握は難い ● 分散トレーシングの仕様としてOpenTracingがある ●
OpenTracing実装として各種ツールがあるが、 現状はUber社が開発をしているJaegerがよさそう ● まだ全体的にドキュメントが足りておらずコードを 読まないとわからないことが多い まとめ
25.
Presentation by NTT
Communications
Baixar agora