Início
Conheça mais
Enviar pesquisa
Carregar
Entrar
Cadastre-se
Anúncio
Check these out next
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
Redisの特徴と活用方法について
Yuji Otani
Linux女子部 systemd徹底入門
Etsuji Nakai
Spring CloudとZipkinを利用した分散トレーシング
Rakuten Group, Inc.
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
DockerコンテナでGitを使う
Kazuhiro Suga
Dockerからcontainerdへの移行
Akihiro Suda
1
de
25
Top clipped slide
分散トレーシング技術について(Open tracingやjaeger)
20 de Nov de 2017
•
0 gostou
27 gostaram
×
Seja o primeiro a gostar disto
mostrar mais
•
22,856 visualizações
visualizações
×
Vistos totais
0
No Slideshare
0
De incorporações
0
Número de incorporações
0
Baixar agora
Baixar para ler offline
Denunciar
Tecnologia
勉強会で分散トレーシング技術について調査した内容を発表した資料です。OpenTracingやJaegerなどについてのざっくりとした解説などを行っています。
NTT Communications Technology Development
Seguir
NTT Communications Technology Development
Anúncio
Anúncio
Anúncio
Recomendados
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
3.2K visualizações
•
68 slides
マイクロサービス 4つの分割アプローチ
増田 亨
40.3K visualizações
•
60 slides
DockerとPodmanの比較
Akihiro Suda
42.3K visualizações
•
37 slides
Dockerからcontainerdへの移行
Kohei Tokunaga
15.3K visualizações
•
36 slides
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
1.4K visualizações
•
37 slides
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
10.4K visualizações
•
22 slides
Mais conteúdo relacionado
Apresentações para você
(20)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
•
2.2K visualizações
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
•
12.3K visualizações
Redisの特徴と活用方法について
Yuji Otani
•
98.6K visualizações
Linux女子部 systemd徹底入門
Etsuji Nakai
•
135.9K visualizações
Spring CloudとZipkinを利用した分散トレーシング
Rakuten Group, Inc.
•
7.2K visualizações
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
•
5.5K visualizações
DockerコンテナでGitを使う
Kazuhiro Suga
•
17.1K visualizações
Dockerからcontainerdへの移行
Akihiro Suda
•
5.7K visualizações
Docker Compose 徹底解説
Masahito Zembutsu
•
60.5K visualizações
Google Cloud で実践する SRE
Google Cloud Platform - Japan
•
4.8K visualizações
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
•
1.7K visualizações
本当は恐ろしい分散システムの話
Kumazaki Hiroki
•
672.2K visualizações
AWSのログ管理ベストプラクティス
Akihiro Kuwano
•
75.2K visualizações
分散システムについて語らせてくれ
Kumazaki Hiroki
•
118.2K visualizações
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
•
1K visualizações
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
•
52.1K visualizações
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
•
29.2K visualizações
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
•
3.1K visualizações
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
•
2.5K visualizações
超実践 Cloud Spanner 設計講座
Samir Hammoudi
•
20.9K visualizações
Similar a 分散トレーシング技術について(Open tracingやjaeger)
(20)
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
apkiban
•
259 visualizações
1分で分かる SoftLayer 監視入門
Masahito Zembutsu
•
6.8K visualizações
ペアワークで持続的に成長するチームになろう!
Shinya Nakajima
•
462 visualizações
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Yuichi Hasegawa
•
8.9K visualizações
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
日本Javaユーザーグループ
•
11.9K visualizações
Cdci for asaserviceera
Takao Tetsuro
•
100 visualizações
マイクロサービスとそれを支えるアーキテクチャー
Tsukasa Kato
•
2K visualizações
Tech on meetup online#01
Kazuya Suda
•
134 visualizações
コンテナは次世代サービスの主流になるか?
SAKURA Internet Inc.
•
1.6K visualizações
2画面折り畳みデバイスのアプリ開発について
Shinya Nakajima
•
428 visualizações
微博(ウェイボ)型社内SNSとモバイルで始める社内の可視化
Takamitsu Nakao
•
26.9K visualizações
クラウドネイティブトランスフォーメーションのススメ
Hiromasa Oka
•
1.2K visualizações
【Tech-Circle #3 & OCDET #7 SDS勉強会】 Ceph on SoftLayer
Nobuyuki Matsui
•
1.3K visualizações
スマフォセキュリティセミナ(配付用) R 20110417
知礼 八子
•
775 visualizações
Ipメッセージング勉強会
Katsumi Takahashi
•
574 visualizações
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
Takahiro Fujii
•
980 visualizações
機械学習によるマーケット健全化施策を支える技術
Hirofumi Nakagawa
•
1.9K visualizações
CMC_Meetup八子プレゼン 20170412
知礼 八子
•
3K visualizações
物体認識 IoT サービスを支える技術 〜クラウドアーキテクチャから組込み深層学習まで〜
Takashi Kaneda
•
10.9K visualizações
Kubernetes × 可用性 -- cndjp第3回勉強会
Hiroshi Hayakawa
•
3.9K visualizações
Anúncio
Mais de NTT Communications Technology Development
(20)
クラウドを最大限活用するinfrastructure as codeを考えよう
NTT Communications Technology Development
•
963 visualizações
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
•
1.3K visualizações
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
•
2.1K visualizações
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
NTT Communications Technology Development
•
343 visualizações
Argo CDについて
NTT Communications Technology Development
•
306 visualizações
SpinnakerとKayentaで 高速・安全なデプロイ!
NTT Communications Technology Development
•
4.6K visualizações
100Gbps OpenStack For Providing High-Performance NFV
NTT Communications Technology Development
•
1.7K visualizações
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
NTT Communications Technology Development
•
965 visualizações
AWS re:Invent2017で見た AWSの強さとは
NTT Communications Technology Development
•
1.3K visualizações
Mexico ops meetup発表資料 20170905
NTT Communications Technology Development
•
742 visualizações
NTT Tech Conference #2 - closing -
NTT Communications Technology Development
•
1K visualizações
イケてない開発チームがイケてる開発を始めようとする軌跡
NTT Communications Technology Development
•
5.9K visualizações
GPU Container as a Service を実現するための最新OSS徹底比較
NTT Communications Technology Development
•
6.1K visualizações
SpinnakerとOpenStackの構築
NTT Communications Technology Development
•
2.4K visualizações
Troveコミュニティ動向
NTT Communications Technology Development
•
594 visualizações
Web rtc for iot, edge computing use cases
NTT Communications Technology Development
•
1.7K visualizações
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
NTT Communications Technology Development
•
583 visualizações
NTT Tech Conference #1 Opening Keynote
NTT Communications Technology Development
•
1.4K visualizações
NTT Tech Conference #1 Closing Keynote
NTT Communications Technology Development
•
749 visualizações
OpsからみたOpenStack Summit
NTT Communications Technology Development
•
705 visualizações
Último
(20)
【DL輪読会】Egocentric Video Task Translation (CVPR 2023 Highlight)
Deep Learning JP
•
55 visualizações
20230516 @Mix Leap Hirohiko_Suwa
Masashi Nakagawa
•
90 visualizações
Forguncy製品概要.pptx
フォーガンシー
•
50 visualizações
《杨百翰大学毕业证|学位证书校内仿真版本》
d520dasw12
•
2 visualizações
初学者のためのプロンプトエンジニアリング実践.pptx
Akifumi Niida
•
409 visualizações
留信网认证可查【拜欧拉大学文凭证书毕业证购买】
1lkjhg
•
3 visualizações
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 visualizações
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
2 visualizações
統計学の攻略_推測統計学の考え方.pdf
akipii Oga
•
182 visualizações
Omnis
DaisukeFujita10
•
15 visualizações
モバイル・クラウド・コンピューティング-データを如何に格納し、組み合わせ、情報として引き出すか
Masahiko Funaki
•
2 visualizações
SoftwareControl.pdf
ssusercd9928
•
6 visualizações
オレオレになりがちなテスト計画を見直した話
terahide
•
28 visualizações
PCベース制御による集中制御.pdf
ssusercd9928
•
19 visualizações
量子論.pdf
hiro150493
•
7 visualizações
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
Takanari Tokuwa
•
44 visualizações
AIEXPO_CDLE名古屋紹介
KotaMiyano
•
3 visualizações
留信网认证可查【皇家霍洛威学院文凭证书毕业证购买】
32lkhng
•
2 visualizações
点群SegmentationのためのTransformerサーベイ
Takuya Minagawa
•
13 visualizações
通信プロトコルについて
iPride Co., Ltd.
•
6 visualizações
Anúncio
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について
About me Mahito Ogura
(小倉真人<m.ogura@ntt.com>) NTTコミュニケーションズ 技術開発部 業務:クラウドや分散システムの調査検証 ● コムウェア入社(H21)2014年に異動で現職 ● インフラ構築(Chef, Ansible) ● アプリケーション開発(Ruby) ● OpenStackとか分散ミドルとかコンテナ ● 採用のお手伝いとか各種イベント業, etc...
はじめに 現代のサービスは複雑化され、そのシステムは大規模に分散することが多い。 特にサービスの機能ごとに分けて作り、それらを疎結合させるMicroservicesアーキテク チャの流行もあり、機能ごとに開発チームが異なることや、開発言語が違うことが増え、 サービス内部はより分散し複雑化している。 分散し複雑化したサービスにおいて機能ごとの関係性を把握することは難しく、エラーや 性能問題などが起きた際にその原因特定が非常に難しくなる。 こうした問題に取り組むべく、分散されたサービス内のリクエストをトレース可能な、分散 トレーシング技術が現在注目を浴びている。
分散トレーシングの歴史 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対応が進められて いる。
インターネットサービスはしばしば複雑に実装され、大規模に分散したシステムとなって いることがある。 これらのシステムはソフトウェアモジュールの集合であり、各ソフトウェアモジュールは、 開発チームが異なることや、開発言語が異なること、そして何千台のマシンの複数のレ イヤにまたがることがある。 こうした環境においてシステムのしくみの理解や、性能問題の原因特定は難しく、一度 問題が起きると解決に至るまでに膨大なコストがかかることがある。 こうした問題を解決するために、各システムの挙動や性能を把握することができる分散 トレーシング技術が注目を集めている。 なぜ分散トレーシングが注目されているか
参考:OpenStackのアーキテクチャ
分散トレーシングに必要なしくみは次の2つ ● 分散トレーシングのしくみ(ライブラリ含む) ● トレースの結果をモニタリングするためのしくみ また、トレーシングがシステムの性能に影響を及ぼさないよう、 一部の処理だけをトレースするためのサンプリングレートを設定するしくみを 設けている分散トレーシングツールも存在している(ex.Zipkin,
OpenTracing) 分散トレーシング
Trace:Span全体のStartからFinishまでを含むSpanの集合体 Span:ひとつのサービス(境界)内の処理。以下の情報が含まれる 分散トレーシング(OpenTracing)用語解説 -1/2- Trace Span
オプション ● Span Tags ●
Span Logs ● References ○ 他Spanとの関係性 分散トレーシング(OpenTracing)用語解説 2/2 必須 ● Operation Name ● Start / Finish Timestamp ● Span Context ○ Baggage Items ○ tarace / span ID
以下例では、Traceは8つのSpanから構成されている。 各Spanの間には関係性があり有効巡回グラフ(DAG)で表すことができる。 Spanの関係図(DAG)
SpanとReferenceについて ChildOf Reference: 親Spanが依存する子Spanとの関係(例:RPC, SQL) FollowsFrom
Reference: 親Spanが依存しない子Spanとの関係(例:非同期処理)
分散トレーシングのユースケース ● プログラム内の関数レベルのトレース ● サーバのエンドポイントのトレース ●
クライアントコールのトレース ● 分散環境におけるデータの分散 / 転送 ● イベントのロギング ● メッセージバス(MQ and Pub/Sub)シナリオのトレース
OpenTracingについて OpenTracingは、一般的なプラットフォームに向けて、一貫したベンダ非依存なAPIを提 供することにより、開発者に容易にシステムへトレーサの追加、またはトレーサの切り替 えを行うことが出来るしくみを提供する、分散トレーシングの実装である。 また、OpenTracingは分散トレーシングとしてのOSSの実装以外にも、プラットフォーム固 有のトレーサーに向けた共通仕様も用意しており、他の分散トレーシングツールはこの 仕様を実装することで、OpenTracing互換のトレーサーとして実装することが出来るた め、ユーザは設定の変更だけでトレーサの切り替えを行うことができる。
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のバイトコードからトレーシングを行う
Zipkin GoogleのDapperを参考に作られた分散トレーシングシステム 分散システムのレイテンシ問題の トラブルシューティングに必要な データを収集し(Zipkin)、 システムの依存関係を参照するための UI(Zipkin UI)を提供する アーキテクチャは右図参照 ● ReporterはTransportにデータを転送 ●
Transporはcollectorにデータを転送 ● CollectorはStorageにデータを格納 参考:http://zipkin.io/pages/architecture.html
Jaeger Uber社がGo言語で開発している分散トレーサーとそのUI ● 2017年9月にプロジェクトがCNCFにホストされることになった Go言語で書かれた自前のモニタリングツールが用意されている Go, Python,
Node, JavaなどのTracerが用意されている ● Python 3には未対応
Architecture 出典:http://jaeger.readthedocs.io/en/latest/architecture/
分散トレースのしくみ(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/
sourcegraph社がGo言語で開発した軽量なトレーサー Go言語で書かれた自前のモニタリングツールが用意されている ● 一応OpenTracingへの対応はしているとドキュメントに書かれている ● 開発の更新は2016/11で止まっている(2017/9/19時点) ●
DAGの表示はできない Go, Python, Ruby(サードパーティー)などのTracerが用意されている ● しかしながらRubyはOpenTracing未対応かつ壊れている可能性が高い 参考:Appdashを動かしてみた - Qiita Appdash
LightStep OpenTracing互換のTracer ● Go /
JavaScript / Python / PHP / Ruby / Java / iOS / Android MonitoringはSplunk/kibanaを利用する模様 詳細はLightStep社に問い合わせが必要
Hawkular RedHatが支援している既存のモニタリングの課題を解決するためのツール 以下の4つの機能を有する ● Federated Alerting ●
Distributed Tracing ● Metrics TSDB ● ManageIQ Provider 分散トレーシングについてはJaegerとコラボをすることでOpenTracing対応をしているらし い。
サンプル(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
Jaeger UI上でのトレース結果 ① ① call
to ”conductor” for DB access ② reply to ① ③ cast to ”scheduler” ① + ② ② ③
● 分散システムの挙動やレイテンシの把握は難い ● 分散トレーシングの仕様としてOpenTracingがある ●
OpenTracing実装として各種ツールがあるが、 現状はUber社が開発をしているJaegerがよさそう ● まだ全体的にドキュメントが足りておらずコードを 読まないとわからないことが多い まとめ
Presentation by NTT
Communications
Anúncio