Zabbix 5.2由浅入深之监控php-fpm

运维 系统运维
zabbix本身也是应用了php-fpm,在5.2版本之前需要通过其他手段去监控,5.2版本是推出了官方模板,方便大家使用。

[[398973]]

关于php-fpm的内容在互联网上有很多的解释和描述,这里不再赘述,想要了解其原理和使用场景,可以自行搜索,而zabbix本身也是应用了php-fpm,在5.2版本之前需要通过其他手段去监控,5.2版本是推出了官方模板,方便大家使用。

官方自带模板

正文

Zabbix监控php-fpm是通过调用了php-fpm的状态页得以实现,而这个状态页实现的配置文件叫做www.conf,这个配置文件是php-fpm进程服务的扩展文件,由于每个人的环境不一样,建议直接查询www.conf的位置,默认在安装目录下(实现监控的前提是具备Nginx环境)。

find / -name www.conf得出

修改该配置文件

如果需要监控该进程需要开启两个配置,修改完成后重启服务

1.pm.status_path = /status,这个配置在240行(环境不同可能有差异),需要去掉注释(前面的;)

2.ping.path = /ping,这个配置在252行,需要去除掉注释

pm.status_path = /status

ping.path = /ping

修改完成后

  1. ####检查配置是否OK#### 
  2. php-fpm -t 
  3. ####重新加载配置#### 
  4. systemctl reload php-fpm 

 修改Nginx配置

由于此篇监控为Zabbix前端,所以需要在zabbix的nginx配置文件操作,这里需要注意的是fastcgi_pass,由于zabbix官方采用的server和普通不一致(如下第一张图),需要改成图中的路径,否则会出现502

  1. vim /etc/nginx/conf.d/zabbix.conf 
  2. location ~ ^/(status|ping)$ { 
  3. allow 127.0.0.1; 
  4. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  5. fastcgi_index index.php; 
  6. include fastcgi_params; 
  7. fastcgi_pass unix:/run/php-fpm/www.sock; 

 

server路径

添加路由

效果图

前端操作

添加模板

宏这里需要注意的是{$PHP_FPM.HOST},{$PHP_FPM.PING.PAGE},{$PHP_FPM.PORT},{$PHP_FPM.STATUS.PAGE}这几个,如果非本地,HOST不能填localhost,而是对应IP,其他也一样,根据自己的实际情况来看待。

宏详情

但实际用上会有一些问题,php-fpm出现down的情况

出现down

原因其实在curl该页面的时候,得到的数据如下图。

如果采用官方模板里的正则表达式,就无法匹配

官方正则表达式

工具测试

需要改成|\n即可

改成这样子

测试正常

数据正常

附录

pool – fpm池子名称,大多数为www

process manager – 进程管理方式:static, dynamic or ondemand. dynamicstart time – 启动日期,如果reload了php-fpm,时间会更新start since – 运行时长accepted conn – 当前池子接受的请求数listen queue – 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量max listen queue – 请求等待队列最高的数量listen queue len – socket等待队列长度idle processes – 空闲进程数量active processes – 活跃进程数量total processes – 总进程数量max active processes – 最大的活跃进程数量(FPM启动开始算)max children reached - 进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。slow requests – 启用了php-fpm slow-log,缓慢请求的数量

总结

整体监控下来主要是官方模板对环境的适配有一定的问题,不过找到问题的根因,就很好解决了。

 

责任编辑:姜华 来源: 今日头条
相关推荐

2021-03-19 08:47:38

Zabbix 5.2VMware监控

2021-04-23 08:41:17

Zabbix 5.2Nginx监控

2021-04-15 08:45:25

Zabbix 5.2Apache监控

2021-04-25 08:28:44

Zabbix 5.2监控IIS服务运维

2021-05-28 08:31:51

Zabbix监控公有云

2020-12-31 08:36:03

Zabbix邮箱告警Python

2021-05-20 06:14:00

Zabbix 5.2华为交换机监控

2021-05-13 07:42:06

Zabbix汉化调整开源

2020-12-30 09:47:40

Zabbix监控网络设备

2021-02-01 09:13:34

Zabbix5.2拓扑图运维

2021-06-11 06:54:00

Zabbix 5.2yum仓库监控

2021-03-25 08:21:07

Zabbix主机群组监控

2021-08-11 06:34:14

ZabbixDocker运维

2021-01-04 08:55:07

ZabbixProxy分布式部署

2017-12-28 10:22:28

NginxFastCGIPHP-fpm

2021-06-02 08:47:03

Zabbix5.2钉钉机器人告警图运维

2010-05-07 09:02:29

NginxPHP-FPMAPC

2014-08-22 10:36:37

nginx负载均衡

2010-05-10 08:30:00

PHP-FPMnginx

2021-06-08 08:33:33

Zabbix5.2snmptrap探索运维
点赞
收藏

51CTO技术栈公众号