私は最近、ブラジルに拠点を置く開発者チームによる Inspector の採用について話し合う機会がありました。当時、彼らはアプリケーションの監視に NewRelic を使用していましたが、Laravel Octane と互換性がないことがわかりました。
Laravel Octane がリリースされて以来、私は Inspector Laravel パッケージが通常どおり動作し続けることを確認するために、その内部ダイナミクスを徹底的に研究してきました。その特性により、Octane は「インフラストラクチャ指向」の監視プラットフォームにとって多くの悩みの種になるのではないかと私は常々思っていました。
技術的な詳細をいくつか説明しましょう。
Laravel Octane は、Laravel アプリケーションのパフォーマンスを大幅に向上させるように設計された、Laravel 用の高性能アプリケーション サーバーです。 Laravel 8.x で導入され、Swoole や RoadRunner などの高性能アプリケーション サーバーを使用して Laravel アプリケーションを提供する方法を提供します。
公式ドキュメントには次のように書かれています:
Octane はアプリケーションを一度起動してメモリに保持し、超音速でリクエストを送信します。
Laravel アプリケーションは長時間実行プロセス内で実行されるため、マシンにインストールされている監視エージェントが内部で何が起こっているかを把握するのに問題が生じる可能性があります。
これは、Inspector が「開発者向けに構築されている」理由を理解するための完璧な例です。
アプリケーションを Inspector に接続するには、Laravel パッケージのみが必要です。基盤となるインフラストラクチャとのやり取りは必要ありません。アプリケーションがどのように実行されているかに関係なく、Inspector はサーバーではなくフレームワークに統合されます。
どれくらい簡単ですか?
パッケージをインストールした後、Octane 専用ミドルウェアをアプリケーション ルートにアタッチする必要があります。
use \Inspector\Laravel\Middleware\InspectorOctaneMiddleware; return Application::configure(basePath: dirname(__DIR__)) ->withRouting( // routes ) ->withMiddleware(function (Middleware $middleware) { // Append the middleware $middleware->appendToGroup('web', InspectorOctaneMiddleware::class) ->appendToGroup('api', InspectorOctaneMiddleware::class); }) ->withExceptions(function (Exceptions $exceptions) { // })->create();
/** * The application's route middleware groups. * * @var array */ protected $middlewareGroups = [ 'web' => [ ..., //\Inspector\Laravel\Middleware\WebRequestMonitoring::class, \Inspector\Laravel\Middleware\InspectorOctaneMiddleware::class, ], 'api' => [ ..., //\Inspector\Laravel\Middleware\WebRequestMonitoring::class, \Inspector\Laravel\Middleware\InspectorOctaneMiddleware::class, ], ]
以上です。
アプリケーションは通常どおり監視され続けます。
ブラジルの開発者チームは、NewRelic に代わる有効な代替手段を探す動機をさらに深く掘り下げました。
彼らは、他の内部アプリケーションも監視したいと考えていました。重要度は低いが、企業がリアルタイムの監視データから恩恵を受けるアプリケーション。
問題は、NewRelic を他のアプリケーション上で動作させる複雑さであり、さらに問題だったのはコストの大幅な増加でした。
他のホストを監視するコスト、監視環境を他のユーザーと共有するコスト、プラットフォームの構成と使用の複雑さ。
私にとって、それは暴露的な議論でした。 Inspector が大企業向けのプラットフォームよりもはるかに便利な設計と価格設定ポリシーを提供するさまざまな使用例について、これほど詳しく聞いたのは初めてでした。
それで、皆さん、ありがとうございます。皆さんのようなオープンマインドな開発者と協力できることを嬉しく思います。 Inspector コミュニティは成長し続けています。
Inspector は、ソフトウェア開発者向けに特別に設計されたコード実行監視ツールです。サーバー レベルで何もインストールする必要はありません。composer パッケージ をインストールするだけで準備完了です。
Inspector は非常に簡単で、PHP に優しいです。 Laravel または Symfony パッケージを試すことができます。
HTTP モニタリング、データベース クエリの洞察、アラートや通知を好みのメッセージング環境に転送する機能をお探しの場合は、Inspector を無料でお試しください。アカウントを登録してください。
または、Web サイトで詳細をご覧ください: https://inspector.dev
以上がLaravel Octaneを監視するためのNewRelic代替品の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。