Kubernetes クラスター上に OpenResty XRay の Agent をインストールする
アプリケーションが Kubernetes コンテナ内で実行されている場合、OpenResty XRay Agent を直接 K8s 環境にデプロイすることができます。本記事では、Kubernetes クラスター上に XRay Agent サービスをインストールし、システム内の様々なアプリケーションやコンテナの自動分析と診断を実現する方法を段階的にご案内いたします。
コンソールにログイン
アカウントにログインします。
「Go to console」をクリックします。
Agent インストールのガイドページに移動します。
コンテナを使用したインストール方法をご紹介いたします。
今回の例では「Kubernetes」を選択しています。
Kubernetes クラスター上に Agent をインストール
まず、このコマンドを使用して Kubernetes クラスター内に Docker イメージレジストリのシークレットキーを作成します。
コピーボタンをクリックします。
コマンドを貼り付けて実行します。
シークレットキーが正常に作成されました。
この yaml ファイルを使用して Agent をデプロイします。
対象マシンの CPU アーキテクチャに応じて x86_64 または arm64 を選択できます。この例では、x86_64 アーキテクチャを選択しています。
vim エディタを使用して新しい yaml ファイルを作成します。このファイルをローカルに保存し、openresty-xray-agent.yml
という名前を付けます。
この yaml ファイルの内容をコピーします。
内容を貼り付けてファイルを保存します。
以下のコマンドを使用してアプリケーションを設定できます。
コマンドをコピーします。
コマンドを貼り付けて実行します。
Agent が正常にデプロイされました。
次に、このコマンドを使用して pod の状態を確認します。
コピーします。
コマンドを貼り付けて実行します。
Agent が正常にインストールされ、実行中であることが確認できます。
アプリケーションの設定と検出
ガイドページに戻ります。
非本番モードでは、システムはより積極的な分析方法を採用し、より迅速に結果を得ることができます。
本番モードは、オンラインの本番環境を分析するために使用され、対象アプリケーションとサーバーのパフォーマンスへの影響を最小限に抑えます。ただし、これは分析時間が長くなる可能性があることを意味します。
パラノイアモードは本番モードと似ていますが、対象サーバーのリクエスト遅延へのパフォーマンス影響をさらに低減しようとします。それに応じて、サンプリング時間はより長くなります。
次に、対象システムで実行中のアプリケーションとコンテナを自動検出します。
これらは自動検出された対象アプリケーションです。
検出されなかった新しいアプリケーションを追加する場合は、カスタムアプリケーションを設定できます。
ここで新しいアプリケーションの名前を入力できます。
アプリケーションのタイプを選択します。
このプロセスリストから新しいアプリケーションに対応するプロセスを選択できます。
アナライザーの起動と分析結果の確認
ここをクリックしてアナライザーの実行を開始します。
アナライザーが実行を開始しました。
「Traffic and Load」をクリックします。
システムは対象マシン上に十分なトラフィックと負荷があることを検出しました。対象アプリケーションに負荷とトラフィックがある場合にのみ、システムは意味のある分析を行うことができます。
コンソールに移動します。
最初の分析レポートが生成されるのを待ちます。最初の Agent がインストールを完了したばかりだからです。「Insights」ページの分析レポートは、すべての Agent 上のすべてのアプリケーションから生成されたものを集約しています。
リアルタイムの生成進捗を観察できます。
最初の完全自動化された分析レポートが生成しました!
今後、日次レポートと週次レポートが定期的に自動生成されます。
「Dashboard」ページに切り替えます。
Apache や OpenResty XRay アプリケーションなど、さまざまなタイプのアプリケーションのフレームグラフやその他のチャートを確認できます。
別の Agent のインストール
別の Agent をインストールする場合は、ここをクリックするだけです。
ここで使用する手順は、先ほど Kubernetes クラスター上にインストールした際の手順と同じです。
他のオペレーティングシステムにインストールする場合や、RPM パッケージのインストール方法に切り替える場合は、ここをクリックします。
以前に見たガイドページに戻り、ここで異なるインストール方法やオペレーティングシステムを選択できます。
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 XRay(マイクロサービスおよび分散トラフィックに最適化された多機能
翻訳
英語版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!