在 PHP 中实现 Prometheus 的实时监控,你需要遵循以下步骤:
- 安装 Prometheus PHP 客户端库
首先,你需要安装 Prometheus PHP 客户端库。这个库提供了与 Prometheus 交互所需的各种指标类型和功能。通过 Composer 安装:
composer require promphp/prometheus_client_php
- 创建一个简单的 PHP 脚本来收集和暴露指标
创建一个名为 metrics.php
的文件,并添加以下内容:
registerCounter('my_app', 'requests_total', 'Total number of requests'); $counter->inc(); // 渲染指标并将其输出到浏览器 header('Content-Type: text/plain'); echo (new RenderTextFormat())->render($registry->getMetricFamilySamples());
- 配置 Web 服务器
确保你的 Web 服务器(如 Nginx 或 Apache)配置正确,以便在访问 /metrics
路径时运行 metrics.php
脚本。
例如,对于 Nginx,你可以在配置文件中添加以下内容:
location /metrics { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的 PHP-FPM 版本和安装路径进行修改 fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/metrics.php; }
- 配置 Prometheus
在 Prometheus 配置文件(如 prometheus.yml
)中,添加一个新的 scrape target,指向你的 PHP 应用程序:
scrape_configs: - job_name: 'my_php_app' static_configs: - targets: ['your-php-app.com'] # 替换为你的 PHP 应用程序的域名或 IP 地址
- 重启 Prometheus 和 Web 服务器
重启 Prometheus 和你的 Web 服务器,以使更改生效。
- 查看监控数据
现在,你应该能够在 Prometheus 的 Web 界面中看到你的 PHP 应用程序的实时监控数据。访问 http://your-prometheus-server.com
(将其替换为你的 Prometheus 服务器的实际地址),然后在 “Graph” 选项卡中查询 my_app_requests_total
指标。
这只是一个简单的示例,你可以根据需要创建更多的指标类型(如直方图、摘要等)以监控你的 PHP 应用程序的性能和健康状况。