centos php运行如何监控
导读:1. 命令行工具监控(基础实时监控) systemctl:用于管理PHP-FPM服务状态,可通过systemctl status php-fpm查看服务是否运行、最近日志条目;systemctl start php-fpm/systemc...
1. 命令行工具监控(基础实时监控)
- systemctl:用于管理PHP-FPM服务状态,可通过
systemctl status php-fpm
查看服务是否运行、最近日志条目;systemctl start php-fpm
/systemctl restart php-fpm
启动或重启服务。 - top/htop:实时查看PHP进程的CPU、内存占用情况。
top -p $(pidof php-fpm)
可过滤出PHP-FPM进程;htop
(需yum install htop
安装)提供更直观的交互界面。 - ps:列出所有PHP相关进程的详细信息,如
ps aux | grep php
可查看进程ID、CPU/内存使用率、运行时间等。 - netstat/ss:检查PHP-FPM监听的端口(默认9000),如
netstat -tuln | grep php-fpm
或ss -tuln | grep php-fpm
,确认服务是否正常监听。
2. PHP-FPM专用监控(精准掌握PHP进程状态)
- php-fpm status页面:在php-fpm配置文件(如
/etc/php-fpm.d/www.conf
)中启用统计功能(pm.status_path = /status
),重启服务后通过curl http://localhost/status
查看实时状态(需配置Web服务器允许访问该路径),可获取活跃进程数、空闲进程数、请求处理时间等指标。 - 日志分析:查看PHP-FPM错误日志(默认
/var/log/php-fpm/error.log
),通过tail -f /var/log/php-fpm/error.log
实时监控错误信息(如语法错误、超时、内存耗尽),快速定位问题。
3. 性能分析工具(深入代码瓶颈)
- Xdebug:通过PECL安装(
pecl install xdebug
),在php.ini中启用(zend_extension=xdebug.so
),配置xdebug.profiler_enable=1
生成性能分析文件。使用Webgrind或KCacheGrind可视化分析,查看函数调用时间、内存占用等。 - Blackfire:商业工具(提供免费试用),安装Agent和PHP扩展(
curl -A "Composer" https://installer.blackfire.io/ | bash
),配置后通过$blackfire-> start()
/$blackfire-> stop()
包裹代码进行剖析。生成的报告包含内存使用、SQL查询、调用链等详细信息,帮助定位性能瓶颈。 - XHProf:Facebook开源的性能分析工具,通过PECL安装(
pecl install xhprof
),在代码中开启分析(xhprof_enable(XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY)
),结束后保存数据到/tmp
目录。通过XHProf Web界面查看函数级别的性能数据(如CPU时间、内存消耗)。
4. 第三方APM工具(全栈监控与可视化)
- New Relic/Datadog:商业APM工具,提供端到端的性能监控(包括PHP应用、数据库、第三方服务)。安装对应的PHP Agent(如New Relic的
yum install newrelic-php
),配置许可证密钥后,可在平台上查看实时性能指标、错误日志、用户行为等,支持自定义警报。 - Nagios/Zabbix:开源监控工具,可配置监控项(如PHP-FPM进程数、CPU使用率、内存占用、响应时间)。通过插件或自定义脚本收集数据,设置阈值触发警报,适合企业级环境的全栈监控。
5. 自定义监控脚本(灵活定制需求)
- 使用Shell脚本定期检查PHP进程状态(如
ps aux | grep php-fpm | wc -l
统计进程数),结合mail
命令发送警报(如进程数为0时通知管理员)。可将脚本添加到Cron定时任务(如*/5 * * * * /path/to/script.sh
),实现定期自动监控。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos php运行如何监控
本文地址: https://pptw.com/jishu/724588.html