ホームページ  >  記事  >  バックエンド開発  >  PHP エンタープライズレベルのアプリケーションの監視とログ分析

PHP エンタープライズレベルのアプリケーションの監視とログ分析

WBOY
WBOYオリジナル
2024-05-08 12:33:011158ブラウズ

PHP アプリケーションの監視とログ分析: アプリケーションのパフォーマンスの監視: New Relic APM ツールを使用して、詳細なパフォーマンスの洞察を取得します。 XHPROF PHP 拡張機能を使用して、関数呼び出しを分析し、ボトルネックを特定します。ロギング: Monolog ハンドルとロガーを使用してメッセージを記録します。 ILogger を使用して、さまざまなライブラリに標準化されたインターフェイスを提供します。実践例: New Relic APM と Monolog を使用して、バックグラウンド タスクを監視し、メトリクスをレポートし、進捗状況を記録します。

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

PHP エンタープライズ アプリケーションの監視とログ分析

はじめに

エンタープライズ アプリケーションでは、システムを正常に実行し、問題を早期に検出するために監視とログ分析が重要です。この記事では、PHP を使用して包括的なアプリケーションの監視とログ分析を行う方法について説明します。

アプリケーションパフォーマンスモニタリング

  • New Relicの使用: New Relicは、詳細なコードレベルのメトリクスと追跡情報を提供する人気のあるアプリケーションパフォーマンスモニタリング(APM)ツールです。 PHP アプリケーションに簡単に統合でき、パフォーマンスに関する深い洞察が得られます。
// 引入 New Relic PHP 代理
require 'newrelic.phar';
// 初始化 New Relic 代理
newrelic_start();
  • XHPROF の使用: XHPROF は、関数呼び出しをプロファイリングしてパフォーマンスのボトルネックを特定できるようにする PHP 拡張機能です。
// 安装 XHPROF PHP 扩展
pecl install xhprof
// 以启用 XHPROF 的方式运行脚本
php -d xhprof.enable_flag=1 script.php

ロギング

  • Monolog の使用: Monolog は、メッセージをログに記録する一貫した構成可能な方法を提供する強力な PHP ロギング ライブラリです。
// 创建一个 Monolog 句柄
$handler = new Monolog\Handler\StreamHandler('logs/application.log');
// 创建一个 Monolog 记录器
$logger = new Monolog\Logger('application');
// 为记录器添加句柄
$logger->pushHandler($handler);

// 日志一条信息
$logger->info('Application started');
  • ILogger の使用: ILogger は、PHP-FIG 正規インターフェイスに追加のレイヤーを提供する Monolog の拡張機能であり、さまざまなログ ライブラリ実装の使用を可能にします。
// 引用 ILogger 全局接口
use Psr\Log\LoggerInterface;

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

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

実際のケース: バックグラウンド タスクの監視

時間のかかるタスクを実行するバックグラウンド タスクがあると仮定します。このタスクを監視するには、New Relic を使用してメトリクスをレポートし、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]);

これにより、タスクの実行時間とログに記録されたログ メッセージに関するメトリクスを含む New Relic トランザクションが作成されます。また、タスクの進行状況を記録するログ エントリがアプリケーション ログ ファイルに作成されます。

結論

PHP の強力な監視ライブラリとログ ライブラリを活用することで、包括的なアプリケーション監視とログ分析を実現できます。これは、システムを稼働状態に維持し、パフォーマンスのボトルネックを特定し、問題を早期に検出するために重要です。

以上がPHP エンタープライズレベルのアプリケーションの監視とログ分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。