首頁  >  文章  >  後端開發  >  用於監控 Laravel Octane 的 NewRelic 替代方案

用於監控 Laravel Octane 的 NewRelic 替代方案

PHPz
PHPz原創
2024-08-29 22:30:38927瀏覽

我最近有機會討論巴西開發團隊對 Inspector 的採用。當時他們正在使用 NewRelic 來監控他們的應用程序,但發現它與 Laravel Octane 不相容。

自從 Laravel Octane 發布以來,我就徹底研究了它的內部動態,以確保 Inspector Laravel 套件繼續正常運作。由於它的特性,我一直懷疑 Octane 會給「基礎設施導向」的監控平台帶來很多麻煩。

讓我給你一些技術細節。

Laravel Octane 簡介

Laravel Octane 是 Laravel 的高效能應用伺服器,旨在顯著提升 Laravel 應用程式的效能。它在 Laravel 8.x 中引入,提供了一種使用 Swoole 和 RoadRunner 等高效能應用程式伺服器為 Laravel 應用程式提供服務的方法。

如官方文件所述:

Octane 會啟動您的應用程式一次,將其保存在記憶體中,然後以超音速為其提供請求。

您的 Laravel 應用程式在長時間運行的進程中運行,這可能會為安裝在您的電腦上的監控代理程式了解其中發生的情況帶來問題。

檢查員監控 Laravel Octane

這是理解為什麼 Inspector “是為開發人員構建的”的完美示例。

要將您的應用程式與 Inspector 連接,您只需要 Laravel 套件。您不需要與底層基礎設施進行任何互動。無論您的應用程式如何運行,Inspector 都會與您的框架集成,而不是與伺服器集成。

有多容易?

安裝軟體套件後,您應該將 Octane 專用中間件附加到應用程式路由:

拉拉維爾 11

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();

Laravel
/**
 * 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 Alternative For Monitoring Laravel Octane

其他 NewRelic 瓶頸

巴西開發團隊更深入研究了驅使他們尋找 NewRelic 的有效替代品的動機。

他們還想監控其他內部應用程式。不太重要但公司將從即時監控數據中受益的應用程式。

問題在於讓 NewRelic 在其他應用程式上運行的複雜性,更嚴重的是成本的大幅增加。

監控其他主機的成本、與其他使用者共享監控環境的成本以及配置和使用平台的複雜性。

對我來說,這是一次富有啟發性的討論。我從未聽說過有關各種用例的所有這些細節,在這些用例中,Inspector 提供的設計和定價政策比針對大公司的平台更方便。

所以,謝謝你們,我很高興與像你們這樣思想開放的開發者合作。 Inspector 社群持續發展。

免費監控您的 PHP 應用程式

Inspector是一款專為軟體開發人員設計的程式碼執行監控工具。您不需要在伺服器層級安裝任何內容,只需安裝 composer 套件 就可以開始了。

Inspector 超簡單且 PHP 友善。您可以嘗試我們的 Laravel 或 Symfony 套件。

如果您正在尋找 HTTP 監控、資料庫查詢見解以及將警報和通知轉發到您首選訊息傳遞環境的能力,請免費嘗試 Inspector。註冊您的帳戶。

或在網站上了解更多:https://inspector.dev

NewRelic Alternative For Monitoring Laravel Octane

以上是用於監控 Laravel Octane 的 NewRelic 替代方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn