Movatterモバイル変換


[0]ホーム

URL:


Upgrade to Pro — share decks privately, control downloads, hide ads and more …
Speaker DeckSpeaker Deck
Speaker Deck

OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 /...

Avatar for mackerelio mackerelio
July 11, 2025

OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025

https://sre-next.dev/2025/schedule/#slot074

テレメトリーの生成・収集を標準化するフレームワークであるOpenTelemetryから、セマンティック規約という概念を取り上げて、その概観と効能について解説します。セマンティック規約は、メトリクス名や属性名といったデータに対して共通の名前を定義するものです。命名が標準化されることで、オブザーバビリティツールはプラットフォームや言語などの違いを超えてシグナル間を相関付けやすくなります。

また、オブザーバビリティプラットフォームMackerelに新しく登場したAPM機能においても、セマンティック規約に準じた形式でトレースを投稿すると、アプリケーションの内部の様子を分かりやすく可視化することができます。Mackerel APMにおけるセマンティック規約の活用例をデモとしてご紹介します。

Avatar for mackerelio

mackerelio

July 11, 2025
Tweet

More Decks by mackerelio

See All by mackerelio

Other Decks in Technology

See All in Technology

Featured

See All Featured

Transcript

  1. ja.mackerel.io 2025-07-11 OpenTelemetryセマンティック規約の 恩恵とMackerel APMにおける活用例 SRE NEXT 2025 Gold Sponsor

    Session 株式会社はてな Mackerel開発チーム サブディレクター・テックリード 朝倉 一希 (id:arthur-1)
  2. 自己紹介 朝倉 一希 ASAKURA Kazuki 株式会社はてな Mackerel開発チーム サブディレクター・テックリード オブザーバビリティ関連機能の開発を担当 id:arthur-1

    @Arthur1__ @Arthur1 2
  3. OpenTelemetryとは OpenTelemetryは、メトリックやログなどのテレメトリーデータ の生成・投稿を、ベンダーの違いを超えて標準化することを目的 としたプロジェクト 3 https://opentelemetry.io/

  4. 標準化されていない世界 4 ベンダー独自の エージェント ベンダー独自の プロトコル hostID: 3CmE943 cpu.user.percentage 1750000000

    30.0 ベンダー独自の データ形式
  5. OTelで標準化された世界 5 OpenTelemetryの エージェント OpenTelemetryの プロトコル name: system.cpu.time sum: dataPoints:

    - asInt: 12345678 OpenTelemetryの データ形式 送り先のプラットフォームの違いによらず 同じものが使える
  6. 具体的にはどんな標準化をしている? • 仕様(データモデル) • API • SDK • 通信プロトコル •

    セマンティック規約 ⇦これが今日の話題 など…… 6
  7. OpenTelemetry セマンティック規約とは 7

  8. トレース用語 以降は、主にOpenTelemetryのトレースを例に出して説明します: 8 POST /message validation() saveMessage() INSERT スパン トレースに含まれる処理・操作の単位

    INSERT
  9. トレース用語 以降は、主にOpenTelemetryのトレースを例に出して説明します: 9 POST /message validation() saveMessage() INSERT INSERT •

    http.request.method = “POST” • url.path = “/message” • url.scheme = “https” 属性 注釈・メタデータを付与
  10. セマンティック規約 Semantic Conventions (semconv) メトリクス名や属性名などのデータについて、 • コードベース • ライブラリ •

    プラットフォーム これらの違いを超えて、標準の名前・意味を定義するもの https://opentelemetry.io/docs/specs/semconv/ 10
  11. セマンティック規約がカバーする領域 ◯ 領域を問わない一般的な規約 例) メトリクスの単位にはUCUM形式を使用する ◯ 領域ごとの規約 • HTTPサーバ・クライアント •

    クラウドプロバイダー • CI/CD • 生成AI など…… 11
  12. 領域ごとのセマンティック規約の例 HTTPサーバのトレーススパンには以下のような属性を必須で付与 しましょう、と書かれている https://opentelemetry.io/docs/specs/semconv/http/http-spans/ #http-server-span 12 属性名 属性の意味 属性値の例 http.request.method

    リクエストのHTTPメソッド GET url.path URIのパス /search url.scheme URIのスキーム https
  13. セマンティック規約のバージョン セマンティック規約は変化する • 安定版でないものについて、より良い命名のために • 新たな領域に関して規約を策定 しかし、決まり事がmutableだと都合が悪いので、バージョニング されている 2025-07-11時点ではv1.36.0 13

  14. セマンティック規約と計装ライブラリ OpenTelemetry利用者がセマンティック規約を意識しなければな らない機会は少ない OpenTelemetryの計装ライブラリは基本的にはセマンティック 規約に準じているので、それを使えば良い ライブラリによっては古い規約に準じていることがある(コント リビュートチャンス!) 例) https://github.com/open-telemetry/opentelemetry-ruby/issues/1647 14

  15. セマンティック規約の役割 ◯ システムが違っても、同じやり方で運用できる ➔ ダッシュボードのテンプレートを使いまわせる ➔ 他と同じだから、名前を見るだけでどんなものか想像できる ◯ シグナルとオブザーバビリティバックエンドを繋ぐ ➔

    意味に合意があるので、特化した表示・分析ができる ➔ テレメトリ同士を関連づけることができる 15
  16. セマンティック規約を活用した MackerelのAPM機能 16

  17. Mackerel APMとは アプリケーション(サービス)を中心とした、シンプルで扱いやすい インタフェースで、テレメトリーデータから洞察を得られる機能 2025年5月に正式リリース🎊 17

  18. 現時点のAPMはトレース中心 トレースの集計情報から、着目したい属性を特定してドリルダウン +α 具体的なトレースの様子を観察 → アプリケーションの問題解決のための洞察を得られる 18

  19. トレースの投稿はOpenTelemetryで OpenTelemetry形式のトレースを、OTLP (OpenTelemetry Protocol) でMackerelに投稿 19 アプリ ケーション トレース 計装

    OTelで標準化された形式/手法で トレースを生成/投稿
  20. APM機能紹介 | HTTPサーバー endpointごとの統計情報を 表形式で表示 どのendpointが遅いのか、 エラーが多いのかがわかる ここから、特定のendpoint のトレースに遷移可能 20

  21. APM機能紹介 | データベース 呼び出しているデータベー スのクエリごとの統計情報 を表形式で表示 どのクエリが遅いのか、呼 び出しが多いのかがわかる ここから、特定のクエリを 呼び出しているトレースに

    遷移可能 21
  22. APM機能紹介 | 課題 アプリケーションで起きてい るエラーを管理 どのエラーが多いのかや、エ ラーになる処理の中身がどう なっているかがわかる 発生回数の推移や関連するト レースの表示が可能

    22
  23. APM機能紹介 | 簡易フィルタ機能 APMサービス詳細の各タブ の上部には、環境やデプロ イバージョンを絞り込める セレクタを設置 本番環境だけ見たいとき、 リリース後に様子を見たい ときなどで便利

    23
  24. これらの機能はセマンティック規約あってこそ 「HTTPサーバーのスパンにはこんな属性を必須で付与する」とい う約束がセマンティック規約で定められている Mackerelはそれを元にHTTPサーバーのスパンを抽出し、アプリ ケーション目線での分析情報をユーザーに提示する データベース・課題・簡易フィルタ機能についても同様 24

  25. 更新される規約との向き合い Mackerel開発チームでは、セマンティック規約の更新を都度確認 し、最新のセマンティック規約に準じたシグナルにも対応して分析 表示できるようにしている セマンティック規約のschemaファイルに含まれている変更情報を解 析し、参照している属性に変更があれば通知 25 metrics: changes: -

    rename_metrics: system.network.connections: system.network.connection.count
  26. まとめ 26

  27. セマンティック規約の恩恵 セマンティック規約は、シグナルデータの名前や意味を標準化す る取り決め この規約があることで、オブザーバビリティプラットフォームは シグナルの意味を解釈して、システム目線の分かりやすい分析を 提供できる 27

  28. MackerelはSRE NEXTにスポンサーしています 本日紹介したAPMのデモや、監視・オブザーバビリティに関する 投票企画をやっています。ノベルティの配布もあります。 スポンサーブースにぜひお越しください! 28 「モニタリングツール体験 パーク」企画でもMackerelが 展示されています!

  29. 8/7(木)イベントやります! 29

  30. ご清聴いただき ありがとうございました 30


[8]ページ先頭

©2009-2025 Movatter.jp