网上有很多关于php-fpm的解释和描述。它还使用php-fpm。5.2版本之前需要通过其他方式进行监控。5.2版本推出了官方模板供大家使用。官方内置的模板文本Zabbix通过调用php-fpm的状态页面来监控php-fpm,这个状态页面实现的配置文件叫做www.conf。该配置文件是php-fpm进程服务的一个扩展文件。因为每个人的环境都不一样。建议直接查询www.conf的位置,默认在安装目录下(监控的前提是Nginx环境)。找到/-namewww.conf修改配置文件。如果需要监控进程,需要开启两个配置。修改完成后,重启服务。1.pm.status_path=/status,这个配置在第240行(环境可能不同),需要把注释去掉(前面的;)2.ping.path=/ping,这个配置在第252行,你需要去掉注释pm.status_path=/statusping.path=/ping修改完成后####检查配置是否OK####php-fpm-t####重新加载配置####systemctlreloadphp-fpm修改Nginx配置由于本文作为Zabbix前端进行监控,需要在zabbix的nginx配置文件中进行操作,这里需要注意的是fastcgi_pass,由于zabbix官方采用的服务器与正常的(下图第一张),需要改成图中的路径,否则会出现502vim/etc/nginx/conf.d/zabbix.conflocation~^/(status|ping)${allow127.0.0.1;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;fastcgi_indexindex.php;includefastcgi_params;fastcgi_passunix:/run/php-fpm/www.sock;}服务器路径添加路由渲染前端操作添加模板宏{$PHP_FPM.HOST},{$PHP_FPM.PING.PAGE},{$PHP_FPM.PORT},{$PHP_FPM.STATUS.PAGE},如果不是本地的,HOST不能填localhost,而是对应IP,其他的也根据自己的实际情况看。宏观细节,但在实际使用中会出现一些问题。php-fpmdown的时候,down的原因其实是页面curl的时候,获取到的数据如下图。如果使用官方模板中的正则表达式,无法匹配官方正则表达式工具测试。需要改成|\n,可以改成这个。测试正常,数据正常。模式:静态、动态或按需。dynamicstarttime-开始日期,如果重载php-fpm,会更新时间FPM进程数maxlistenqueue–最大请求等待队列数listenqueuelen–socket等待队列长度idleprocesses–空闲进程数activeprocesses–活动进程数totalprocesses–进程总数maxactiveprocesses–最大值Thenumberofactiveprocesses(calculatedfromthestartofFPM)maxchildrenreached-最大进程数被限制的次数。如果这个数字不为0,说明你的最大进程数太少,请增加。slowrequests–启用php-fpmslow-log,并汇总慢速请求的数量。整体监控主要是官方模板对环境的适配存在一定的问题,但是找到问题的根源很容易解决。
