1、启用php-fpm的状态功能

[root@web01 ~]# vim /etc/php-fpm.d/www.conf

121 pm.status_path = /php_status

[root@web01 ~]# systemctl restart php-fpm.service        #重启php服务

2、nginx中开启php的状态访问

[root@web01 ~]# vim /etc/nginx/nginx.conf

location ~ ^/(php_status|ping)$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

修改完后重启nginx

[root@web01 ~]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@web01 ~]# nginx -s reload

3、命令行手动测试取值

[root@web01 ~]# curl http://127.0.0.1/php_status

pool: www

process manager: dynamic

start time: 13/Jun/2018:14:32:15 +0800

start since: 104

accepted conn: 1

listen queue: 0

max listen queue: 0

listen queue len: 128

idle processes: 4

active processes: 1

total processes: 5

max active processes: 1

max children reached: 0

slow requests: 0

php-fpm status的含义

pool                    php-fpm pool(资源池)的名称,大多数情况下为www

process manager        进程管理方式,现今大多都为dynamic,不要使用static

start time                上次启动的时间

start since            已运行了多少秒

accepted conn    pool        接收到的请求数

listen queue            处于等待状态中的连接数,如果不为0,需要增加php-fpm进程数

max listen queue        从php-fpm启动到现在处于等待连接的最大数量

listen queue len        处于等待连接队列的套接字大小

idle processes            处于空闲状态的进程数

active processes        处于活动状态的进程数

total processess        进程总数

max active process        从php-fpm启动到现在最多有几个进程处于活动状态

max children reached    当php-fpm试图启动更多的children进程时,却达到了进程数的限制,达到一次记录一次,如果不为0,需要增加php-fpm pool进程的最大数

slow requests            当启用了php-fpm slow-log功能时,如果出现php-fpm慢请求这个计数器会增加,一般不当的Mysql查询会触发这个值

4、定义监控项的key值

创建zabbix_agentd关联php_ststus的子配置文件,不使用脚本取出php-fpm的信息

[root@web01 ~]# cd /etc/zabbix/zabbix_agentd.d/

[root@web01 zabbix_agentd.d]# vim php_status.conf

UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://127.0.0.1/php_status?xml" | grep "<$1>" | awk -F'>|<' '{ print $$3}'

[root@web01 zabbix_agentd.d]# systemctl restart zabbix-agent.service    #重启服务

取出php-fpm信息的另外一种取值方法

UserParameter=php-fpm.status[*],/usr/bin/curl http://127.0.0.1/php_status?json 2>/dev/null|jq '."$1"'|sed 's#"##g'

5、web界面配置或导入模板

点击:配置——>模板——>导入,选择下载的模板文件并上传

6、主机链接模板

7、模板调整和优化

7.1 通过zabbix内置key,proc.num[<name>,<user>,<state>,<cmdline>],监控php-fpm的进程数

[root@zabbix ~]# zabbix_get -s 192.168.1.7 -k "proc.num[php-fpm]"    #命令行取值

10

[root@zabbix ~]# ab -n 10000 -c 100 http://10.0.0.7/index.php            #利用apache工具进行压力测试

其中ab -n 指定次数 -c 指定并发次数 最后接url

[root@zabbix ~]# zabbix_get -s 192.168.1.7 -k "proc.num[php-fpm]"    #再次取值

36

可以发现上面的值发生了变化,所以这个值需要我们自定义监控项来进行监控

web界面自定义监控项

7.2 创建触发器

根据实际情况创建需要的触发器触发报警

 

博主原创文章,转载请务必注明出处

zabbix监控php-fpm的更多相关文章

  1. Zabbix监控php-fpm status

    开启php-fpm status php-fpm.conf pm.status_path = /statusx45 nginx.conf location ~ /(statusx45)$ { incl ...

  2. Linux实战教学笔记51:Zabbix监控平台3.2.4(三)生产环境案例

    https://www.cnblogs.com/chensiqiqi/p/9162986.html 一,Zabbix生产环境监测案例概述 1.1 项目规划 [x] :主机分组 交换机 Nginx To ...

  3. zabbix监控阅读目录

    一.zabbix安装 点击查看:http://www.cnblogs.com/hwlong/p/5820321.html 二.解决乱码问题 点击查看:http://www.cnblogs.com/hw ...

  4. Zabbix 监控PHP-FTPM、Tomcat、Redis应用

    一.zabbix 监控 PHP-FPM应用实战Nginx+PHP-FPM是目前最流行的LNMP架构,在基于PHP开发的系统下,对这些系统性能的监控,主要是关注PHP-FPM的运行状态,那么什么是PHP ...

  5. zabbix监控服务

    1.模板的重要 ​ 1.手动添加监控比较麻烦,监控项 -> 图形 -> 触发器. 问题: 1.例如: 100台服务器需要检查81端口 2.例如: 100台服务器81改成82 解决: 使用模 ...

  6. zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态

    zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...

  7. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  8. Zabbix监控nginx-rtmp status(json版)

    与前面的文章 zabbix监控nginx-rtmp status(html版)区别只在于取值的页面不一样 http://127.0.0.1:81/control/get/all_streams sta ...

  9. Zabbix监控mysql performance

    介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...

  10. zabbix监控Java 8080端口

    linux下端口和服务是对应的,Java进程启动时默认监听8080端口,如果服务挂掉则8080端口就没有了. lsof -i:8080 端口,如果没有任何的输出,说明该端口不在工作. 想在zabbix ...

随机推荐

  1. input输入限制(持续更新)

    1.只读文本框内容 <!-- 在input里添加属性值 readonly --> <input type="text" value="" re ...

  2. 【马克-to-win】学习笔记—— 第五章 异常Exception

    第五章 异常Exception [学习笔记] [参考:JDK中文(类 Exception)] java.lang.Object java.lang.Throwable java.lang.Except ...

  3. bzoj2441 [中山市选2011]小W的问题(debug中)

    2441: [中山市选2011]小W的问题 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 487  Solved: 186[Submit][Statu ...

  4. 使用fdisk命令对linux硬盘进行操作

    fdisk是linux自带的硬盘分区工具,可以对硬盘进行分区,或者对硬盘分区进行调整.本次试验环境请参考[Linux磁盘系统基础知识] 首先选择要进行操作的磁盘 [root@a ~]# fdisk / ...

  5. for 循环里的i++

    写代码的时间也不短了,今天看快速排序的算法的时候才去更深层次得理解... for (语句 1; 语句 2; 语句 3) {     被执行的代码块 } 语句 1 (代码块)开始前执行 语句 2 定义运 ...

  6. 洛谷 P2715 约数和

    给出a和b求a^b的约数和. 题目描述 输入输出格式 输入格式: 一行两个数a,b. 输出格式: 一个数表示结果对 9901 的模. 输入输出样例 输入样例#1: 2 3 输出样例#1: 15 说明 ...

  7. Mac下jdk多版本管理

    网上试了.bash_profile中增加路径设置别名的方法,但是始终无法切换,只能使用jenv了. 1. 下载 jenv(来自官网) git clone https://github.com/gcui ...

  8. WPF+MVVM数据绑定问题集锦

    1.  数据绑定的问题 在使用数据绑定时,一般使用 ObservableCollection<T> 类,不使用list列表集合,因为list数据发生变化时,UI界面不更新,而Observa ...

  9. 使用dom4j工具包对xml文件解析

    xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http: ...

  10. js中立即执行函数写法理解

    在理解了一些函数基本概念后,回头看看( function(){…} )()和( function (){…} () )这两种立即执行函数的写法,最初我以为是一个括号包裹匿名函数, 并后面加个括号立即调 ...