Slide 1

Slide 1 text

ja.mackerel.io 2025-05-28 アプリケーションの中身が見える! Mackerel APMの全貌と展望 Mackerel APMリリースパーティ Mackerel開発チーム サブディレクター・テックリード 朝倉 一希 (id:arthur-1)

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Mackerel APM 3 2025年5月1日 正式リリース!

Slide 4

Slide 4 text

おしながき ● Mackerel APM誕生の経緯 ● Mackerel APMの機能紹介 ○ トレースの投稿 ○ トレースの可視化 ○ 利用料金 ● 今後のAPM関連の開発構想 4

Slide 5

Slide 5 text

Mackerel APM 誕生の経緯 5

Slide 6

Slide 6 text

オブザーバビリティプラットフォームへ 2024年8月 Mackerel10周年の節目を目前にする中、「オブザーバビリティプ ラットフォームとして進化していきます」と宣言 6 https://mackerel.io/ja/blog/entry/announc ement/mackerel-as-observability-platform

Slide 7

Slide 7 text

オブザーバビリティロードマップ オブザーバビリティにおける主要な3シグナルについて対応予定で あることを発表 7 トレース Traces メトリック Metrics ログ Logs これらは、オブザーバビリティフレームワークである OpenTelemetryにおいてもサポートされている

Slide 8

Slide 8 text

ラベル付きメトリック機能のリリース ● OpenTelemetry Metricsを OTLP形式で投稿 ● PromQLやエクスプローラー でメトリックを検索・計算、 グラフを描画 ● 閾値による監視・アラート通 知も設定可能 2024年5月 ベータリリース 2024年11月 正式リリース 8

Slide 9

Slide 9 text

トレーシング機能の登場 2024年6月 OpenTelemetry Tracesを扱える 分散トレーシングサービスVaxilaを 事業譲受 2024年8月 Mackerelの機能としてVaxilaを利 用可能に https://mackerel.io/ja/blog/entry/announceme nt/20240826-1 9

Slide 10

Slide 10 text

そして、APMのリリース 2025年5月 トレーシング機能を発展させ、APM機能を正式リリース🎊 10 https://mackerel.io/ja/blog/entry/announc ement/20250501

Slide 11

Slide 11 text

Mackerel APMの 機能紹介 11

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

トレースの投稿 14

Slide 15

Slide 15 text

トレースの投稿はOpenTelemetryで OpenTelemetryはテレメトリーデータの生成・投稿を、ベンダーの違い を超えて標準化することを目的とした規格 OpenTelemetry形式のトレースを、OTLP (OpenTelemetry Protocol) でMackerelに投稿 15 アプリ ケーション トレース 計装 OTelで標準化された形式/手法で トレースを生成/投稿

Slide 16

Slide 16 text

OTelでのトレース計装 OpenTelemetry SDKや自動計装ライブラリを用いることで、トレース データを生成できる 具体的な方法は、ヘルプページ https://mackerel.io/ja/docs/entry/tracing/guide やMackerelのUI上 で提供されているチュートリアルを参照 16

Slide 17

Slide 17 text

OTLPでのトレース投稿 OpenTelemetry SDKに含まれるOTLPエクスポーターを用いることで、 Mackerelにトレースを投稿できる 直接Mackerelに送信するのではなく、OpenTelemetryコレクターを挟 む構成が一般的には推奨されている こちらも具体的な方法は、ヘルプページ https://mackerel.io/ja/docs/entry/tracing/guide やMackerelのUI上 で提供されているチュートリアルを参照 17

Slide 18

Slide 18 text

MackerelのUI上で提供するチュートリアル トレースを投稿していない状態でAPMやトレース画面に行くと、トレー スの生成・投稿を行うサンプルコードが表示されるページに遷移できる 18

Slide 19

Slide 19 text

トレースの可視化 19

Slide 20

Slide 20 text

APMサービス一覧 トレースを投稿した状態でサイ ドバーのAPMを選択すると、 サービス一覧に遷移 ここから、閲覧したいサービス を選択する 20

Slide 21

Slide 21 text

APMサービス詳細 | サマリー トレースデータを集約して計 算したREDメソッド(Rate, Errors, Duration)のメト リックを表示 システムが不調だった時間を 絞り込める 21

Slide 22

Slide 22 text

APMサービス詳細 | HTTPサーバー endpointごとの統計情報を 表形式で表示 どのendpointが遅いのか、 エラーが多いのかがわかる ここから、特定のendpoint のトレースに遷移可能 22

Slide 23

Slide 23 text

APMサービス詳細 | データベース 呼び出しているデータベー スのクエリごとの統計情報 を表形式で表示 どのクエリが遅いのか、呼 び出しが多いのかがわかる ここから、特定のクエリを 呼び出しているトレースに 遷移可能 23

