zabbix用户自定义参数监控 php-fpm 服务的状态及导出模板和自定义参数

简介: zabbix用户自定义参数监控 php-fpm 服务的状态及导出模板和自定义参数

使用用户自定义参数监控 php-fpm 服务的状态


在agent 端:

1、下载,设置php-fpm

[root@centos7 ~]# yum -y install php-fpm
[root@centos7 ~]# vim /etc/php-fpm.d/www.conf # 打开php-fpm的状态页面
[root@node1 ~]# cat /etc/php-fpm.d/www.conf 
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 512
pm.start_servers = 32
pm.min_spare_servers = 32
pm.max_spare_servers = 64
pm.max_requests = 1500
pm.status_path = /php-fpm-status        ##注意路径一会要用到
slowlog = /var/log/php-fpm/$pool-slow_log
request_slowlog_timeout = 3
request_terminate_timeout = 20
catch_workers_output = no
security.limit_extensions = ""


2、 开启 php-fpm 服务

[root@centos7 ~]# systemctl start php-fpm

3、设置 nginx 的配置文件,设置代理php,和php-fpm的状态页面匹配

安装一个nginx

yum -y install nginx
[root@node1 ~]# cat /etc/nginx/nginx.conf | grep -v "^[[:space:]].*#" | grep -v "^#" | grep -v "^$"
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
    worker_connections 1024;
}
http {
    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;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        include /etc/nginx/default.d/*.conf;
        location / {
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
}
        location ~* /(php-fpm-status|ping) {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
            include        fastcgi_params;
            allow 127.0.0.1;   ##注意这里 先应许本地访问再拒绝其他地址访问
            deny all;   
            access_log off;
}
    }
}


4、复制状态信息页面到网站根目录

[root@centos7 ~]# cp /usr/share/fpm/status.html /usr/share/nginx/html/


5、开启nginx服务

[root@centos7 ~]# systemctl start nginx

6、在agent 端,设置用户参数

1、查询 curl 192.168.30.7/php-fpm-status


2、设置

[root@centos7 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@centos7 ~]# vim php_status.conf
UserParameter=php-fpm.stats[*],curl -s http://127.0.0.1/php-fpm-status | awk '/^$1/{print $$NF}'

分析:设置用户参数为php-fpm.stats[*],1 为 第 一 个 参 数 ; 1为第一个参数;1为第一个参数;$NF为awk中的参数,倒数第一列

3、重启服务

[root@centos7 ~]# systemctl restart zabbix-agent

4、在zabbix-server 端,查询使用这个用户参数的key

[root@centos7 ~]# zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[idle]"
[root@centos7 ~]# zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[active]"
[root@centos7 ~]# zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[max active]"


5、创建一个模板,在模板上创建4个item监控项,使用定义的用户参数

1、创建一个模板

2、在模板上配置 items 监控项,使用刚定义的用户参数

php-fpm.stats[total processes]  ## total processes项是状态里的一个值 自己选取

3、再clone克隆几个items监控项

php-fpm.stats[accepted conn] ## accepted conn项是状态里的一个值 自己选取


php-fpm.stats[active processes]

php-fpm.stats[max active processes]


6、host主机链接模板


7、查看graph 图形

1、php-fpm total processes


2、php-fpm active processes


3、php-fpm max active processes


4、php-fpm idle processes


8、把模板导出,可以给别人使用

1、导出模板


2、自己定义用户参数的文件,也不要忘记导出

[root@centos7 ~]# /etc/zabbix/zabbix_agentd.d/php_status.conf
目录
相关文章
|
2月前
|
JSON 监控 PHP
企业局域网监控软件的扩展性设计:PHP插件开发指南
在企业网络环境中,对局域网进行监控是至关重要的。为了满足不同企业的需求,我们需要一种灵活可扩展的监控软件,能够根据具体情况进行定制和扩展。本文将介绍如何利用PHP插件来实现企业局域网监控软件的扩展性设计,并提供一些代码示例,帮助读者更好地理解和应用这一技术。
169 2
|
8月前
|
关系型数据库 MySQL PHP
PHP服务环境配置之 WampServer的安装与环境配置
PHP服务环境配置之 WampServer的安装与环境配置
328 0
|
8月前
|
运维 监控 应用服务中间件
【运维知识进阶篇】zabbix5.0稳定版详解3(监控Nginx+PHP服务状态信息)(二)
【运维知识进阶篇】zabbix5.0稳定版详解3(监控Nginx+PHP服务状态信息)(二)
149 0
|
6月前
|
监控
zabbix如何添加自定义监控项
zabbix如何添加自定义监控项
261 0
|
2月前
|
监控 关系型数据库 MySQL
PHP与MySQL的结合:实现局域网上网行为监控软件的数据库管理
在当今信息化时代,网络安全日益成为重要的话题。为了有效监控和管理局域网上网行为,开发一个基于PHP和MySQL的数据库管理系统是一个理想的选择。本文将介绍如何结合PHP和MySQL,开发一款简单而高效的局域网上网行为监控软件,并重点关注数据库管理方面的实现。
196 0
|
4月前
|
监控 前端开发 应用服务中间件
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
413 0
|
16天前
|
监控 关系型数据库 应用服务中间件
zabbix自定义监控、钉钉、邮箱报警
zabbix自定义监控、钉钉、邮箱报警,实验准备,安装,添加监控对象,添加自定义监控项,监控mariadb,监控NGINX,钉钉报警设置,邮件报警
135 0
|
4月前
|
SQL 监控 数据库连接
实现基于内网管理监控软件的用户身份验证系统的PHP代码详解
随着信息技术的不断发展,内网管理监控软件的需求也日益增长。为了确保系统的安全性,用户身份验证成为了至关重要的一环。本文将详细介绍如何通过PHP代码实现基于内网管理监控软件的用户身份验证系统,并提供一些代码示例。
230 0
|
4月前
|
小程序 Shell PHP
PHP 导出及导入CSV大文件
在百度查php导出excel资料的时候,无意间发现,还有php导出csv文件的功能。 他们二者没有什么区别。具体看需求。 但是要操作的文件特别大的时候,推荐使用csv。
30 1

推荐镜像

更多