OpenTelemetry を学ぼう! Mackerel チームのアウトプットのご紹介

こんにちは!Mackerel CRE の id:KGA です。

Mackerel 開発チームでは OpenTelemetry メトリック対応の正式化に向けて開発を進めていますが、開発中に得た技術的な知見を積極的に発信しています。その中には Mackerel をお使いいただいているユーザーのみなさまにも参考にしていただけるものが多くあります。本記事ではそんな Mackerel チームのアウトプットの中から OpenTelemetry に関するものをご紹介します!

Mackerel の OpenTelemetry に関する取り組み(ラベル付きメトリック機能)については以下の記事もご参照ください。

目次

オブザーバビリティの Primary Signals id:onk

2024年4月10日 に行われた OpenTelemetry Observability運用の実例 Lunch LT でのトークです。

オブザーバビリティにおける Primary Signals (メトリック、ログ、トレース) の特性と、それを踏まえ OpenTelemetry を用いてどのようにメトリックの収集を始めるといいか、始めやすいところはどこか、などを解説しています。

speakerdeck.com onk.hatenablog.jp

以下の記事で OpenTelemetry のはじめ方をご紹介していますが、本トークは最初の一歩を踏み出す際に参考にしていただけそうです。

Mackerel で OpenTelemetry をはじめてみよう! ─ システムメトリックの置き換えからアプリケーションへの組み込み、コンテナ環境への対応まで - Mackerel ブログ #mackerelio

OpenTelemetry Casual Talk

2024年3月25日に Mackerel チームが開催した OpenTelemetry Casual Talk - コンセプトのおさらいと実践入門! でのトークです。いずれも配信動画アーカイブで実際のトークをお聞きいただくこともできますので合わせてご覧ください。

OpenTelemetry実践 はじめの一歩 id:taxintt

OpenTelemetry の概要から始まり、時代の変化とともにシステムがどのように変化していき、どのような課題感が生まれ、その中で OpenTelemetry はどのようなコンセプトで何を解決するために生まれてきたのかを解説し、はてな社内で Mackerel の OpenTelemetry 対応(ラベル付きメトリック)を実際に使った社内検証をどのように進めたかを解説しています。

OpenTelemetry の概念理解から実践に進むために考慮した点などの実例を知ることができ、まさに「はじめの一歩」を踏み出すためにぴったりのトークです。

speakerdeck.com

OpenTelemetry のサービスという概念について id:azukiazusa

OpenTelemetry の Semantic Conventions で定義されているリソースに関する属性であるサービスの説明とその必要性についてのトークです。どのような監視バックエンドを使う場合でもサービス名(service.name)が属性に指定されていることが前提となっていることが多いため OpenTelemetry を扱う際には押さえておきたい概念です。

speakerdeck.com

現在開発を進めているメトリックエクスプローラーも OpenTelemetry のサービスを軸にメトリックを探索していく機能となっています。

mackerel.io

otelcol receiver 自作RTA id:arthur-1

2024年5月9日に開催された Pepabo Tech Conference #22 春のSREまつり 〜OpenTelemetry活用すべて見せます〜でのトークです。

OpenTelemetry Collector の Receiver を作る過程をライブコーディング形式でお届けしています。Receiver の作り方を順を追って学ぶことができ、また発表時点での周辺ツールに関する注意点や工夫なども盛り込まれています。ライブコーディング形式のトークなので配信のアーカイブをご覧になるとより具体的な部分を知ることができます。

speakerdeck.com

OpenTelemetry の Trace を中心としたパフォーマンス改善 id:rmatsuoka

2023年11月17日に開催されたHatena Engineer Seminar #27 「パフォーマンスチューニング編」でのトークです。

Go で書かれたアプリケーションのトレースを計装し AWS X-Ray を活用しパフォーマンスの改善をした実例の紹介です。Mackerel の OpenTelemetry 対応のバックエンドを題材に N+1 問題の改善、DB アクセスの改善、ドメインロジックや Go 特有のパフォーマンスチューニングなどを行った過程を垣間見ることができます。

speakerdeck.com

配信のアーカイブも合わせてご覧ください

今後も Mackerel チームからのアウトプットにご期待ください

これまで本ブログで取り上げていなかったものも含めて Mackerel 開発チームのアウトプットの中から OpenTelemetry に関するものをご紹介しました。今後 OpenTelemetry を活用いただく上で参考にしていただけるかと思いますのでぜひご覧ください!