PHP パッケージ展開のための監視およびアラーム ソリューションの議論と実践
要約:
PHP アプリケーションの開発と複雑さに伴い、PHP アプリケーションの展開と監視の重要性が徐々に高まっています。この記事では、パッケージのデプロイメントを通じて PHP アプリケーションを監視および警告する方法について説明し、サンプル コードを通じて具体的な実践的な方法を示します。
3.1 監視指標の選択
PHP アプリケーションを監視する場合、通常は次の指標に注目します。
3.2 実践的な戦闘: Prometheus と Grafana を使用して PHP アプリケーションを監視する
この例では、Prometheus と Grafana を使用して、PHP の CPU 使用率とメモリ使用率を監視する単純な監視プラットフォームを構築します。アプリケーションのボリュームと応答時間。
まず、PHP アプリケーションに Prometheus クライアント ライブラリをインストールする必要があります。これは、次の Composer コマンドを使用してインストールできます。
composer require prometheus/client_php
次に、次のコードをインジケーター データを収集およびエクスポートするための PHP アプリケーション:
require 'vendor/autoload.php'; use PrometheusCollectorRegistry; use PrometheusRenderTextFormat; use PrometheusStorageRedis; $registry = new CollectorRegistry(new Redis()); $cpuUsageGauge = $registry->registerGauge('php_cpu_usage', 'CPU usage'); $memoryUsageGauge = $registry->registerGauge('php_memory_usage', 'Memory usage'); $latencyHistogram = $registry->registerHistogram('php_latency', 'Request latency', ['route']); // 在应用中采集和导出监控指标 function collectMetrics() { global $cpuUsageGauge, $memoryUsageGauge, $latencyHistogram; // 采集CPU使用率 $cpuUsageGauge->set(sys_getloadavg()[0]); // 采集内存使用量 $memoryUsageGauge->set(memory_get_usage(true)); // 采集响应时间 $start = microtime(true); // 执行一段代码 $end = microtime(true); $latencyHistogram->observe($end - $start, ['route' => '/api']); } // 导出监控指标 function exportMetrics() { global $registry; header('Content-Type: text/plain'); echo RenderTextFormat::render($registry->getMetricFamilySamples()); }
次に、アプリケーションのインターフェイスで collectMetrics
関数を呼び出して、監視データを収集します。以下に示すように、/metrics
インターフェイスにアクセスして、エクスポートされた監視データをブラウザーで表示します。
# TYPE php_cpu_usage gauge php_cpu_usage 0.8 # TYPE php_memory_usage gauge php_memory_usage 1024000 # TYPE php_latency histogram php_latency_bucket{route="/api",le="0.005"} 50 php_latency_bucket{route="/api",le="0.01"} 100 php_latency_bucket{route="/api",le="+Inf"} 150 php_latency_sum{route="/api"} 15 php_latency_count{route="/api"} 150
最後に、Grafana を使用して監視データを視覚化できます。 Grafana のダッシュボード構成で、Prometheus データ ソースを追加し、新しいダッシュボードを作成し、CPU 使用率グラフとメモリ使用率グラフを追加します。
以上がPHP パッケージ展開の監視およびアラーム ソリューションについてのディスカッションと実践。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。