zabbix监控php-fpm
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的更多相关文章
- Zabbix监控php-fpm status
开启php-fpm status php-fpm.conf pm.status_path = /statusx45 nginx.conf location ~ /(statusx45)$ { incl ...
- Linux实战教学笔记51:Zabbix监控平台3.2.4(三)生产环境案例
https://www.cnblogs.com/chensiqiqi/p/9162986.html 一,Zabbix生产环境监测案例概述 1.1 项目规划 [x] :主机分组 交换机 Nginx To ...
- zabbix监控阅读目录
一.zabbix安装 点击查看:http://www.cnblogs.com/hwlong/p/5820321.html 二.解决乱码问题 点击查看:http://www.cnblogs.com/hw ...
- Zabbix 监控PHP-FTPM、Tomcat、Redis应用
一.zabbix 监控 PHP-FPM应用实战Nginx+PHP-FPM是目前最流行的LNMP架构,在基于PHP开发的系统下,对这些系统性能的监控,主要是关注PHP-FPM的运行状态,那么什么是PHP ...
- zabbix监控服务
1.模板的重要 1.手动添加监控比较麻烦,监控项 -> 图形 -> 触发器. 问题: 1.例如: 100台服务器需要检查81端口 2.例如: 100台服务器81改成82 解决: 使用模 ...
- zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态
zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- Zabbix监控nginx-rtmp status(json版)
与前面的文章 zabbix监控nginx-rtmp status(html版)区别只在于取值的页面不一样 http://127.0.0.1:81/control/get/all_streams sta ...
- Zabbix监控mysql performance
介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...
- zabbix监控Java 8080端口
linux下端口和服务是对应的,Java进程启动时默认监听8080端口,如果服务挂掉则8080端口就没有了. lsof -i:8080 端口,如果没有任何的输出,说明该端口不在工作. 想在zabbix ...
随机推荐
- php的post
代码的顺序不能乱,否则会提交错误 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HE ...
- 石子归并的三种打开方式——难度递增———51Node
1021 石子归并 N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. ...
- Python-Python及PyCharm的下载与安装
一.简介 Python:英 -[‘paɪθ ə n]或[‘paɪθɑn] 89年诞生 可用于软件开发: 游戏后台.搜索.图形界面 网站 C\S(Client/Server)软件 科学计算 亦可以进行系 ...
- python之短路计算-布尔类型
Python中布尔类型 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 Tr ...
- [9018_1592]USACO 2014 Open Silver Fairphoto
题目描述 Farmer John's N cows (1 <= N <= 100,000) are standing at various positions along a long o ...
- mysql 共享空间转为独立表空间
由于以前的mysql配置为共享表空间,服务器空间不足,清理日志表里的数据后,数据库并没缩小,照成空间浪费,现在修改为独立表空间 #独立表空间innodb_file_per_table=1 #停止事物日 ...
- python爬虫beautifulsoup4系列4-子节点【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/beautifulsoup4/ 前言 很多时候我们无法直接定位到某个元素,我们可以先定位 ...
- Ac日记——Distances to Zero codeforces 803b
803B - Distances to Zero 思路: 水题: 代码: #include <cstdio> #include <cstring> #include <i ...
- Ngnix 安装常见错误的处理
错误: 解决方案:(联网下) 出现上面的问题是由于没有c++编译器造成 # yum -y install gcc-c++ 使用上面的命令即可安装c++解决问题 如果确实c编译器,使用如下命令解 ...
- ELK帮助文档
elasticsearch: API中文指南:https://es.xiaoleilu.com/010_Intro/15_API.html 官方文档:https://www.elastic.co/cn ...