zabbix监控php-status和进程资源使用率

简介:

入职以后,领导让我着手zabbix监控的部署和具体的维护。监控php首先就是一个挺重要的事情了。zabbix监控php可以通过php自带的一个status功能来监控,需要在配置文件里面开启,同时在nginx里面配置php status可以访问

1.php-fpm 开启status

1
2
grep  pm.status_path  /usr/local/php/etc/php-fpm .conf
pm.status_path =  /php-fpm-status

默认情况下为/status,当然也可以改成/phpfpm_status等,我这里是改成/php-fpm-status

2.nginx配置

1
2
3
4
5
6
7
8
9
server {
         listen 80;
         server_name 127.0.0.1;
         location  /phpfpm_status  {
                 fastcgi_pass  127.0.0.1:9000;
                 include fastcgi_params;
                 fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
         }
}

3.php status详解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
pool – fpm池子名称,大多数为www
process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic
start  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,缓慢请求的数量

4.添加zabbix_agent 配置

1
2
3
4
5
6
[root@localhost zabbix_agentd.conf.d] # cat check_php_status.conf 
UserParameter=php-fpm.status[*], /etc/zabbix/alertscripts/php_status .sh  $1
UserParameter=php_status, ps  -ef |  grep  php-fpm |  awk  '{ print $9}'  |   grep  master  |  wc  -l
UserParameter=process.php.memory, /home/hckjS213/zabbix/etc/script/processstatus .sh phpmem
UserParameter=process.php.cpu, /home/hckjS213/zabbix/etc/script/processstatus .sh phpcpu
UserParameter=process.php.num, /home/hckjS213/zabbix/etc/script/processstatus .sh phpnum


5.编写php监控脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
CURL=` which  curl`
function  idle {
   $CURL  "http://127.0.0.1/php-fpm-status"  2> /dev/null grep  -w  '^idle processes:'  awk   '{print $3}'
}
function  total {
   $CURL  "http://127.0.0.1/php-fpm-status"  2> /dev/null grep  -w  '^total processes:'  |   awk   '{print $3}'
}
function  active {
   $CURL  "http://127.0.0.1/php-fpm-status"  2> /dev/null grep  -w  '^active processes:'  awk  '{print $3}'
}
function  listen_queue {
   $CURL  "http://127.0.0.1/php-fpm-status"  2> /dev/null grep  -w  "^listen queue:"  awk   '{print $3}'
}
function  slow_requests {
   output=` $CURL  "http://127.0.0.1/php-fpm-status"  2> /dev/null grep  -w  "^slow requests:" awk   '{print $3}' `
if  "$output"  ==  ""  ]; then
echo  0
else
echo  $output
fi
   
        }
$1

php进程资源使用率脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
#chck for php and sphinx used cpu and memory
phpmem(){
     ps  aux| grep  "php" | grep  - v  "grep" | grep  - v  "processstatus.sh" | awk  '{sum+=$6}; END{print sum}'
}
phpcpu(){
     ps  aux| grep  "php" | grep  - v  "grep" | grep  - v  "processstatus.sh" | awk  '{sum+=$3}; END{print sum}'
}
phpnum(){
     ps  aux| grep  "php" | grep  - v  "grep" | grep  - v  "processstatus.sh" wc  -l
}
case  "$1"  in
phpmem)
phpmem
;;
phpcpu)
phpcpu
;;
phpnum)
phpnum
;;
*)
echo  "Usage: $0 {phpmem|phpcpu|phpnum}"
esac

6.测试

1
2
3
4
[root@Zabbix_server ~] #/usr/local/zabbix/bin/zabbix_get  -s 192.168.50.119 -k php-fpm.status[active]
  1
[root@Zabbix_server ~] # zabbix_get  -s 10.144.164.53 -p 10050 -k process.php.memory   
2070688

wKiom1hSD6ezT2G_AACPEZHIDFc105.png

wKioL1hSD9qBT6MbAACPW9hXpLE213.png



本文转自 shouhou2581314 51CTO博客,原文链接:http://blog.51cto.com/thedream/1882958,如需转载请自行联系原作者

