1. TOP
  2. BLOG
  3. TECH ARTICLE:JENNIFERの
    オープンテレメトリモニタリング
TECH ARTICLE

2024年04月30日

JENNIFERの
オープンテレメトリモニタリング

オープンテレメトリでは、既に多くのモニタリング製品が自社ソリューションの機能に合わせてデータの収集や、照会する機能をサポートしています。一部の製品は新しい製品として実現するか、別途に画面を提供して制限的な利用をサポートしています。
オープンテレメトリデータの収集をサポートすることは、ユーザに使用するデータソースの選択権を提供することです。JENNIFERもオープンテレメトリデータを最大限使用可能なデータとして、連携してモニタリングできるようにサポートします。

JENNIFERでオープンテレメトリデータを収集したときに、どのようなタイプのモニタリングができるかを確認します。モニタリング対象は分散トレーシングで広く知られているJaeger開発担当者が作ったmicrosim を利用しました。microsimはgolangで作られた7つのサービスで構成するマイクロサービスのデモです。

ダッシュボード

データが流れるとJENNIFERはサービス毎にインスタンスを生成してダッシュボードに表示します。同時ユーザ数、ヒープメモリ、物理メモリなどの情報がないシンプルな構成です。これらの情報を除外した理由は、オープンテレメトリではTraceとSpanの2つの単純な概念だけが存在して、モニタリング対象の情報は別途のエージェント構成が必要だからです。そのために、追加設定がないサービスをモニタリングできる要素で構成しました。

既存のJENNIFERのユーザに最も有効なアクティブサービス、X-View分析機能と同じ操作性をサポートするために苦心しました。他の製品で収集して転送されたデータをJENNIFERのエージェントが送った情報と同じように表示するためです。データソースの選択はユーザにありますが、どちらを選択してもJENNIFERの操作性を同じようにサポートします。

アクティブサービス

オープンテレメトリデータも、リアルタイムの状況を直ぐに確認できることが重要です。但し、データがオープンテレメトリのCollectorを通ってJENNIFERサーバへ転送されるため、秒単位の精度は保証できませんが、JENNIFERでは準リアルタイムに近い状態で確認できます。

上のチャートの各要素をダブルクリックすると、次のようにアクティブサービスリストと詳細内容を確認できます。

X-View

JENNIFERの重要機能であるX-Viewも同様に利用できます。オープンテレメトリ要素の一つ一つが全てトランザクションで表現されているので、詳細な分析のときに下位のSpan情報をプロファイルで確認できます。チャートをドラッグすると、次のようにトランザクションリストを確認できます。

ここで個別のトランザクションをクリックすると、プロファイルの詳細分析画面に移動します。

オレンジ色の各ノードは外部リクエストを意味します。test-executorから mysqlサービスまでのリクエスト構造を一目で確認できます。時間の流れを表すタイムラインを見ると、オレンジ色のノードが無い緑の一本の実線だけが存在する領域を確認できますが、これはmicro-simのデモが5秒毎にリクエストするためです。Sleepを利用して遅延させた後、次のリクエストを繋げていることが推測できます。micro-simデモのように、細分化されたサービスリクエストが多い場合、Flame Graphを利用すると、最終リクエストサービスまでの関係をより分かり易く確認できます。

最下段にあるノードは全てredisサービスをリクエストしています。driverサービスのFindNearestには、多数のredisリクエストがあることを確認できます。

関連トランザクション

既存の関連トランザクションを改善した機能です。個別サービスのリクエストとの関係を確認できます。各ノードをクリックすると、そのトランザクションに移動して詳細分析ができます。どの時点でもマウスオーバすると、サービスの開始から終了を強調して、分析する対象の範囲を素早く選択できます。

トポロジービュー

トポロジービューもサービスのリクエストの関係をリアルタイムでモニタリングする機能をサポートします。Spanの相関関係を分析して構成させ、区間リクエスト情報も従来通りにX-Viewで確認できます。
多様なサービスで構成されている場合には、全体システムのサービスリクエストの構造を一目で把握できます。

その他の機能

JENNIFERエージェント独自の機能を除外した機能をサポートします。

上の図にあるダッシュボード/ユーザ定義ダッシュボード、分析、統計レポートなどを提供します。

最後に

オープンテレメトリをJENNIFER上に表示するまで、多様な製品を利用してみて次のようなことを考えました。リアルタイムで確認できる内容が物足りない。どのように使えばサービスの状態を確認できるのか、オープンテレメトリをサポートしているがデータの無い項目もあり、設定を見落としているのかも知れない。製品がサポートする機能が多いために、設定を探すのが難しく感じた。つまり、多くの機能をサポートしていますが、利便性が良くないと感じました。

JENNIFERの利用経験が無いユーザには難しく感じるかもしれませんが、基本的なモニタリングではJENNIFERの直観的に利用できる操作性をサポートしています。
最後に、JENNIFERのデータと異なる特性を持つオープンテレメトリをモニタリングするときに、分かり易いモニタリングができるように例外的な状況を作らないことを考慮しました。

お気軽にお問い合わせください

製品に関する事やご不明な点など、お気軽にご相談ください。
また、ジェニファーソフトでは2週間の無償トライアルを提供しています。

詳しく知りたい方は
導入や費用のご相談は