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

2022-04-15 09:15:46 浏览数 (1)

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

0 人点赞