相关文章
|
4月前
|
监控 算法 安全
基于 PHP 的员工电脑桌面监控软件中图像差分算法的设计与实现研究
本文探讨了一种基于PHP语言开发的图像差分算法,用于员工计算机操作行为监控系统。算法通过分块比较策略和动态阈值机制,高效检测屏幕画面变化,显著降低计算复杂度与内存占用。实验表明,相比传统像素级差分算法,该方法将处理时间缩短88%,峰值内存使用量减少70%。文章还介绍了算法在工作效率优化、信息安全防护等方面的应用价值,并分析了数据隐私保护、算法准确性及资源消耗等挑战。未来可通过融合深度学习等技术进一步提升系统智能化水平。
70 2
|
5月前
|
存储 监控 算法
单位电脑监控软件中 PHP 哈希表算法的深度剖析与理论探究
数字化办公的时代背景下,单位电脑监控软件已成为企业维护信息安全、提升工作效率的关键工具。此类软件可全面监测员工的电脑操作行为,收集海量数据,故而高效管理和处理这些数据显得尤为重要。数据结构与算法在此过程中发挥着核心作用。本文将聚焦于哈希表这一在单位电脑监控软件中广泛应用的数据结构,并通过 PHP 语言实现相关功能,为优化单位电脑监控软件提供技术支持。
90 3
|
5月前
|
存储 监控 算法
论内网电脑监控软件中 PHP 哈希表算法的深度剖析与探究
当代企业网络管理体系中,内网电脑监控软件占据着关键地位。其功能涵盖对员工电脑操作行为的实时监测,以此维护企业信息安全,同时助力企业优化网络资源配置,提升整体工作效能。在构建内网电脑监控软件的诸多技术中,数据结构与算法构成了核心支撑体系。本文聚焦于哈希表这一重要数据结构,深入剖析其在 PHP 语言环境下,如何为内网电脑监控软件的高效运作提供助力,并通过详实的代码示例予以阐释。
81 3
|
6月前
|
存储 监控 算法
基于 PHP 语言的滑动窗口频率统计算法在公司局域网监控电脑日志分析中的应用研究
在当代企业网络架构中,公司局域网监控电脑系统需实时处理海量终端设备产生的连接日志。每台设备平均每分钟生成 3 至 5 条网络请求记录,这对监控系统的数据处理能力提出了极高要求。传统关系型数据库在应对这种高频写入场景时,性能往往难以令人满意。故而,引入特定的内存数据结构与优化算法成为必然选择。
132 3
|
6月前
|
弹性计算 运维 监控
基于进程热点分析与系统资源优化的智能运维实践
智能服务器管理平台提供直观的可视化界面,助力高效操作系统管理。核心功能包括运维监控、智能助手和扩展插件管理,支持系统健康监控、故障诊断等,确保集群稳定运行。首次使用需激活服务并安装管控组件。平台还提供进程热点追踪、性能观测与优化建议,帮助开发人员快速识别和解决性能瓶颈。定期分析和多维度监控可提前预警潜在问题,保障系统长期稳定运行。
231 17
|
7月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
186 20
|
7月前
|
监控 算法 安全
关于公司电脑桌面监控中 PHP 二叉搜索树算法的深度剖析
在现代企业管理中,公司电脑桌面监控系统通过二叉搜索树(BST)算法保障信息安全和提高效率。本文探讨PHP中的BST在监控场景的应用,包括节点定义、插入与查找操作,并展示如何管理时间戳数据,以快速查询特定时间段内的操作记录。BST的高效性使其成为处理复杂监控数据的理想选择。
60 2
|
7月前
|
缓存 监控 算法
内网监控管理软件:PHP 语言队列算法揭秘
在数字化办公环境中,内网监控管理软件对企业的稳定运行和信息安全至关重要。本文深入介绍PHP中的队列算法及其在内网监控软件中的应用,包括监控数据收集、任务调度和日志记录等场景,通过代码示例展示其实现方法。队列算法可提高性能、保证数据顺序并实现异步处理,为企业提供高效的安全保障。
96 1
|
8月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
619 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
7月前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
155 0

推荐镜像

更多