温馨提示×

php-fpm在ubuntu如何监控

小樊
53
2026-08-12 09:44:10
栏目: 编程语言

在 Ubuntu 上监控 php-fpm 可以从 进程状态、性能、日志、系统资源 等多个层面来做。下面按常用程度给你一个完整方案。


一、确认 php-fpm 运行状态(最基础)

1️⃣ 查看 php-fpm 是否运行

systemctl status php-fpm
# 或(Ubuntu 常见)
systemctl status php8.1-fpm

启动 / 重启 / 停止:

sudo systemctl start php8.1-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl stop php8.1-fpm

二、启用 php-fpm status 页面(强烈推荐 ✅)

这是最常用、最专业的监控方式。

1️⃣ 启用 status 配置

编辑 php-fpm pool 配置:

sudo vim /etc/php/8.1/fpm/pool.d/www.conf

取消或添加:

pm.status_path = /status

2️⃣ 配置 Nginx 访问 status

location = /status {
    fastcgi_pass   unix:/run/php/php8.1-fpm.sock;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
    allow          127.0.0.1;
    deny           all;
}

重载:

sudo systemctl reload nginx
sudo systemctl reload php8.1-fpm

3️⃣ 访问状态

curl http://127.0.0.1/status

输出示例:

pool:                 www
process manager:      dynamic
start time:           01/Jan/2026:10:00:00 +0800
start since:          3600
accepted conn:        12345
listen queue:         0
active processes:     5
idle processes:       10
total processes:      15

关键指标解释

指标 含义
active processes 正在处理请求的进程
idle processes 空闲进程
listen queue 等待队列(高说明不够用)
accepted conn 总请求数

三、使用命令行实时监控

1️⃣ 查看 php-fpm 进程

ps aux | grep php-fpm

2️⃣ 实时查看进程变化

watch -n 1 "ps aux | grep php-fpm | wc -l"

3️⃣ 查看 socket 连接

ss -x | grep php

四、系统资源监控(CPU / 内存)

1️⃣ top / htop

top
# 或
htop

查找 php-fpm

2️⃣ 查看内存占用

ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem | grep php-fpm

五、日志监控(非常重要 ⚠️)

1️⃣ php-fpm 错误日志

tail -f /var/log/php8.1-fpm.log

2️⃣ slow log(慢执行)

www.conf 开启:

request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/slow.log

查看:

tail -f /var/log/php-fpm/slow.log

六、使用第三方工具(生产环境推荐)

✅ 1. Prometheus + php-fpm-exporter

适合大规模监控

✅ 2. Netdata(最简单)

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

自动监控:

  • php-fpm status
  • CPU / 内存
  • 进程数

✅ 3. Zabbix / Grafana

企业级方案


七、常见告警指标建议

指标 建议阈值
listen queue > 0
active processes 接近 pm.max_children
CPU > 80%
内存 接近服务器上限
slow log 非空

八、快速检查清单 ✅

systemctl status php8.1-fpm
curl http://127.0.0.1/status
tail -f /var/log/php8.1-fpm.log
ps aux | grep php-fpm

如果你愿意,我可以:

  • ✅ 帮你 配置 Prometheus + Grafana
  • ✅ 根据你的 并发量优化 php-fpm pm 参数
  • ✅ 给你一个 生产环境监控模板

只要告诉我你的 Ubuntu 版本 + php 版本 + 使用 Nginx 还是 Apache 即可。

0