Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ヘンリーにおける可観測性獲得への取り組み
Search
nabeo
October 19, 2023
Technology
2
2.2k
ヘンリーにおける可観測性獲得への取り組み
OpenTelemetry Meetup 2023-10
https://opentelemetry.connpass.com/event/296353/
nabeo
October 19, 2023
Tweet
Share
More Decks by nabeo
See All by nabeo
SRE 文化の醸成: stream-aligned チームに Enabling するために実施した事例の解説 / Cloud Operator Days Tokyo 2025
nabeo
0
140
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
290
Docker Compose で手軽に手元環境を実現する / Simplifying Local Environments with Docker Compose #CinemaDeLT
nabeo
0
490
OpenTelemetry Collector 自身のモニタリング / Monitoring the OpenTelemetry Collector itself
nabeo
0
540
AWS CDK (TypeScript) を継続的にメンテ可能にするために取り入れているノウハウ集
nabeo
0
1.3k
AWS Organizations 組織を移動する時に 考えること 100 連発 (AWS Control Tower への組み込みを添えて) / Hatena Engineer Seminar #20
nabeo
2
3.2k
AWS Transit Gateway を使った内部ネットワークの構成変更の話 / AWS Transit Gateway and Me
nabeo
0
720
Docker イメージのダイエットが成功するまで帰れまてん / Docker Image Diet Challenge
nabeo
4
4.2k
LVS 勉強会 (LVS Study)
nabeo
0
3.6k
Other Decks in Technology
See All in Technology
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
100
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
230
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
830
2重リクエスト完全攻略HANDBOOK / Double Request Handbook
shoheimitani
5
7.3k
Geospatialの世界最前線を探る [2025年版]
dayjournal
2
440
AI×Data×SaaS×Operation
sansantech
PRO
0
110
Pythonによる契約プログラミング入門 / PyCon JP 2025
7pairs
4
2.3k
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
120
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.5k
AWSのProductのLifecycleについて
stknohg
PRO
0
300
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
170
全てGoで作るP2P対戦ゲーム入門
ponyo877
3
1.2k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
A Tale of Four Properties
chriscoyier
160
23k
Embracing the Ebb and Flow
colly
88
4.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
The Power of CSS Pseudo Elements
geoffreycrofte
78
6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Why Our Code Smells
bkeepers
PRO
339
57k
How GitHub (no longer) Works
holman
315
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Transcript
Copyrights(c) Henry, Inc. All rights reserved. 好きになる、はじめての電子カルテ OpenTelemetry Meetup 2023-10
ヘンリーにおける可観測性獲得への取り組み 2023/10/19 @nabeo
Copyrights(c) Henry, Inc. All rights reserved. 自己紹介 渡辺 道和 (@nabeo)
株式会社ヘンリー CTO室 SRE 2023年06月〜 2
Copyrights(c) Henry, Inc. All rights reserved. クラウド型電子カルテ・レセコンシステム「Henry」 • 電子カルテ :
医療情報を管理・記録するソフトウェア • レセコンシステム : レセプト (診療報酬) に基づいた会計情報を管 理するソフトウェア 3
Copyrights(c) Henry, Inc. All rights reserved. 扱っている課題の特徴と技術スタック • ドメインが巨大、かつ、複雑、かつ、難解 ◦
難解な診療報酬制度が2年ごとに改訂される ◦ 地方自治体ごとに異なる公費の計算 ◦ 医療機関様ごとに異なるニーズへの対応 ◦ ソフトウェアとしても機能が複雑に絡まっていて見通しにくい状態 • 技術スタック ◦ Server-side Kotlin ◦ Backend for Frontend としての Node.js (TypeScript) ◦ gRPC、GraphQL ◦ Google Cloud 4
Copyrights(c) Henry, Inc. All rights reserved. 可観測性獲得文脈での課題 • 医療機関様ごとに必要とされる機能やその使用頻度が異なる •
問題やお問い合わせの切り分けが難しい • SLI/SLO の整備でも可観測性の獲得は重要である 5
Copyrights(c) Henry, Inc. All rights reserved. ヘンリーにおける Observability ツールの現 状
• 一部で OpenTelemetry のトレース情報を Cloud Trace や Sentry に送信して、可視化をしている ◦ OpenTelemetry SDK のトレース ID 採番を利用して、分散システムの ログにトレーサビリティを持たせている ◦ 意図通りのトレーサビリティが確保できていない問題があった • 【イマココ】トレース情報の送信方法の見直し ◦ 一緒にプロジェクトを進めている同僚から OpenTelemetryを正しく計装 して、Datadogに連携したら欲しい情報がとれていそうという示唆があっ た 6
Copyrights(c) Henry, Inc. All rights reserved. Datadog の検討 • いい感じに可視化できて、トレース情報の扱いもコントロールでき
そう ◦ とくに tail sampling ができそうということが大きい • 一旦、Datadog の採用は見送る方針に変更 ◦ OpenTelemetry 計装に問題がありそうということもわかった ◦ コストの試算したところ一旦は採用を見送って、Cloud Trace や Cloud Logging をちゃんと使う方針に方向転換 ▪ Datadog の利用料金だけでまぁまぁな金額になりそうだった ▪ OpenTelemetry の計装だけでは Datadog による可視化、データ連携で制限が つく 7
Copyrights(c) Henry, Inc. All rights reserved. Cloud Run サービス +
OpenTelemetry Collector エージェントの実装アプローチ • OpenTelemetry エージェントをアプリケーションに組み込む • OpenTelemetry コレクターをサイドカーとして組み込む • 完全に独立した OpenTelemetry コレクターにトレース情報を送信 する 8
Copyrights(c) Henry, Inc. All rights reserved. 実装アプローチの比較 OpenTelemetry エージェントをアプリケーションに組 み込む
• 😀 ◦ インフラ視点で管理するコンポーネントが一番少ない構成 • 🤨 ◦ アプリケーションと密結合になる ◦ エージェントが起動してから、アプリケーションでリクエストを受付させる など気を遣う必要がある 9
Copyrights(c) Henry, Inc. All rights reserved. 実装アプローチの比較 OpenTelemetry コレクターをサイドカーとして組み込む •
😀 ◦ アプリケーションからコレクター部分を切り離して管理できる • 🤨 ◦ 一般的なコンテナ PaaS の課金体系と相性が悪い ◦ Cloud Run ではマルチコンテナ対応が 2023/10 時点で pre-GA 10
Copyrights(c) Henry, Inc. All rights reserved. 実装アプローチの比較 独立した OpenTelemetry コレクターにトレース情報を送信する
• 😀 ◦ アプリケーションからコレクター部分を切り離して管理できる ◦ アプリケーションのトレース情報の送信先をまとめることができる -> コス トメリットが期待できる • 🤨 ◦ インフラ視点だと構成が一番複雑になる ◦ トレース情報の送信元と OpenTelemetry コレクターの間で通信ができ なかった時のアプリケーションの挙動を確認しておく必要がある 11
Copyrights(c) Henry, Inc. All rights reserved. Cloud Run で OpenTelemetry
コレクターを 動かす時の注意 • OpenTelemetry の Node.js 向け SDK では認証ヘッダをつける ことが難しいので、通信経路を工夫する必要がある • OpenTelemetry の仕様の他にベンダー独自拡張の仕様にも気を 配って計装する必要がある 12
Copyrights(c) Henry, Inc. All rights reserved. Thank you We are
hiring!! https://jobs.henry-app.jp/ 13 https://dev.henry.jp/ We are writing!!