PHP 패키지 배포를 위한 모니터링 및 경보 솔루션에 대한 토론 및 실습
요약:
PHP 애플리케이션이 개발되고 복잡해짐에 따라 PHP 애플리케이션 배포 및 모니터링의 중요성이 점차 더욱 중요해졌습니다. 이 기사에서는 패키지 배포를 통해 PHP 애플리케이션을 모니터링하고 경고하는 방법을 설명하고 예제 코드를 통해 구체적이고 실용적인 방법을 보여줍니다.
3.1 모니터링 지표 선택
PHP 애플리케이션을 모니터링할 때 일반적으로 다음 지표에 중점을 둡니다.
3.2 연습: Prometheus와 Grafana를 사용하여 PHP 애플리케이션 모니터링
이 예에서는 Prometheus와 Grafana를 사용하여 PHP 애플리케이션의 CPU 사용량, 메모리 사용량 및 응답 시간을 모니터링하는 간단한 모니터링 플랫폼을 구축하겠습니다.
먼저, 다음 Composer 명령을 사용하여 설치할 수 있는 Prometheus 클라이언트 라이브러리를 PHP 애플리케이션에 설치해야 합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!