Slide 1

Slide 1 text

Copyrights(c) Henry, Inc. All rights reserved. Honeycombと OpenTelemetryで オブザーバビリティに 入門してみる

Slide 2

Slide 2 text

Copyrights(c) Henry, Inc. All rights reserved. 自己紹介 @sumiren_t (発音:すみれん) ● プロダクトエンジニア、SRE @ 株式会社ヘンリー ● 技術顧問 / プラットフォームエンジニア @ 兼業 4社様〜 1

Slide 3

Slide 3 text

Copyrights(c) Henry, Inc. All rights reserved. 会社名 株式会社ヘンリー 事業概要 電子カルテ/レセプト会計システム “Henry” を開発・販売及び、 コンサルティング事業 所在地 東京都品川区東五反田2丁目9 −5 サウスウィング東五反田 3F 創業 2018年5月 代表者 逆瀬川 光人、林 太郎 社員数 50名(正社員)+業務委託 認証取得 ISMS 国際規格「ISO 27001」 医療ISAC規定認証 Mission 社会課題を解決し続け、より良いセカイを創る Service 電子カルテ / レセプト会計システム「Henry」 株式会社ヘンリー |社会課題の解決を目的に設立 2

Slide 4

Slide 4 text

Copyrights(c) Henry, Inc. All rights reserved. 3 オブザーバビリティ学習の入口としての OpenTelemetry ● トレース、ログ、メトリクスの最も基本的なシグナルに対応 ● 標準化されており、概念体系に偏りがない

Slide 5

Slide 5 text

Copyrights(c) Henry, Inc. All rights reserved. 4 OpenTelemetry触ってみるときの 典型的アーキテクチャ Backend1 Backend2 Browser OpenTelemetry Collector オブザーバビリティ ツール DB 同期的な通信 非同期的な通信 traces, logs, metrics via OTLP

Slide 6

Slide 6 text

Copyrights(c) Henry, Inc. All rights reserved. 5 OpenTelemetry触ってみるときの 典型的アーキテクチャ Backend1 Backend2 Browser OpenTelemetry Collector オブザーバビリティ ツール DB traces, logs, metrics via OTLP OTLP(OpenTelemetry Protocol): ログやメトリクス含めて全てPush型 HTTP or gRPCで送るプロトコル

Slide 7

Slide 7 text

Copyrights(c) Henry, Inc. All rights reserved. 6 課題:オブザーバビリティツールをどうするか Backend1 Backend2 Browser OpenTelemetry Collector オブザーバビリティ ツール DB

Slide 8

Slide 8 text

Copyrights(c) Henry, Inc. All rights reserved. 7 課題:オブザーバビリティツールをどうするか Backend1 Backend2 Browser OpenTelemetry Collector オブザーバビリティ ツール DB サクッと触りたいだけ 1分でも学習やセットアップコストを減らしたい ・ベンダ固有概念は少なくあってほしい ・個別シグナルをOTLPで送れてほしい ・ドキュメントもわかりやすくあってほしい ・プラン周りで気にすることが少ない ・それでいて先進的で一番勉強になってほしい

Slide 9

Slide 9 text

Copyrights(c) Henry, Inc. All rights reserved. 8 Honeycombが推し ● 書籍「オブザーバビリティ・エンジニアリング」 原著者が所属する企業が開発 ● 最も重要なシグナルであるトレースについて 使い勝手がとても良く、先進的な機能も実装 ● 全シグナルをOTLPで簡単に連携可能、ドキュメントも OTLP中心でわかりやすい ● フリープランあり(トライアルだけではない!) ● サンドボックスあり

Slide 10

Slide 10 text

Copyrights(c) Henry, Inc. All rights reserved. 9 Honeycombのセットアップ Backend1 Backend2 Browser OpenTelemetry Collector Honeycomb DB

Slide 11

Slide 11 text

Copyrights(c) Henry, Inc. All rights reserved. 10 Googleアカウントでサインアップするだけ このキーをCollectorにコピペする Collectorを経由するので、 @honeycombio/opentelemetry は使わないで普通に計装する

Slide 12

Slide 12 text

Copyrights(c) Henry, Inc. All rights reserved. 11 Collectorのセットアップ Backend1 Backend2 Browser OpenTelemetry Collector Honeycomb DB 同期的な通信 非同期的な通信

Slide 13

Slide 13 text

Copyrights(c) Henry, Inc. All rights reserved. 12 config.yaml書いてCollector起動する Dockerfile config.yaml OTLPで連携できるので独自実装ほぼなし 認証ヘッダだけ、さっきのキーをコピペ

Slide 14

Slide 14 text

Copyrights(c) Henry, Inc. All rights reserved. 13 アプリケーション計装 Backend1 Backend2 Browser OpenTelemetry Collector Honeycomb DB 同期的な通信 非同期的な通信

Slide 15

Slide 15 text

Copyrights(c) Henry, Inc. All rights reserved. 14 アプリケーション計装 Backend1 Backend2 Browser OpenTelemetry Collector Honeycomb DB 同期的な通信 非同期的な通信 割愛: OpenTelemetryに対してOTLPでシグナル飛ばすだけ 公式ドキュメントの言語やフレームワークごとの 計装方法を見る

Slide 16

Slide 16 text

Copyrights(c) Henry, Inc. All rights reserved. 15 デモ - トレース検索

Slide 17

Slide 17 text

Copyrights(c) Henry, Inc. All rights reserved. 15 デモ - トレース詳細 ログとの相関

Slide 18

Slide 18 text

Copyrights(c) Henry, Inc. All rights reserved. 15 デモ - トレース分析 トレース検索の画面で ヒートマップ表示 異常な集団(黄色)では routeが/cart/checkoutに偏って いる、などがわかる

Slide 19

Slide 19 text

Copyrights(c) Henry, Inc. All rights reserved. 16 HoneycombとOpenTelemetryで オブザーバビリティに触れてみよう まとめ

Slide 20

Slide 20 text

Copyrights(c) Henry, Inc. All rights reserved. We are hiring!! https://henry.jp/ https://dev.henry.jp/ 技術ブログやってます 17 Thank you