Maison  >  Article  >  développement back-end  >  Surveillance des applications PHP et analyse des journaux au niveau de l'entreprise

Surveillance des applications PHP et analyse des journaux au niveau de l'entreprise

WBOY
WBOYoriginal
2024-05-08 12:33:011163parcourir

Surveillance des applications PHP et analyse des journaux : surveillance des performances des applications : obtenez des informations détaillées sur les performances avec l'outil New Relic APM. Utilisez l'extension PHP XHPROF pour analyser les appels de fonction et identifier les goulots d'étranglement. Journalisation : utilisez les handles et les enregistreurs Monolog pour enregistrer les messages. Utilisez ILogger pour fournir une interface standardisée à différentes bibliothèques. Cas pratique : utilisez New Relic APM et Monolog pour surveiller les tâches en arrière-plan, rapporter les métriques et enregistrer la progression.

PHP 企业级应用监控与日志分析

Surveillance des applications PHP au niveau de l'entreprise et analyse des journaux

Introduction

Dans les applications au niveau de l'entreprise, la surveillance et l'analyse des journaux sont cruciales pour maintenir le fonctionnement normal du système et détecter les problèmes rapidement. Cet article explique comment utiliser PHP pour une surveillance complète des applications et une analyse des journaux.

Surveillance des performances des applications

  • Utilisation de New Relic : New Relic est un outil populaire de surveillance des performances des applications (APM) qui fournit des métriques détaillées au niveau du code et des informations de suivi. Il est facile à intégrer dans les applications PHP et fournit des informations approfondies sur les performances.
// 引入 New Relic PHP 代理
require 'newrelic.phar';
// 初始化 New Relic 代理
newrelic_start();
  • Utilisation de XHPROF : XHPROF est une extension PHP qui permet de profiler et de profiler les appels de fonction pour identifier les goulots d'étranglement des performances.
// 安装 XHPROF PHP 扩展
pecl install xhprof
// 以启用 XHPROF 的方式运行脚本
php -d xhprof.enable_flag=1 script.php

Logging

  • Utilisation de Monolog : Monolog est une puissante bibliothèque de journalisation PHP qui fournit un moyen cohérent et configurable de consigner les messages.
// 创建一个 Monolog 句柄
$handler = new Monolog\Handler\StreamHandler('logs/application.log');
// 创建一个 Monolog 记录器
$logger = new Monolog\Logger('application');
// 为记录器添加句柄
$logger->pushHandler($handler);

// 日志一条信息
$logger->info('Application started');
  • Utilisation d'ILogger : ILogger est une extension de Monolog qui fournit une couche supplémentaire à l'interface canonique PHP-FIG, permettant l'utilisation de différentes implémentations de bibliothèques de journalisation.
// 引用 ILogger 全局接口
use Psr\Log\LoggerInterface;

// 依赖注入一个 PSR-3 日志记录库
$logger = $container->get(LoggerInterface::class);

// 日志一条信息
$logger->info('Application started');

Cas pratique : Surveillance des tâches en arrière-plan

Supposons que nous ayons une tâche en arrière-plan qui effectue une tâche chronophage. Pour surveiller cette tâche, nous pouvons utiliser New Relic pour rapporter des métriques et enregistrer sa progression à l'aide de Monolog :

// 启动 New Relic APM 代理
newrelic_start();

// 引用 Monolog 记录器
use Monolog\Logger;

// 创建 Monolog 记录器
$logger = new Logger('background_task');

// 创建一个 New Relic 事务
$txn = newrelic_transaction_start('Background Task');

// 执行任务
$result = do_expensive_task();

// 标记 New Relic 事务结束
newrelic_transaction_end();

// 记录任务进度信息
$logger->info('Task completed with result: {result}', ['result' => $result]);

Cela aboutit à une transaction New Relic qui contient des métriques sur le temps d'exécution de la tâche et des messages de journal enregistrés. Il créera également une entrée de journal dans le fichier journal de l'application enregistrant la progression de la tâche.

Conclusion

En tirant parti des puissantes bibliothèques de surveillance et de journalisation de PHP, une surveillance complète des applications et une analyse des journaux peuvent être réalisées. Ceci est essentiel pour maintenir les systèmes opérationnels, identifier les goulots d’étranglement en matière de performances et détecter les problèmes le plus tôt possible.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn