ホームページ  >  記事  >  PHPフレームワーク  >  Scout APMを使用してLaravelプログラムを監視するにはどうすればよいですか?

Scout APMを使用してLaravelプログラムを監視するにはどうすればよいですか?

青灯夜游
青灯夜游転載
2022-11-07 20:24:061880ブラウズ

Scout APMを使用してLaravelプログラムを監視するにはどうすればよいですか?

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 の Find your [設定] ページのアカウントのプロキシ キーを確認します。デプロイすると、約 5 分でデータが Scout に表示され始めます。 Heroku のインストールやインストールの問題のトラブルシューティングの詳細については、ドキュメントを確認するか、support@scoutapm.com に電子メールを送信してください。喜んでお手伝いいたします。 ######どこから始めれば?

これで、Scout アカウントを作成し、モニタリング エージェントに接続しましたが、アプリケーションのパフォーマンスの問題の診断はどこから始めればよいでしょうか?パフォーマンスの問題をすぐに理解するのに役立つ Scout の主な機能を見てみましょう。

メイン概要ページ

Scout にログインすると、最初に表示されるページは概要ページ (以下を参照) です。このページでは、アプリケーションの正常性とパフォーマンスのスナップショットが一目で分かりやすく整理されています。 。

グラフは高度に構成可能で、期間を変更したり、表示するメトリクスを切り替えることができます。また、より詳細に調査したい領域の周囲にボックスを描画できる、洗練されたドラッグ アンド ドロップ ツール (以下を参照) も備えています。これらのボックスを描画すると、この期間中に訪問したすべてのエンドポイントを示すポップアップが動的に読み込まれます。この機能は、グラフ上でパフォーマンスの急上昇を確認し、その原因を知りたい場合に特に役立ちます。

[インサイト] タブ

Scout を初めて試す場合は、[インサイト] タブから始めるのが最適です。ここには、プロジェクトを分析して潜在的な

n 1 クエリ

遅いクエリ を特定する一連のアルゴリズムがあります。これらは、多くの場合、アプリケーションのパフォーマンスをすぐに改善できる「簡単に実現できる」パフォーマンス修正を提供します。

エンドポイントとトレース

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 で簡単に完了でき、診断が難しく時間のかかるパフォーマンスの問題について洞察を得るのに役立ちます。

展開の追跡

このパフォーマンスの問題は、最後の展開後に突然発生し始めたと思いますか?導入時のユーザー エクスペリエンスはどのようなものでしたか?これらの回答は、展開追跡機能を使用して回答できます。展開追跡機能により、展開がいつ行われるかを示すメイン概要チャートにロケットのシンボルが表示されます。


デプロイメントの追跡では、デプロイメントに関係するコミットの数やコミットがどのブランチから来たのかなどの詳細を表示することもできます。 SHA またはデプロイメントを

SCOUT_REVISON_SHA 環境変数に追加すると、この情報はすべて収集できます。

アラート

すべての優れた監視ソリューションと同様に、Scout は、エンドポイントの応答時間またはメモリ使用量のメトリクスが特定のしきい値を超えたときにアラートを送信するように構成できる高度なアラート システムを提供します。人々。これらのアラートは、メイン概観図上に警告シンボルとして表示され、通知が発行されます。

デフォルトでは、システム アラートは通知グループ内のユーザーに電子メールで通知を送信しますが、Webhook 機能を介して Slack、VictorOps、PagerDuty で設定することもできます。連携するサードパーティのサービス。

カスタム インストゥルメント

現在検出されていない Laravel 以外のライブラリを使用していますか?その場合は、まずサポート チームにお知らせください。サポートを追加できるよう努めます。それまでの間は、いくつかのカスタム ツールを自分で追加することができます。開始は非常に簡単で、アプリケーション全体を完全に把握できるようになります。

次は何ですか?

ご覧のとおり、Scout APM は、非常に成熟した APM 監視ソリューションを PHP および Laravel コミュニティに提供します。当社のクリーンな UI と詳細なツールは、柔軟なトランザクションベースの価格体系のおかげで手頃な価格を維持しながら、問題の核心に迅速に到達するのに役立ちます。

元のアドレス: https://laravel-news.com/scout-apm-for-monitoring-a-laravel-application

翻訳アドレス: https://learnku. com/laravel/t/68744

[関連する推奨事項:

laravel ビデオチュートリアル]

以上がScout APMを使用してLaravelプログラムを監視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。