【问题标题】:How do I get a list of all php fpm pools from command line?如何从命令行获取所有 php fpm 池的列表?
【发布时间】:2017-08-18 17:31:35
【问题描述】:

我们运行自己的监控、管理器面板和 python 结构脚本。

除了“ps”输出解析 [1] 命令行 fu,我找不到任何本机方法。

检索到的池信息越多越好(用户、统计、超时……)

第一个计划是解析 pool.d ini 文件和 php-fpm.conf 包含在 python 中并使用该信息。

我是否忽略了其他更容易或更明显的事情?

1:http://www.commandlinefu.com/commands/view/13901/list-php-fpm-pools-by-total-cpu-usage

【问题讨论】:

  • 在更多服务器中测试 commandlinefu,输出缺少一些不太活跃的池。

标签: php monitoring sysadmin fpm


【解决方案1】:

至少,你可以使用:

列出 php-fpm 池的所有进程:

sudo service php7.4-fpm status

有关运行 php-fpm 池的详细信息

sudo php-fpm{php-ver} -tt

例如:

sudo php-fpm7.4 -tt

另外,您可以通过以下方式查看正在运行的 PHP 服务:

sudo systemctl list-units | grep fpm

要获取所有已安装 php 版本的池信息,您可以使用此功能:

function ShowPHPInfo {

    declare -a allLines_ia
    readarray -t allLines_ia < <(sudo systemctl list-units -t service --full --all --plain --no-legend | grep fpm | awk -v col1=1 -v col2=2 -v col3=3 '{print $col1, $col2, $col3}')
    for i in "${!allLines_ia[@]}"; do
        serviceRow=${allLines_ia[i]}
        serviceName=${serviceRow%.*}        
        echo -e "$serviceRow ==========================\n\n"
        service "$serviceName" status
    done

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多