Zabbix监控Nginx

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix监控Nginx相关的知识,希望对你有一定的参考价值。

Zabbix监控Nginx_zabbix

Zabbix监控Nginx_zabbix_02

前言

作为运维人员,我需要对nginx的工作状态有清晰的了解,包括请求数量、已响应完成的请求数量、响应失败的请求数量,以及Nginx服务及端口监听情况是否处于运行状态等信息。当出现服务停止或大量请求响应失败时,我需要尽快获知相关情况,因此我使用了Zabbix来通过Nginx内置的运行状态模块进行一系列的监控。

Zabbix监控Nginx_监控_03

Nginx_Active:当前活跃的客户端连接数

Nginx_Reading:正在执行读操作的连接数

Nginx_Writing:正在执行写操作的连接数

Nginx_Waiting:正在等待的连接数

Nginx_Accepts:NGINX接受的客户端连接数(包括Handled+Waiting)

Nginx_Handled:成功处理的客户端连接数(包含Waiting状态连接)

Nginx_Requests:客户端请求数

一、导入官网nginx模板(官方模板不能使用情况下)
  1. 先将zabbix web端模板中Template App Nginx by Zabbix agent模板删除(先导出备份防止失败)
  2. 在官网下载​​nginx模板​​,下载时一定要和zabbix-server版本对应(我的是5.0.29)
  3. 在zabbix web端【配置】-【模板】-【导入】
二、修改配置文件,开启nginx状态

1.nginx自身的状态可以通过开启status模块来得到,如下,在zabbix-agent客户端的nginx.conf配置为文件中添加一个location:

[root@zabbix-agent2 ~]# vim /etc/nginx/nginx.conf

server
......
#新加这个location就能得到nginx的status
#“ngx_status”与模板中$NGINX.STUB_STATUS.PATH宏的值一致
location /ngx_status
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.0.103; #客户端IP
deny all;

......


tips:
nginx访问控制模块:
想禁止哪个ip访问就加上deny IP,
想允许哪个ip访问就加上allow IP,
想禁止或者允许所有,则allow all或者deny all

2.重启nginx,验证nginx配置是否成功

[root@zabbix-agent2 nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@zabbix-agent2 nginx]# nginx -s reload
[root@zabbix-agent2 nginx]# curl http://127.0.0.1/ngx_status
Active connections: 1
server accepts handled requests
33138 33138 22226
Reading: 0 Writing: 1 Waiting: 0

[root@zabbix-agent2 nginx]# curl http://192.168.0.103/ngx_status #本机IP
Active connections: 1
server accepts handled requests
33150 33150 22238
Reading: 0 Writing: 1 Waiting: 0

三、修改nginx模板中的宏定义
  1. 【配置】-【主机】-【宏】-【继承及主机宏】
  2. 找到​​$NGINX.STUB_STATUS.HOST​​后面的“localhost”修改为“192.168.0.103”
  3. 需要注意的三个参数是

$NGINX.STUB_STATUS.HOST:192.168.0.103
$NGINX.STUB_STATUS.PATH:ngx_status
$NGINX.STUB_STATUS.PORT:80

  1. 【更新】


zabbix监控nginx

首先nginx编译安装此模块--with-http_stub_status_module

参考教程如下

Zabbix监控Nginx
http://www.ttlsa.com/zabbix/zabbix-monitor-nginx-performance/

Zabbix监控PHP-FPM
http://www.ttlsa.com/php/use-php-fpm-status-page-detail/

ELK监控日志
http://linuxops.xyz/2018/05/28/%E6%97%A5%E5%BF%97%E7%9B%91%E6%8E%A7%E5%BA%94%E8%AF%A5%E5%A6%82%E4%BD%95%E5%81%9A%EF%BC%9F%E9%99%84ELK-wather-%E9%80%9A%E7%9F%A5%E5%91%8A%E8%AD%A6/

以上是关于Zabbix监控Nginx的主要内容,如果未能解决你的问题,请参考以下文章

zabbix监控之nginx状态监控

zabbix监控nginx

zabbix监控nginx状态

zabbix添加nginx监控

使用 Zabbix 监控 Nginx MySQL,以及自定义监控项

全网监控 nginx 部署 zabbix6.0