Zabbix监控PHPFPM

2023年 7月 15日 86.2k 0

安装lnmp环境,安装zabbix-agent端

yum install php-fpm nginx mysql mysql-server
wget http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
rpm -ivh zabbix-release-2.4-1.el6.noarch.rpm 
yum install zabbix-agent-2.4.7 zabbix-sender-2.4.7 zabbix-2.4.7

1,php在5.3.3后就集成了php-fpm模块,打开此项

[root@localhost ~]# cat /etc/php-fpm.d/www.conf |grep pm.status
pm.status_path = /status

2,将status include

[root@localhost nginx]# cat nginx.conf
user              nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    include /etc/nginx/conf.d/*.conf;
}

3,status.conf

[root@localhost conf.d]# cat php-status.conf 
server {
    listen  *:80 default_server;
    server_name _;
    location ~ ^/(status|ping)$
    {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
}

4,测试

[root@localhost conf.d]# curl 192.168.158.130/status
pool:                 www
process manager:      dynamic
start time:           21/May/2016:07:42:59 -0700
start since:          29
accepted conn:        68
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
[root@localhost conf.d]# 

5,添加key

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

开启slow

[root@localhost php-fpm.d]# cat www.conf |grep slowlog|egrep -v "^;"
request_slowlog_timeout = 3
slowlog = /var/log/php-fpm/www-slow.log
[root@localhost php-fpm.d]# pwd
/etc/php-fpm.d
[root@localhost php-fpm.d]# 

6,导入模板链接: 密码:9z8z7full详解pid – 进程PID,可以单独kill这个进程. You can use this PID to kill a long running process.state – 当前进程的状态 (Idle, Running, …)start time – 进程启动的日期start since – 当前进程运行时长requests – 当前进程处理了多少个请求request duration – 请求时长(微妙)request method – 请求方法 (GET, POST, …)request URI – 请求URIcontent length – 请求内容长度 (仅用于 POST)user – 用户 (PHP_AUTH_USER) (or ‘-’ 如果没设置)script – PHP脚本 (or ‘-’ if not set)last request cpu – 最后一个请求CPU使用率。last request memorythe -上一个请求使用的内存php-fpm status详解pool – fpm池子名称,大多数为wwwprocess 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,那说明你的最大进程数量太小了,请改大一点8,出图如下:zabbix-php-fpm1.pngphp-fpm2.pngphp-fpm3.png

相关文章

对接alertmanager创建钉钉卡片(1)
手把手教你搭建OpenFalcon监控系统
无需任何魔法即可使用 Ansible 的神奇变量“hostvars”
openobseve HA本地单集群模式
基于k8s上loggie/vector/openobserve日志收集
openobseve单节点和查询语法

发布评论