최근 브라질에 있는 개발자 팀의 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를 무료로 사용해 보세요. 계정을 등록하세요.
또는 웹사이트에서 자세한 내용을 알아보세요: https://inspector.dev
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3