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

OpenTelemetryで実現するベンダーロックレスなObservability

 OpenTelemetryで実現するベンダーロックレスなObservability

RyoMiyashita

March 16, 2022
Tweet

Other Decks in Technology

Transcript

  1. 2 2

  2. 10 10 テレメトリーの取得⽅法 n 実装する必要があるもの - 計測器 - エクスポーター n

    得られるもの - ログ - メトリクス - トレース(分散トレース)
  3. 11 11 n 実装する必要があるもの - 計測器 - エクスポーター n 得られるもの

    - ログ - メトリクス - トレース(分散トレース) テレメトリーの取得⽅法 仕様は? 実装は? 互換性は?
  4. 14 14 OpenTelemetryの経緯 n 分散トレースの需要の拡⼤ n 分散トレーシングのバックエンドの登場 Zipkin, Jaeger n

    計測器の共通化を進めるプロジェクトの登場 CNCFプロジェクト Google プロジェクト OpenCensus
  5. 25 25 システム概要 n 13年近く稼働し続けているシステム n マルチテナント n メインのアプリケーションはVMで構成 n

    新機能をマイクロサービスとして構成 n Java 8、Tomcat、MySQL n Go、 Java 11、Spring boot
  6. 28 28 導⼊にあたって n Java版導⼊には2通りの⽅法がある - OTELのAgentを⼊れて⾃動でやってもらう⽅法 - SDKを使⽤して観測したい部分に⼿動でSpanを⼊れる⽅法 n

    ⼿動での導⼊を選択 - アプリケーションが⼤きいので⾃動だとゴミデータが発⽣してしまう。 - 気になる部分にどんどんSpanを追加した
  7. 34 34 導⼊で困った部分 n Exporterの選択 - 当時はOpenTelemetry Protocol(OTLP)が安定版ではなかった - NewRelic

    OpenTelemetry Exporterを使⽤ - 弊社の出⼒側とNewRelicの受け側でSpanがロストする問題があった。 - OpenTelemetry Protocolの正式版登場によってアーカイブされる n データ量 - 全データを表⽰したかったが、コスト的に断念し、サンプリングを⾏なって いる
  8. 37 37 導⼊されて n OpenTelemetryのコードのみを追加してトレースデータの取得、 送信ができるように n 分散トレーシングもできる n ログにも⼿を加えて

    Logs in Context も利⽤可能 n NewRelicの画⾯上でメンバー誰でもシステムの状態を確認可能 - 開発に必要なデータも誰でも調べれる - NewRelicの機能で事前検知できるもの増える - サポートの対応スピードも上がった
  9. 39 39 なぜNewRelicなのか n OpenTelemetryへの⼒の⼊れ⽅がすごい - 機能の実装がすごく早い - 2021春にはほとんど使える状態(2021秋にGAされた) n

    OpenTelemetryプロジェクトにを推進している - 専任のエンジニアリングリソースを提供するアップストリームチームがある - プロジェクト内で5つの正式なリーダーシップの役割を持っている - NewRelic Agentのノウハウを活かしている