最近、ブラジルに拠点を置く開発者チームによる 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
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3