Slide 24

Slide 24 text

APMサービス詳細 | トレース一覧 指定したサービスのトレース 一覧や、レイテンシ・属性値 の分布がわかる表示 他ページと比較して、高度な トレースの検索も可能 24

Slide 25

Slide 25 text

APMサービス詳細 | トレース詳細 トレース一覧からトレースを 選択すると、フレームグラフ や属性などが表示される どの処理の実行が遅いのか、 エラーなのかというレベルで 様子がわかる 25

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

課題管理・通知 トレースに含まれる例外イベントを課題として表示・管理できる Slackへの通知も可能 27

Slide 28

Slide 28 text

利用料金 28

Slide 29

Slide 29 text

Mackerelの料金体系のポリシー 複雑な料金体系にしないことで、かかるコストを把握しやすくする ユーザー数に対して課金をしないことで、より多くのユーザーに使っ てもらい、監視や運用にチーム全体で取り組めるようにする APM・トレーシング機能の料金体系においても、このポリシーを引き 継いでいる 29

Slide 30

Slide 30 text

トレーシング・APM料金の計算単位 投稿したトレースデータの量に基づいた従量課金制 数える単位は「スパン」=トレースに含まれる処理・操作の単位 30 POST /message validation() saveMessage() INSERT INSERT INSERT … これら1つ1つがスパン

Slide 31

Slide 31 text

プランごとの利用料金 フリープラン: 無料 投稿上限は月ごと500万スパン スタンダードプラン: 300円/100万スパン 毎月500万スパン分の無料枠あり いずれのプランでも、トレースデータは2週間分保持 詳細は公式Webサイト https://ja.mackerel.io/pricing を参照 31

Slide 32

Slide 32 text

スパン投稿量の把握 オーガニゼーションの利用 状況ページで、トレースの スパン投稿数の集計を日次 で閲覧できる 32

Slide 33

Slide 33 text

今後のAPM関連の 開発構想 33

Slide 34

Slide 34 text

前置き 本セクションで紹介されている将来の開発構想は、予告なく変更する可 能性があります。ご了承ください。 34

Slide 35

Slide 35 text

相対比較により、得られる洞察を増やす 普段システムの様子を眺めるとき、これまでの実績値と比較する機会は よくあるはず ● 1日前、1週間前の同時刻の分析結果と比較できる ● REDメトリックをバージョンや環境ごとに系列を分けて表示し、数値 を比較できる ● 通常のトレースと異常なトレースで、属性値の分布の違いを比較でき る 35

Slide 36

Slide 36 text

APMでテレメトリー間の連携 APMのサービス中心のインタフェースにラベル付きメトリックの表示・ 検索機能を加え、メトリックとトレースの行き来を支援 そして、OpenTelemetry Logsに対応し、アプリケーション内で起こる イベントの管理・監視をMackerelで扱えるように 36

Slide 37

Slide 37 text

もっと高速に 既存のラベル付きメトリック機能と合わせて、高カーディナリティの データを自在に、そしてもっと高速に検索・集計できるように、 Mackerelのバックエンド・データストアを改善 オブザーバビリティデータにより特化させたアーキテクチャで、オブ ザーバビリティプラットフォームに求められる特性を満たす 37

Slide 38

Slide 38 text

生成AIの力を借りられるように システムの知識(コンテキスト)をすでに持ったLLMにトレースや課題 の情報を与えると、問題解決の助けになるかもしれない MCP ProtocolでMackerel上に保存されたAPMの情報を提供できる仕 組みがあると、これが容易になる 38

Slide 39

Slide 39 text

トレース投稿量の監視でコストコントロール スパン投稿量の速報値を、ラベル付きメトリックとして短い間隔で投稿 する これにクエリ監視を設定していただくことで、トレース投稿量の意図せ ぬ大幅な増加を検知し、サンプリングレートの調整に生かすことができ る 39

Slide 40

Slide 40 text

トレース投稿の敷居を下げる Mackerelに特化してカスタムビルドしたOpenTelemetryコレクターを 提供し、Mackerelにテレメトリーを送るコレクターを設定ファイルな しで立ち上げられるように 40

Slide 41

Slide 41 text

まとめ 41

Slide 42

Slide 42 text

まとめ Mackerelは今後も、オブザーバビリティをチームで育てるプラット フォームとして進化していきます! 今後のアップデートにご期待ください! 42

Slide 43

Slide 43 text

まとめ そして、サービスを中心としたシンプルなインタフェースでアプリケー ションの中身が見えるMackerelのAPMをぜひご利用いただき、フィー ドバックをお寄せいただきますと幸いです 特別なキャンペーンもご用意しております。MackerelのAPMに興味を 持った方はセールス担当にお声がけください 43