Submit Search
202202 open telemetry .net handson
Download as PPTX, PDF
0 likes
379 views
Takayoshi Tanaka
OpenTelemety .NET ハンズオン資料
Technology
Read more
1 of 28
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
More Related Content
PPTX
C#エンジニアのためのdocker kubernetesハンズオン (再)
Takayoshi Tanaka
PDF
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
Takayoshi Tanaka
PPTX
最近のQ#について
Takayoshi Tanaka
PPTX
C# Tokyo コミュニティについて
m ishizaki
PDF
KustomizeとGitHub Actionsを利用したUbieのデプロイの仕組み
Daisuke Taniwaki
PDF
20210129 azure webapplogging
Takayoshi Tanaka
PDF
ゼロから始めるQ#
Takayoshi Tanaka
PDF
Google Container Engine を始めてみよう
Google Cloud Platform - Japan
C#エンジニアのためのdocker kubernetesハンズオン (再)
Takayoshi Tanaka
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
Takayoshi Tanaka
最近のQ#について
Takayoshi Tanaka
C# Tokyo コミュニティについて
m ishizaki
KustomizeとGitHub Actionsを利用したUbieのデプロイの仕組み
Daisuke Taniwaki
20210129 azure webapplogging
Takayoshi Tanaka
ゼロから始めるQ#
Takayoshi Tanaka
Google Container Engine を始めてみよう
Google Cloud Platform - Japan
What's hot
(20)
PDF
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
PDF
NGINX Ingress Controller with WAF for Kubernetes
NGINX, Inc.
PDF
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
PDF
NewRelic x Terraform Cloud で Observability as Code
Shogo Katsurada
PDF
Certified XXX まわりのはなし Kubernetes Invitational Meetup #2
Masaya Aoyama
PPTX
Reactive Workflow Argo Eventsの紹介
Daisuke Taniwaki
PPTX
5分でわかる Capabilities と Privilege + KubeCon Recap
Masaya Aoyama
PPTX
TypeScriptでCLIアプリケーション開発
Shuto Suzuki
PDF
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
Akira Inoue
PDF
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
祐磨 堀
PDF
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Masaya Aoyama
PDF
Kubernetesクラスタバージョンアップを支える技術
LIFULL Co., Ltd.
PDF
20190725 Argo Project Latest News
Daisuke Taniwaki
PDF
Kubernetesセキュリティの歩き方
LIFULL Co., Ltd.
PPTX
Jenkins X on GKE & Rancher2.0 on ORACLE Cloud
cyberblack28 Ichikawa
PDF
LIFULLの全社アプリケーション実行基盤 KEEL について
LIFULL Co., Ltd.
PDF
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
Takayoshi Tanaka
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
PDF
ChainerMNをDocker containerで動かす
Daisuke Taniwaki
PDF
DevOps with GitLabで始める簡単DevOps
富士通クラウドテクノロジーズ株式会社
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
NGINX Ingress Controller with WAF for Kubernetes
NGINX, Inc.
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
NewRelic x Terraform Cloud で Observability as Code
Shogo Katsurada
Certified XXX まわりのはなし Kubernetes Invitational Meetup #2
Masaya Aoyama
Reactive Workflow Argo Eventsの紹介
Daisuke Taniwaki
5分でわかる Capabilities と Privilege + KubeCon Recap
Masaya Aoyama
TypeScriptでCLIアプリケーション開発
Shuto Suzuki
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
Akira Inoue
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
祐磨 堀
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Masaya Aoyama
Kubernetesクラスタバージョンアップを支える技術
LIFULL Co., Ltd.
20190725 Argo Project Latest News
Daisuke Taniwaki
Kubernetesセキュリティの歩き方
LIFULL Co., Ltd.
Jenkins X on GKE & Rancher2.0 on ORACLE Cloud
cyberblack28 Ichikawa
LIFULLの全社アプリケーション実行基盤 KEEL について
LIFULL Co., Ltd.
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
Takayoshi Tanaka
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
ChainerMNをDocker containerで動かす
Daisuke Taniwaki
DevOps with GitLabで始める簡単DevOps
富士通クラウドテクノロジーズ株式会社
Ad
More from Takayoshi Tanaka
(20)
PDF
deep dive distributed tracing
Takayoshi Tanaka
PPTX
202109-New_Relic-for-csharp-engineers
Takayoshi Tanaka
PDF
20201127 .NET 5
Takayoshi Tanaka
PPTX
Unity(再)入門
Takayoshi Tanaka
PDF
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
Takayoshi Tanaka
PDF
20191024 Get Start gRPC with ASP.NET
Takayoshi Tanaka
PDF
New Relicで始める、.NET Applications on AWSのObservability
Takayoshi Tanaka
PPTX
20190806 Q# Measurements
Takayoshi Tanaka
PPTX
C#エンジニアのためのdocker kubernetesハンズオン
Takayoshi Tanaka
PDF
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
Takayoshi Tanaka
PDF
Try! Visual Studio 209 git feature
Takayoshi Tanaka
PDF
Q#基礎 ver1.1
Takayoshi Tanaka
PDF
(過去バージョン) Q#基礎 ver1.0
Takayoshi Tanaka
PDF
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
Takayoshi Tanaka
PDF
New features of Azure Cloud Provider at OCP 3.10
Takayoshi Tanaka
PDF
Open shift on azure stack
Takayoshi Tanaka
PPTX
Introduction to SQL Server on RHEL
Takayoshi Tanaka
PPTX
Log in to a Linux VM in Azure using AAD authentication
Takayoshi Tanaka
PDF
kubernetes on Azure 最新情報
Takayoshi Tanaka
PDF
[量子コンピューター勉強会資料] マヨラナ粒子によるスケーラブルな量子コンピューターの設計
Takayoshi Tanaka
deep dive distributed tracing
Takayoshi Tanaka
202109-New_Relic-for-csharp-engineers
Takayoshi Tanaka
20201127 .NET 5
Takayoshi Tanaka
Unity(再)入門
Takayoshi Tanaka
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
Takayoshi Tanaka
20191024 Get Start gRPC with ASP.NET
Takayoshi Tanaka
New Relicで始める、.NET Applications on AWSのObservability
Takayoshi Tanaka
20190806 Q# Measurements
Takayoshi Tanaka
C#エンジニアのためのdocker kubernetesハンズオン
Takayoshi Tanaka
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
Takayoshi Tanaka
Try! Visual Studio 209 git feature
Takayoshi Tanaka
Q#基礎 ver1.1
Takayoshi Tanaka
(過去バージョン) Q#基礎 ver1.0
Takayoshi Tanaka
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
Takayoshi Tanaka
New features of Azure Cloud Provider at OCP 3.10
Takayoshi Tanaka
Open shift on azure stack
Takayoshi Tanaka
Introduction to SQL Server on RHEL
Takayoshi Tanaka
Log in to a Linux VM in Azure using AAD authentication
Takayoshi Tanaka
kubernetes on Azure 最新情報
Takayoshi Tanaka
[量子コンピューター勉強会資料] マヨラナ粒子によるスケーラブルな量子コンピューターの設計
Takayoshi Tanaka
Ad
202202 open telemetry .net handson
1.
OpenTelemetry .NET ハンズオン 2022/02/22 #csharptokyo @tanaka_733
2.
©2008–21 New Relic,
Inc. All rights reserved 講師紹介 2 @tanaka_733 New Relic K.K. Lead Technical Support Engineer C# Tokyo運営メンバーの一人です 好きな言語はC# コンテナとパブリッククラウドと量子コンピューターが好物 Microsoft MVP for Azure, Development Technologies Microsoft Certified Cloud Solution Architect Expert Certified Kubernetes Administrator/Application Developer (CKA/CKAD)
3.
事前準備の確認 まだの人は聞きながらセットアップしておいてください ◦ https://github.com/tanaka-takayoshi/opentelemetry-dotnet-labのクローン ◦ .NET
6 SDKのインストール ◦ handson1/handson1.sln の起動確認 ◦ connpassのページにあるNew Relicのログイン情報とAPIキーのメモ 提供しているNew Relicアカウントは1週間程度使えますが、 その後無効化します。 継続的に使いたい方は無償のStandard Tierの登録を検討ください。
4.
今日のテーマ OpenTelemetry .NETを試してみよう OpenTelemetryの概要をしる OpenTelemetry .NETの構造をしる
5.
Agenda OpenTelemetryとは ◦ OpenTelemetryとは ◦ OpenTelemetryの生まれた背景 OpenTelemetryの構造 ◦
OpenTelemetryが計測するテレメトリーデータ ◦ OpenTelemetryの構成要素 OpenTelemetry .NETで計装するには ◦ 計装とは ◦ OpenTelemetry .NETの仕組み ◦ 計装の実際 ◦ データの送信とコレクター
6.
OpenTelemetryとは オブザーバビリティの新しい標準
7.
OpenTelemetryとは オブザーバビリティのために テレメトリーデータを生成し管理するための新しい標準 オブザーバビリティ= アプリケーション(サービス)に問題が起きているか、なぜ起きているかを把握できる こと テレメトリーデータ=アプリケーションの状態を把握するためのデータ 新しい標準=OSSで広く使われるCNCFプロジェクト オブザーバビリティについては以前のC# Tokyoでのセッションでまとめました https://www.slideshare.net/tanakata/202109-c
8.
OpenTelemetryの生まれた背景 ベンダーサービスが先行し、データモデルが固有化 Vendor X Agent Vendor
Y Agent Vendor X backend Vendor Y backend Agentの移行は 手間がかかる 異なるベンダーには 送信できない
9.
OpenTelemetryの生まれた背景 ライブラリや利用しているクラウドサービスを別サービスで再利用したい場合、 Agent固有の計測用のコードが移植の妨げに サービス Q サービス P ライブラ リA Vendor
X Agent ライブラ リA Vendor Y Agent API
10.
OpenTelemetryの特徴 end to endの実装 データの生成から、収集、 処理、送信まで対応 普遍性 さまざまな言語、 フレームワークに対応 将来性 進化する標準 活発なOSSプロジェクト ベンダー ニュートラル 単一のベンダーに 依存しない
11.
OpenTelemetryの構造
12.
計測するテレメトリーデータは3種類 • ある状態を表す 集約された統計値 • CPU利用率、 リクエスト経過時間、 データベースクエリ数 など •
プロセスから生じた 詳細なデバッグ情報 • Error: XXX happened Trace: YYY invoked など メトリクス ログ • システムへのリクエス トの一覧のライフサイ クル情報 • 分散トレースは特に複 数のシステムをまたい だライフサイクル • エラーやパフォーマン ス問題が起きた場所を 特定する情報を含む トレース (特に分散トレース)
13.
トレース(Trace)はスパン(Span)の集合 Span A Span B Span
C Span D Span E Span P サービスA サービスB Spanの持つ情報 • TraceID/SpanID • ParentID • Name • Start/End Time • Attributes • Events
14.
トレース(Trace) Span A Span B Span
C Span D Span E Span P サービスA サービスB root Span (必ず1つだけ存在) AのChild Span Caller Span (呼び出しスパン) Callee Span (呼び出されたス パン)
15.
トレース time Span A Span B C
Span D Span E Span P ボトルネック(どこで経過時間がかかっているか)を見つけるためには、 横軸を実時間にしたこのような表現が使われることが多い。 上の図では、SpanP、つぎにSpanDがボトルネックだとわかる
16.
サービスの論理的なつながりとトレース Client Notification Purchase DB API User DB Ext Client API User Purchase DB Notifica tion Ext 分散システムにおいては、トレースからどのように呼び出されたか(システムの依存関係) を見つけることもできる。
17.
メトリクス ある時点でのサービスに関する測定値から取得した、 あらかじめ集計された時系列データ 例えば… ◦ CPUとメモリの使用率 ◦ リクエスト経過時間 ◦
リクエストサイズ 属性によりメタデータを追加し、ファセット(グルーピング)できるように ◦ URLごとの経過時間どのAPIが最も遅いか ◦ ユーザーごとのアイテム利用数ユーザー属性による利用傾向
18.
ログ タイムスタンプ付きのテキストレコード トレースやメトリクスより歴史が長いため従来のログとの共存が課題: ◦ メトリクスやトレースと関連づけるためのコンテキストとなるメタデータが必要 ◦ 歴史的に多くの言語、ツールによる実装が幅広く使われている ◦
メッセージに加えてログレベル、ログメッセージまでも統一したデータモデルがない OpenTelemetryの戦略 ◦ 既存のロギングライブラリやツールを採用しつつ、 ログデータにコンテキスト情報を追加する仕組みを提供する。 例: ASP. NET Core向けのOTel .NET では ILoggerと連携
19.
OpenTelemetryの構成要素 Instrumentation 19 Collector (Gateway) Grafana, New Relic などのバックエンド アプリ (C#) OTel
SDK Collector (Agent) Jaegarなど その他のソース Instrumentation アプリ (Java) OTel SDK Collector (Agent) OpenTelemetry の構成要素 異なる言語でも APIで 標準化され、 言語ごとに SDKで実装 送信するデータの形式を OTLPとして定める
20.
OpenTelemetryのコレクター Instrumentation 20 Collector (Gateway) Grafana, New Relic などのバックエンド アプリ (C#) OTel
SDK Collector (Agent) OpenTelemetry の構成要素 テレメトリーデータは大まかに以下の3通りの送信方法がある。 1. SDKから直接送信 (今日のハンズオンでやります) 2. アプリと同じホストのコレクターが送信 3. アプリと同じホストのコレクターとGatewayとなるコレクター を経由して送信 ① ② ③
21.
OpenTelemetryのSDK 異なる言語・フレームワークでの テレメトリーデータの標準化をするため、 APIにより仕様を定めている API仕様を言語ごとに実装しているのがSDK SDKは必要最低限のデータ形式と収集の操作を提供している
22.
OpenTelemetry .NETで計装するには
23.
OpenTelemetryでの計装 計装…テレメトリーデータの計測コードを実装すること 自動と手動の2通りの方法を提供 自動計装… 最低限の設定コードで計装できる。ASP.NET CoreやHTTPClientといっ た広く使われるフレームワーク、ライブラリに提供 手動計装… SDKの操作を使って、自分で細かく計装する必要あり。自動計装で サポートしていないライブラリやより詳細な計装をする場合に行う。
24.
contrib あるライブラリへの自動計装の提供など、実験的な意味合いがあるライブラリを提供 今回のハンズオンではEntity Framework Coreの計装部分に利用
25.
ハンズオンのお題 (OTel .NETの計装) 1.
ASP.NET CoreとHTTPClientでの自動計装によるトレースの計装 2. 自動計装されたトレース詳細な情報を追加 3. SQL呼び出しなど一部対応が必要なトレースの自動計装 (例: contribによるEF Coreの計装) 4. ILoggerでのログ出力をOTelで収集 https://github.com/tanaka-takayoshi/opentelemetry-dotnet- lab/blob/main/handson1/Handson1.md
26.
ハンズオンでやらないお題 メトリクスの収集 サポートされないライブラリにおけるトレースを一から手動計装 より詳細なログの収集 コレクターの計画とセットアップ etc
27.
宣伝 OpenTelemetry .NETについてブログでまとめています https://tech.tanaka733.net/entry/2022/01/opentelemetry-dotnet-01 今後扱う予定のテーマ ◦ より詳細な計装コード ◦
.NET Frameworkでの計装 ◦ GUI(クライアントアプリ)での計装 ◦ ライブラリ開発者向けの計装 ◦ コレクターの設計と展開
28.
Thank you.
Download