前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix6.0 LTS Nginx PHP-FPM 监控(七)

Zabbix6.0 LTS Nginx PHP-FPM 监控(七)

作者头像
Kevin song
发布2022-04-15 09:15:46
1K0
发布2022-04-15 09:15:46
举报
文章被收录于专栏:运维监控日志分析

Zabbix Nginx 监控

1,Nginx 配置文件开启状态监控

需要使用ngx_http_stub_status_module模块,提供对基本状态信息的访问默认情况下不构建此模块,编译安装应使用--with-http_stub_status_module配置参数启用它.采用yum和apt安装nginx 无需手动添加ngx_http_stub_status_module模块

2,测试 http_stub_status 模块的可用性

代码语言:javascript
复制
nginx -V 2>&1 | grep -o with-http_stub_status_module

3,Nginx 的配置

代码语言:javascript
复制
location = /basic_status {
    stub_status;
    allow 127.0.0.1;
    allow ::1;
    deny all;
}

Nginx 检查配置

代码语言:javascript
复制
nginx -t

重载nginx配置

代码语言:javascript
复制
systemctl reload nginx

4,访问nginx_status测试

nginx_status参数解释

active connections:当前活动客户端连接数,包括Waiting连接数。

accepts:所接受客户端连接数。

handled:已处理客户端连接数。

requests:客户端的请求数。

reading:正在读取请求标头的连接数。

writing:将响应写回客户端的连接数。

waiting:当前等待请求的空闲客户端连接数。

5,链接模板

提示:调用模板需要注意修改宏变量,默认主机为localhost ,端口为80;

6,最新数据

Zabbix PHP -FPM 监控

1,编辑php-fpm 配置文件并启用状态页面

sudo vim /etc/php/7.4/fpm/pool.d/www.conf

代码语言:javascript
复制
pm.status_path = /status
ping.path = /ping

验证语法是否正确

代码语言:javascript
复制
php-fpm7 -t

重新加载 php-fpm 服务

代码语言:javascript
复制
systemctl reload php-fpm

2,编辑 Nginx 配置文件末尾添加如下配置

代码语言:javascript
复制
location ~ ^/(status|ping)$ {
              access_log off;
              allow 192.168.99.185;
              deny all;
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              fastcgi_index index.php;
              include fastcgi_params;
              fastcgi_pass unix:/run/php/php7.4-fpm.sock;
              #fastcgi_pass  127.0.0.1:9000;
              
        }

php-fpm 两种监听方式

  • 监听127.0.0.1
  • 监听socket

查看php-fpm监听方式

代码语言:javascript
复制
vim /etc/php/7.4/fpm/pool.d/www.conf
/listen = #可以找到监听方式 listen = /run/php/php7.4-fpm.sock

修改php-fpm监听方式

代码语言:javascript
复制
listen = /run/php/php7.4-fpm.sock 改为listen = 127.0.0.1

nginx 修改参数

代码语言:javascript
复制
fastcgi_pass  127.0.0.1:9000;

检查语法

代码语言:javascript
复制
nginx -t

重新加载 Nginx

代码语言:javascript
复制
systemctl reload nginx

3,访问status测试

代码语言:javascript
复制
 curl -L 192.168.99.185/status

php-fpm status参数解释

字段

含义

pool

php-fpm pool的名称,大多数情况下为www

process manager

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

start time

php-fpm上次启动的时间

start since

php-fpm已运行了多少秒

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

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

slow requests

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

4,链接模板

提示:调用模板需要注意修改宏变量,默认主机为localhost ,端口为80;

5,最新数据

nginx 服务cpu 利用率

格式

proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]

监控项

代码语言:javascript
复制
proc.cpu.util[nginx]

nginx 进程数

格式

proc.num[<name>,<user>,<state>,<cmdline>,<zone>]

监控项

代码语言:javascript
复制
proc.num[nginx]

zabbix_get测试

简单检查

简单检查不需要 Zabbix Proxy。Zabbix Server/Proxy 负责处理简单的检查。

检查服务是否正在运行并接受 TCP 连接

格式

net.tcp.service[service,<ip>,<port>]

检查 TCP 服务的性能

格式

net.tcp.service.perf[service,<ip>,<port>]

代码语言:javascript
复制
zabbix_get   -s  192.168.99.185 -k net.tcp.service[http,192.168.99.185,80]
1
zabbix_get   -s  192.168.99.185 -k net.tcp.service.perf[http,192.168.99.185,80]
0.000187
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档