Mackerelトレーシング機能ガイド
プロダクト
  • Mackerel トレーシング機能ガイド
    • はじめに
    • Mackerelトレーシング機能概要
    • OpenTelemetryとは
    • 料金
  • インストール・実装
    • GoにOpenTelemetryを導入する
    • Node.jsにOpenTelemetryを導入する
    • PHPにOpenTelemetryを導入する
    • PythonにOpenTelemetryを導入する
    • RubyにOpenTelemetryを導入する
    • その他の言語にOpenTelemetryを導入する
    • OpenTelemetry Collector を導入する
    • フロントエンド・アプリでのエラートラッキング
  • 機能
    • サービスを健全に保つ
    • 問題を素早く解決する
  • インテグレーション
    • Slack
  • FAQ - よくある質問
GitBook提供
このページ内
  • OpenTelemetryについて
  • SDKについて
  • SDKでの計装方法
  • Collectorについて
  • Collectorのインストール方法
  • Collectorを使うかどうかの判断について
  1. Mackerel トレーシング機能ガイド

OpenTelemetryとは

前へMackerelトレーシング機能概要次へ料金

最終更新 3 か月前

このページではOpenTelemetryの概要について記載しています。

OpenTelemetryについて

OpenTelemetryはメトリクスやログ、トレースの情報を収集・送信するツール郡の総称です。

その中にはSDKやプロトコルも含まれています。

例えば、Mackerelトレーシング機能を使うためには以下を使用します。

  • SDK (各言語、フレームワーク用にデータを作成する)

  • Collector (データを外部に送信する。例えばMackerelへの送信)

SDKについて

OpenTelemetryはアプリケーション内部の情報を収集することができます。

そのため、各言語・フレームワークに合わせたSDKが作成されています。

SDKを使用することで、下図のようにリクエストにどのような操作があったかを把握することができるようになります。

メジャーな言語に向けては公式のものが用意されているほか、有志が作成しているものもあります。 また、フレームワークやCIツールなど個別のニーズにも対応したものもあります。

例えば、以下のフレームワークに対応しています

OpenTelemetryに対応しているツールはとても多いため、フレームワークにとどまらず、次のような操作も記録することができます。

  • 発行されたSQL

  • AWS との通信

  • キューで処理されたジョブ

下のページから対応しているツールを検索することができます。その数に驚くはずです。

SDKでの計装方法

SDKの計装方法は以下のページを参照してください。

インストール・実装

Collectorについて

Collector (OpenTelemetry Collector) はSDKから送られてきたデータをまとめ、外部に送信するツールです。エージェントやゲートウェイとして利用できます。

Collectorのデータの送信先をMackerelトレーシング機能のエンドポイントに設定することで、データをMackerelに送信することができます。

Collectorに関する細かい動作は、以下のページが参考になります。

Collectorのインストール方法

Collectorのインストール方法については以下のページを参考にしてください

OpenTelemetry Collector を導入する

Collectorを使うかどうかの判断について

Mackerelトレーシング機能を使用する場合、Collectorを使わずに、SDKから直接Mackerelにデータを送信することができます。

どちらが適しているかは負荷状況や言語によりますが、一般的に以下のトレードオフがあります。

  • Collectorを経由する:「SDKからCollectorへの非同期通信」&「CollectorからMackerelへの非同期通信」と送信が二重になるので、安定する

  • SDKから直接送信する:SDKを使うだけで動くので実装が簡単

Collectorを使用する場合は、以下のページも参照してください。

OpenTelemetry Collector を導入する

(ruby)

(Python)

(Go)

(Node.js)

Ruby On Rails
Django
Gin
Express
公式のドキュメント
GitHub
RegistryOpenTelemetry
より
https://opentelemetry.io/docs/concepts/observability-primer/
Logo