Scout APM は、パフォーマンスの例外をエンドポイントに直接結び付ける Laravel アプリケーションのパフォーマンス監視ツールで、開発者がトラブルシューティングやデバッグに費やす時間を節約します。
Scout は最近、そのサービス内容を拡張して、PHP アプリケーションのマイクロサービスとマネージド サービスのモニタリングを追加し、より一貫性のある実用的な可観測性メトリクスを提供しました。 Scout APM を使用して Laravel アプリケーションを監視する方法について詳しくは、以下を読んでください。
Laravel アプリケーションの監視を開始するには、まず Scout アカウントが必要です。まだお済みでない場合は、ここから 14 日間の無料トライアルにサインアップできます (クレジット カードは必要ありません)。
次に行うことは、低オーバーヘッドのモニタリング エージェントをプロジェクトの依存関係に追加することです。これは、シェルでコマンドを使用して行うことができます:
composer require scoutapp/scout-apm-laravel
このコマンドは両方のパッケージをインストールします: スカウト-apm-laravel とスカウト-apm-php。次のステップでは、プロキシをアカウントにリンクするための構成を定義します。これを行うには、プロジェクトの .env
ファイルをテキスト エディタで開き、次の 3 行の設定をファイルに追加します。
SCOUT_MONITOR=true SCOUT_KEY=”enter your Agent Key here” SCOUT_NAME=”enter the name of you application here”
グラフは高度に構成可能で、期間を変更したり、表示するメトリクスを切り替えることができます。また、より詳細に調査したい領域の周囲にボックスを描画できる、洗練されたドラッグ アンド ドロップ ツール (以下を参照) も備えています。これらのボックスを描画すると、この期間中に訪問したすべてのエンドポイントを示すポップアップが動的に読み込まれます。この機能は、グラフ上でパフォーマンスの急上昇を確認し、その原因を知りたい場合に特に役立ちます。
[インサイト] タブ
Scout を初めて試す場合は、[インサイト] タブから始めるのが最適です。ここには、プロジェクトを分析して潜在的な遅いクエリ を特定する一連のアルゴリズムがあります。これらは、多くの場合、アプリケーションのパフォーマンスをすぐに改善できる「簡単に実現できる」パフォーマンス修正を提供します。
エンドポイントとトレース
Scout は、主に 2 つのレベルのアプリケーション パフォーマンス メトリックを提供します。まず、エンドポイントの観点から見てみましょう。たとえば、このエンドポイントにアクセスするのに平均してどれくらい時間がかかりますか?どこに時間が費やされているのでしょうか? 以下のスクリーンショットを見ると、この ForgetPasswordController エンドポイントへの 3 回のアクセスの平均リクエスト時間 2,371 ミリ秒のうち、78% がコントローラー層で費やされていることがはっきりとわかります。最初に、この遅いエンドポイントを改善するかどうかを調査します。#Scout が主にメトリクスを表示する 2 番目の角度は、トレース レベルです。たとえば、誰かがこの特定の Web リクエストを行った時間、完了までにかかった時間、リクエストのどのレベルが最も時間を費やしたかなどです。以下の UserController の更新操作のトレースを見ると、この場合、時間の 98% が SQL 層に費やされ、ほとんどの時間は、SQL レイヤーの最初の行に対する 2 回の呼び出しに費やされていることがわかります。クエリが優れています。その SQL ボタンをクリックすると、トレースバックが表示され、クエリを改善できるかどうかを確認できます。
これらのページは、Scout でほとんどの時間を費やす場所であり、パフォーマンスの問題を理解する際に不可欠な情報を提供します。 Endpoint
およびTrace ページには、メインの概要ページと [インサイト] タブから直接アクセスするか、ページ上部の [Web エンドポイント] リンク (以下を参照) をクリックしてアクセスできます。
これで、Scout の基本を説明し、通常毎日使用するシステムの主要な領域を示しました。次に、さらにいくつかの点に注目してみましょう。高度な機能という点では、これらの機能により Scout は APM 分野で際立っています。
エラー監視に Sentry、Honeybadger、Bugsnag、Rollbar のいずれを使用している場合でも、当社が対応します。 Scout はこれらの人気サービスとシームレスに統合されており、メインの概要ページですべてを 1 か所で監視できます。
どのサービスを使用する場合でも、セットアップ プロセスは似ており、必要なのは Scout のセットアップ画面で API トークンを追加することだけです。
カスタム コンテキストとトレース エクスプローラーこのパフォーマンスの問題は、火曜日の夜の午前 2 時にブラジルの IP アドレスからのみ発生するのはなぜですか?これらの難しい (しかし一般的な) パフォーマンスの問題は、Scout の最も強力な機能の 1 つである、ユーザー定義のカスタム コンテキストと組み合わせて使用される Trace Explorer で解決できます。 定義されたカスタム コンテキストを使用すると、何を確認する必要があるかを指定できます。比較的短いセットアップ時間を投資して監視のスーパーパワーを獲得する価値はあります。デフォルトでは、以下に示すように、表示されるコンテキスト フィールドは URI とホスト名のみですが、これらは必要に応じてカスタマイズできます。
Trace Explorer のマルチフィルター チャート (上に表示) を使用すると、定義した基準に一致するエンドポイントをチェックでき、次のことが可能になります。画面の「トランザクション追跡」セクションで、これらのフィルターに一致するすべてのトレースを表示します。たとえば、特定のユーザー、プランのすべてのユーザー、または世界の特定の地域からの Web リクエストを表示したい場合があります。これらの操作は、カスタム コンテキストを使用して Trace Explorer で簡単に完了でき、診断が難しく時間のかかるパフォーマンスの問題について洞察を得るのに役立ちます。
展開の追跡このパフォーマンスの問題は、最後の展開後に突然発生し始めたと思いますか?導入時のユーザー エクスペリエンスはどのようなものでしたか?これらの回答は、展開追跡機能を使用して回答できます。展開追跡機能により、展開がいつ行われるかを示すメイン概要チャートにロケットのシンボルが表示されます。SCOUT_REVISON_SHA 環境変数に追加すると、この情報はすべて収集できます。
元のアドレス: https://laravel-news.com/scout-apm-for-monitoring-a-laravel-application翻訳アドレス: https://learnku. com/laravel/t/68744[関連する推奨事項:
laravel ビデオチュートリアル]
以上がScout APMを使用してLaravelプログラムを監視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。