首先安装配置PHP扩展采集运行数据,启用opcache等扩展并调整参数后重启服务;接着通过Composer引入prometheus/client-php库,创建metrics.php暴露指标,并配置Prometheus抓取;再安装New Relic代理并设置php.ini参数,实现全栈性能追踪;最后部署Zabbix Agent,添加自定义监控项,通过脚本获取内存与Opcache数据并集成至Zabbix前端。

如果您在部署PHP应用时发现性能异常或服务响应缓慢,可能是由于PHP环境配置不当或资源使用超出阈值所致。为了及时发现问题并定位瓶颈,需要对PHP运行环境进行有效监控。以下是实现PHP环境监控的详细操作步骤:
通过启用特定的PHP扩展可以获取脚本执行时间、内存占用等关键指标。这些扩展能直接从PHP内核中提取性能数据。
1、打开php.ini配置文件,通常位于/etc/php/版本号/apache2/php.ini或/etc/php/版本号/fpm/php.ini路径下。
2、查找并确保以下扩展已启用:extension=opcache、extension=intl 和 extension=gd(如需图像处理)。
立即学习“PHP免费学习笔记(深入)”;
3、启用Zend Opcache以收集脚本编译和缓存信息,在php.ini中添加或修改如下配置项:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
4、保存文件后重启Web服务,例如执行 sudo systemctl restart apache2 或 sudo systemctl restart php-fpm。
Prometheus是一款开源监控系统,可通过自定义Exporter将PHP应用的运行状态暴露为HTTP端点供其抓取。
1、在项目根目录通过Composer安装prometheus/client_php库,执行命令:composer require prometheus/prometheus-client-php。
2、创建一个名为metrics.php的文件,用于注册并暴露监控指标。
3、在metrics.php中初始化CollectorRegistry,并定义计数器记录请求次数:
$registry = \Prometheus\CollectorRegistry::getDefault();
$counter = $registry->getOrRegisterCounter('php_app', 'http_requests_total', 'Total number of HTTP requests.', ['method']);
$counter->inc(['GET']);
4、将metrics.php绑定到特定路由,例如通过Nginx配置location /metrics { fastcgi_pass ...; }使其可被Prometheus访问。
5、配置Prometheus服务器的scrape_configs,添加job_name: 'php_metrics' 并指定targets为您的PHP服务器IP和端口。
New Relic提供全栈可观测性功能,能够深入分析PHP应用程序的函数调用链、数据库查询延迟等细节。
1、前往New Relic官网注册账户并创建PHP类型的应用程序。
2、根据指引下载并安装newrelic-daemon与newrelic-php-agent软件包。
3、运行安装脚本:执行 sudo newrelic-install install,过程中输入License Key和应用名称。
4、检查php.ini是否自动添加了newrelic.so扩展引用,并确认newrelic.license和newrelic.appname参数正确设置。
5、重启PHP服务使代理生效,几分钟后登录New Relic仪表板即可查看实时性能图表。
Zabbix支持通过用户自定义参数(UserParameter)接收来自PHP脚本输出的监控值,实现灵活的数据采集机制。
1、在目标服务器上安装Zabbix Agent,使用包管理器运行:sudo apt install zabbix-agent。
2、编辑/etc/zabbix/zabbix_agentd.conf,设置Server指向Zabbix Server的IP地址。
3、在配置文件末尾添加自定义监控项,例如:
UserParameter=php.memory.usage[*],/usr/bin/php -r "echo memory_get_usage();" 2>/dev/null
UserParameter=php.opcache.hitrate,/usr/bin/php -r "print_r(opcache_get_status()['opcache_statistics']['hit_rate']);"
4、重启Zabbix Agent服务:sudo systemctl restart zabbix-agent。
5、在Zabbix前端界面创建监控项,键名分别填写php.memory.usage和php.opcache.hitrate,类型选择“Zabbix agent”。
以上就是PHP环境监控设置_PHP环境监控设置详细教程的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号