Mackerel チーム エンジニアリングマネージャーの id:onk です。
Mackerel では既報の通り OpenTelemetry 対応を進めてきました。
OpenTelemetry とは
OpenTelemetry とは、メトリック・ログ・トレースなどのテレメトリーデータを収集し、任意のバックエンドへエクスポートすることを目指して標準規格を定めたオープンソースのプロジェクトです。
ベンダーに依存しない標準規格であり、扱い方が規格化されているため、何らかのテレメトリーデータを出力したい場合は、まず OpenTelemetry の形式で出力されるようになりつつあります。Mackerel が plugin として未対応なミドルウェアでも簡単にテレメトリーを収集開始できること、メトリックがメタデータ (Attribute) を持つため Observability をより高められることから、Mackerel としても OpenTelemetry への対応を進めてきました。
Mackerel がなぜ OpenTelemetry に対応しているかについて、詳しくは なぜ Mackerel は OpenTelemetry のラベル付きメトリックをサポートするのか をご覧ください。
Mackerel の OpenTelemetry 対応でできること
- OTLP を用いたラベル付きメトリックの保存
- カスタムダッシュボードにグラフ表示
- クエリによる監視とアラート発報
それぞれ軽くご紹介します。
OTLP を用いたラベル付きメトリックの保存
エージェントやクラウドインテグレーションで Mackerel に投稿される従来のメトリック(シンプルな <metric path> <metric value> <metric timestamp>
のテキスト形式)は、エンドポイント api.mackerel.io
に送信され、保存されます。これに対し、OpenTelemetry に対応したラベル付きメトリックの投稿は、OpenTelemetry Protocol (OTLP) を使用し、新たなエンドポイント (otlp.mackerelio.com:4317
) への送信をもって保存されます。詳細は以下のヘルプやブログエントリを参考にしてください。
送信するメトリックを収集するための計装は、OpenTelemetry の Registry から探すことができます。ご自身で計装する場合は以下のエントリも参考にしてください。
カスタムダッシュボードにグラフ表示
保存したラベル付きメトリックは、カスタムダッシュボードにグラフとして表示できます。詳細は前掲のブログエントリや以下のヘルプを参考にしてください。PromQL ライクのクエリ言語を使用して、保存したラベル付きメトリックから自由にデータを取得できます。
対応している演算子や関数については、以下のヘルプページで確認できます。
Mackerel には式を使ったグラフの組み合わせ・加工の機能が以前より存在しますが、クエリ言語を使うことで、さらに柔軟に、任意のデータをダッシュボードに表示することが可能です。
クエリによる監視とアラート発報
ラベル付きメトリックを利用した「クエリによる監視」では、従来のホストメトリックやサービスメトリック監視と異なるアプローチでアラートを発報できます。この方法では、グラフ表示に用いるクエリ言語を使って、計算された値を監視対象とすることが可能です。
より詳細な情報や設定方法については、以下のヘルプページをご参照ください。
式による監視も同様の機能を提供していましたが、5 分間隔の制約がありました。クエリによる監視では、より短い毎分の監視が可能となり、アラートの発報をより迅速に行えるようになります。
パブリックベータとは
OpenTelemetry 対応は、現在パブリックベータという形で提供しています。ベータ版の性質上、操作性や安定性に多少のばらつきがあることをご理解いただければと思います。初期段階でのご利用においては、これらの点が使い始める上での大きな困難にはならないよう配慮しておりますので、この機会にぜひご利用いただき、フィードバックをお寄せください。
なお、ラベル付きメトリックのグラフ表示にはカスタムダッシュボードを要することから、Free プランでは提供していないことにご注意ください。Standard プランまたはトライアルプランにてご利用いただけます。本リリースまではラベル付きメトリックの投稿とクエリによる監視につきましては追加料金の発生はございません(サーバーへの過度な負荷が発生した場合は、個別にご連絡します)。
ご利用方法
特別なお手続きは必要ありません。OTLP 形式のメトリック投稿は otlp.mackerel.com
のエンドポイントで受け付けており、カスタムダッシュボードへのグラフ配置やクエリによる監視の設定は Mackerel の Web コンソールから行えます。
フィードバック方法
フィードバックは、Web コンソール右上にある「サポートチームへ連絡」を通じてお願いします。
開発者に会いに行けるサービス として、OpenTelemetry Casual Talk を始め定期的にオフラインイベントも開催していますので、直接会話したい場合はぜひご活用ください。
それでは、OpenTelemetry 対応した Mackerel をどうぞご利用ください。