OpenResty XRay Web コンソール:自動分析レポート・リアルタイム指標・ガイド付き根本原因分析
OpenResty XRay Web コンソールは、実行中のアプリケーションを非侵入型で——コードを一行も変更せずに——監視・トラブルシューティングするためのブラウザ UI です。四つの領域で構成されます:Insights は日次・週次の分析レポートを自動生成し(本ツアーでは 1 つの OpenResty アプリで CPU 関連の問題が 12 件検出されました)、Dashboard は CPU・メモリ指標をリアルタイムに表示、Guided Analysis はオンデマンドの根本原因診断とフレームグラフ生成を行い、Settings は各 Agent を管理します。本記事では OpenResty XRay の Web コンソールを使ったリアルタイムモニタリングと管理の各領域を順に紹介します。
OpenResty XRay の Insights ページで何が見られる?
OpenResty XRay Web コンソールの Insights ページは、XRay がすべてのサーバー上のすべてのアプリケーションに対して自動生成した分析レポートを表示します。
ここでは、日次および週次の自動分析レポートを見つけることができます。システムはデフォルトで当日の日次レポートを表示します。週次レポートも表示できます。
これらのアプリケーションの詳細情報を折りたたむにはクリックします。
ご覧のように、OpenResty XRay はさまざまな種類のアプリケーションを分析できます。
「OpenResty」アプリケーションを展開します。
カテゴリーのタイトルをクリックすると、問題リストの表示/非表示を切り替えることができます。
問題はタイプ別に分類されており、関心のある問題カテゴリーを素早く見つけることができます。各カテゴリーの後ろの数字は、そのカテゴリー内の問題数を示しています。
この OpenResty アプリケーションの CPU 問題を見てみましょう。ここには「CPU」に関連する 12 の問題がリストアップされています。
OpenResty XRay の分析レポートの読み方は?
OpenResty XRay の分析レポートを読むには、任意の問題を開いて「More」をクリックします——レポートはホットコードパスを特定するフレームグラフを中心に、平易な説明と修正提案が続きます。問題リスト内の特定の問題の詳細情報を確認するには、
「More」をクリックするだけです。
このホットコードパスは、C 言語レベルの CPU フレームグラフから自動的に導き出されたものです。
拡大してご覧ください。
フレームグラフは、コードの問題の根本原因を特定するのに役立ちます。
以下は、問題に関するより詳細な説明と提案です。
このボタンをクリックすると、さらなる分析結果をご覧いただけます。
ここでは、使用されたアナライザーやアプリケーション関連の具体的な情報など、より完全なレポート情報が網羅されています。
ここでは、フレームグラフと他のシステムメトリクスに関連するグラフをご覧いただけます。
また、完全なターミナル出力もご確認いただけます。
OpenResty XRay Dashboard に表示される指標は?
Dashboard はリアルタイムの CPU・メモリ指標に加え、Go などランタイム別・アプリケーション別のグラフを表示します。OpenResty XRay は、アプリケーションのさまざまな問題を迅速に発見し分析するのに役立ちます。「Dashboard」ページにアクセスして、より詳細なパフォーマンス監視データをご覧いただくこともできます。
ここでは、システムのさまざまなパフォーマンスデータが表示されています。
上部で他のタイプのパフォーマンスメトリクスを切り替えてご覧いただけます。
これらは CPU のリアルタイム使用状況に関連するグラフです。
このグラフを全画面で表示するにはクリックしてください。
現在、過去 1 時間のデータが表示されています。
これらはシステムの CPU 利用率に関連する詳細なメトリクスです。
以下は、アプリケーションタイプ別の基本情報です。これは Go アプリケーションに関するものです。
「Dashboard」ページには、他のアプリケーションのパフォーマンス分析グラフもあります。
メモリメトリクスの詳細ページに移動します。
これらのシステムメトリクスはすべてメモリ使用状況に関するものです。
メモリ使用量を眺めるだけでなく、実際のメモリリークをソース行まで追跡するには、本番環境でのメモリリーク検出をご覧ください。
Guided Analysis で高 CPU 使用率を診断するには?
高 CPU 使用率を診断するには、Guided Analysis を開いて「High CPU Usage」を選び、対象アプリとその worker プロセスを選択し、Lua と C/C++ を両方選択したまま開始します——XRay は複数ラウンド(デフォルト最大 300 秒)を実行し、ホットコードパスを指し示すフレームグラフ付きのレポートを生成します。「Guided Analysis」ページでは、システムのパフォーマンス問題をオンラインで分析することができます。「Guided Analysis」ページに移動しましょう。
ここでは、システムが分析可能な様々な種類の問題を確認できます。
「High CPU Usage」を選択してみましょう。
「Next」をクリックします。
ここでは OpenResty アプリケーションを選択します。
worker という名前のプロセスを選択します。
アプリケーションのタイプが正しいことを確認します。通常、デフォルト値が適切です。
OpenResty XRay は、複数の異なる言語レベルで分析を行うことができます。ここでは Lua と C/C++ の両方を選択したままにします。
最大分析時間を設定することもできます。ここではデフォルトの 300 秒のままにします。
分析を開始します。
システムは複数のラウンドの分析を継続的に実行します。現在、最初のラウンドの分析を実行中です。
最初のラウンドが完了し、2 回目の分析に入りました。この例では、1 回のラウンドで十分です。
分析を停止します。
自動生成された分析レポートを確認できます。
ここをクリックすると、過去の分析レポートを閲覧できます。
これまでに生成されたすべての分析レポートが表示されます。
これは先ほど生成したレポートです。
このボタンをクリックしてレポートの詳細ページに進みます。
OpenResty XRay の Agent を設定するには?
Settings ページでは、Agent を選択してその設定を調整できます。Web コンソールに戻ります。「Settings」ページに移動します。
「Settings」機能を選択します。
ここでは、選択した Agent の詳細情報を確認し、設定を行うことができます。
OpenResty XRay Web コンソール FAQ
OpenResty XRay はアプリケーションのコード変更が必要ですか?
いいえ。OpenResty XRay は非侵入型のツールで、実行中のアプリケーションをそのまま分析します。再コンパイルも計装(インストルメンテーション)もコード変更も不要で、すべて Web コンソールから操作できます。
Insights レポートと Guided Analysis の違いは?
Insights レポートは、すべてのサーバー上の各アプリに対し日次・週次のスケジュールで自動生成されます。Guided Analysis はオンデマンドで、問題タイプ・対象・分析時間を選んで自分でライブ分析を起動します。どちらもフレームグラフと提案付きのレポートを生成します。
OpenResty XRay は Insights レポートをどのくらいの頻度で生成しますか?
日次と週次の 2 つの周期で自動生成されます。Insights ページはデフォルトで当日の日次レポートを表示し、週次レポートにも切り替えられるため、手動トリガーなしで常に最新の分析が用意されています。
OpenResty XRay とは?
OpenResty XRay は動的トレーシング製品であり、実行中のアプリケーションを自動的に分析して、パフォーマンスの問題、動作の問題、セキュリティの脆弱性を解決し、実行可能な提案を提供いたします。基盤となる実装において、OpenResty XRay は弊社の Y 言語によって駆動され、Stap+、eBPF+、GDB、ODB など、様々な環境下で複数の異なるランタイムをサポートしております。
著者について
章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。
章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay(動的トレーシング技術を利用した非侵入型の障害分析・トラブルシューティングツール)と OpenResty Edge(マイクロサービスおよび分散トラフィックに最適化された多機能ゲートウェイソフトウェア)は、世界中の多くの上場企業および大企業から高い評価を得ております。OpenResty 以外にも、章亦春は Linux カーネル、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl など、複数のオープンソースプロジェクトに累計 100 万行以上のコードを寄与し、60 以上のオープンソースソフトウェアライブラリを執筆しております。
翻訳
英語版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!








































































