ubuntu

如何在Ubuntu上监控PHP-FPM

小樊
42
2025-05-13 22:51:03
栏目: 编程语言

在 Ubuntu 上监控 PHP-FPM 的性能和状态,可以通过多种方法实现。以下是几种常用的方法:

1. 使用 systemd 查看 PHP-FPM 状态

如果你的 PHP-FPM 是通过 systemd 管理的(这是大多数现代 Ubuntu 版本的默认设置),你可以使用以下命令查看其状态:

sudo systemctl status php-fpm

或者查看更详细的日志:

sudo journalctl -u php-fpm

2. 使用 tophtop 实时监控

tophtop 是实时监控系统资源使用情况的工具,可以帮助你查看 PHP-FPM 进程的 CPU 和内存使用情况。

3. 使用 php-fpm 的内置状态页面

PHP-FPM 提供了一个内置的状态页面,可以通过配置来启用。这对于实时监控和调试非常有用。

步骤:

  1. 编辑 PHP-FPM 配置文件

    通常位于 /etc/php/{版本号}/fpm/pool.d/www.conf,例如 /etc/php/7.4/fpm/pool.d/www.conf

    sudo nano /etc/php/7.4/fpm/pool.d/www.conf
    
  2. 启用 pm.status_path

    找到并取消注释(删除行首的 ;)以下行:

    pm.status_path = /status
    
  3. 重启 PHP-FPM 服务

    sudo systemctl restart php7.4-fpm
    
  4. 访问状态页面

    在浏览器中访问 http://your_server_ip_or_domain/status,你需要提供一个用户名和密码。这些凭据可以在同一配置文件中设置:

    ; 设置访问状态页面的认证
    pm.status_path = /status
    ping.path = /ping
    security.limit_extensions = .php .html
    

    然后,设置用户名和密码:

    ; 在 [www] 池中添加以下行
    php_admin_value[security.limit_extensions] = .php .html
    php_admin_value[security.limit_request_field_size] = 51200
    php_admin_value[request_slowlog_timeout] = 0
    php_admin_flag[log_errors] = on
    php_admin_value[memory_limit] = 32M
    

    为了设置认证,可以使用 htpasswd 工具创建一个密码文件:

    sudo apt install apache2-utils
    sudo htpasswd -c /etc/php/{版本号}/fpm/user {用户名}
    

    替换 {版本号}{用户名},然后输入并确认密码。

  5. 访问认证后的状态页面

    现在,访问 http://your_server_ip_or_domain/status 并输入你设置的用户名和密码,即可查看 PHP-FPM 的详细状态信息。

4. 使用监控工具

为了更全面地监控 PHP-FPM 以及其他系统指标,可以考虑使用监控工具,如 Prometheus 结合 Grafana,或者 Zabbix

使用 Prometheus 和 Grafana:

  1. 安装 Prometheus 和 Grafana

    sudo apt update
    sudo apt install prometheus grafana
    
  2. 配置 Prometheus 抓取 PHP-FPM 指标

    编辑 Prometheus 的配置文件 /etc/prometheus/prometheus.yml,添加 PHP-FPM 的 scrape 配置。

  3. 设置 Grafana 数据源为 Prometheus

    在 Grafana 中添加 Prometheus 作为数据源,并创建仪表盘来展示 PHP-FPM 的指标。

5. 使用日志分析

PHP-FPM 的日志文件通常位于 /var/log/php-fpm/ 目录下。你可以使用工具如 grepawk 或日志管理工具(如 ELK Stack)来分析日志,监控错误和性能问题。

# 查看最近的 PHP-FPM 错误日志
sudo tail -f /var/log/php7.4-fpm.log

6. 使用命令行工具 php-fpmstat

php-fpmstat 是一个用于监控 PHP-FPM 性能的小型工具。

安装:

sudo apt install php-fpmstat

使用:

php-fpmstat -c /etc/php/7.4/fpm/pool.d/www.conf

这将显示 PHP-FPM 的各种性能指标。

总结

根据你的需求和熟悉程度,可以选择适合的方法来监控 PHP-FPM:

选择合适的方法组合,可以有效地监控和优化 PHP-FPM 在 Ubuntu 上的性能。

0
看了该问题的人还看了