Zabbix监控Nginx性能状态

Nginx在生产环境中的应用越来越广泛,所以需要对Nginx的性能状态做一些监控来发现出来出现的问题。zabbix监控Nginx,首先确认Nginx的监控指标,主要有:基本活动指标,错误指标,性能指标。

Nginx处理流程图具体如下:

Zabbix监控Nginx性能状态

注释:Accepts(接受)、Handled(已处理)、Requests(请求数)是一直在增加的计数器。Active(活跃)、Waiting(等待)、Reading(读)、Writing(写)随着请求量而增减

名称

 

描述

 

指标类型

 

Accepts(接受)

 

NGINX 所接受的客户端连接数

 

资源: 功能

 

Handled(已处理)

 

成功的客户端连接数

 

资源: 功能

 

Active(活跃)

 

当前活跃的客户端连接数

 

资源: 功能

 

Dropped(已丢弃,计算得出)

 

丢弃的连接数(接受 - 已处理)

 

工作:错误*

 

Requests(请求数)

 

客户端请求数

 

工作:吞吐量

 

NGINX worker 进程接受 OS 的连接请求时 Accepts 计数器增加,而Handled 是当实际的请求得到连接时(通过建立一个新的连接或重新使用一个空闲的)。这两个计数器的值通常都是相同的,如果它们有差别则表明连接被Dropped, 往往这是由于资源限制,比如已经达到 NGINX 的worker_connections的限制。

Zabbix监控Nginx性能状态相关文件可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在

用户名与密码都是

具体下载目录在 /2017年资料/2月/6日/Zabbix监控Nginx性能状态/

下载方法见

------------------------------------------分割线------------------------------------------

首先nginx需要配置nginx_status  具体步骤是:在 zabbix agentd客户端上,查看nginx是否加载了with-http_stub_status_module。因为 zabbix 监控nginx是根据nginx的Stub Status模块,抓取Status模块所提供的数据。假如以前没开启,现在想启用StubStatus 模块,在编译nginx 的时候要加上参数with-http_stub_status_module,执行./configure && make就可以了,不用make install,一般情况下都是安装的,具体的安装配置如下

(一)配置nginx

1,查看nginx_status是否开启,查看已开启。

[root@iZ237lzm354Z scripts]# /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.4.7

built by gcc 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC)

TLS SNI support enabled

configure arguments: --with-http_stub_status_module --with-http_ssl_module --with-pcre

--with-http_realip_module --with-http_image_filter_module

[root@iZ237lzm354Z scripts]#


2,nginx_status开启的步骤:

[root@iZ237lzm354Z scripts]# vim /usr/local/nginx/conf/nginx.conf

server {

listen      80 ;

server_name  ;

rewrite ^/invitejoin/(.*)\.htm[l]?$  /register.shtml?$1 last;

index index.jsp index.html;

root /opt/home;

location = /nginx-status {

stub_status on;

access_log  off;

allow 127.0.0.1;

allow 10.253.12.34;

####zabbix服务器端的IP地址一般为内网IP

}


3,测试并启动nginx

[root@iZ237lzm354Z scripts]# /usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

[root@iZ237lzm354Z scripts]# /usr/local/nginx/sbin/nginx -s reload

4,用curl来进行测试:

[root@iZ237lzm354Z scripts]# curl

Active connections: 979

server accepts handled requests

756072922 756072922 1136799890

Reading: 0 Writing: 4 Waiting: 975


备注:

Active connections –当前活跃的连接数量 
server accepts handled requests — 总共处理了756072922个连接 , 成功创建 756072922次握手, 总共处理了1136799890个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。

一些Zabbix相关教程集合

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b2f0d48428651ee1f909b228ad9a8c5c.html