Maison > Article > développement back-end > Alternative NewRelic pour surveiller l’octane de Laravel
J'ai récemment eu l'occasion de discuter de l'adoption d'Inspector par une équipe de développeurs basée au Brésil. À l'époque, ils utilisaient NewRelic pour surveiller leurs applications, mais ont constaté qu'il n'était pas compatible avec Laravel Octane.
Depuis la sortie de Laravel Octane, j'ai étudié en profondeur sa dynamique interne pour m'assurer que le package Inspector Laravel continue de fonctionner comme d'habitude. En raison de ses caractéristiques, j'ai toujours soupçonné qu'Octane pouvait causer beaucoup de maux de tête aux plateformes de surveillance « orientées infrastructure ».
Laissez-moi vous donner quelques détails techniques.
Laravel Octane est un serveur d'applications hautes performances pour Laravel, conçu pour améliorer considérablement les performances des applications Laravel. Il a été introduit dans Laravel 8.x et fournit un moyen de servir des applications Laravel à l'aide de serveurs d'applications hautes performances tels que Swoole et RoadRunner.
Comme le dit la documentation officielle :
Octane démarre votre application une fois, la garde en mémoire, puis lui transmet les requêtes à des vitesses supersoniques.
Votre application Laravel s'exécute dans un processus de longue durée qui peut créer des problèmes pour les agents de surveillance installés sur votre machine pour savoir ce qui se passe à l'intérieur.
C'est un exemple parfait pour comprendre pourquoi Inspector "est conçu pour les développeurs".
Pour connecter votre application à Inspector, vous n'avez besoin que du package Laravel. Vous n'avez besoin d'aucune interaction avec l'infrastructure sous-jacente. Peu importe la manière dont votre application est exécutée, Inspector est intégré à votre framework, pas au serveur.
Est-ce facile ?
Après installation du package vous devez attacher le middleware spécialisé Octane aux routes d'application :
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, ], ]C'est tout.
Votre candidature continuera à être suivie comme d'habitude.
Autres goulots d’étranglement de NewRelic
L'équipe de développeurs brésiliens a approfondi encore plus les motivations qui les ont poussés à rechercher des alternatives valables à NewRelic.
Ils voulaient également surveiller d’autres applications internes. Des applications moins critiques mais pour lesquelles l'entreprise bénéficierait de données de surveillance en temps réel.
Le problème était la complexité de faire fonctionner NewRelic sur d'autres applications et encore plus problématique était la forte augmentation des coûts.
Coûts de surveillance d'autres hôtes, coûts de partage de l'environnement de surveillance avec d'autres utilisateurs et complexité de configuration et d'utilisation de la plateforme.
Pour moi, ce fut une discussion révélatrice. Je n'avais jamais entendu tous ces détails sur les différents cas d'utilisation dans lesquels Inspector propose une politique de conception et de tarification bien plus pratique que les plateformes destinées aux grandes entreprises.
Alors merci les gars, je suis heureux de collaborer avec des développeurs aussi ouverts d'esprit que vous. La communauté des inspecteurs continue de croître.
Surveillez votre application PHP gratuitement
Inspector est un outil de surveillance de l'exécution de code spécialement conçu pour les développeurs de logiciels. Vous n'avez pas besoin d'installer quoi que ce soit au niveau du serveur, installez simplement le package composer et vous êtes prêt à partir.
Inspector est super simple et compatible PHP. Vous pouvez essayer notre package Laravel ou Symfony.
Si vous recherchez une surveillance HTTP, des informations sur les requêtes de base de données et la possibilité de transférer des alertes et des notifications vers votre environnement de messagerie préféré, essayez Inspector gratuitement. Enregistrez votre compte.
Ou apprenez-en plus sur le site : https://inspector.dev
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!