使用zabbix监控nginx的活动连接数

使用zabbix监控nginx的活动连接数


1.方法简述

zabbix可以自定义很多监控,只要是能通过命令获取到相关的值,就可以在zabbix的监控中增加该对象进行监控,在zabbix中,该对象称之为item,每一个item就是一个监控对象,在被监控的主机host上面配置自定义的item监控对象,就可以通过zabbix服务器,定时的去获取该item的值,然后将该值可以直接通过绘图工具的形式展现,直观的显示系统状态。

在本次实验中,演示的是通过zabbix来监控nginx服务器的活动连接数。环境是一台zabbix服务器,上面安装了nginx服务,通过监控自己来实现。

2.实现过程

  1. nginx安装

    nginx的安装很简单,因为要监控活动连接数,所以选择的是编译安装nginx,在编译安装之前,需要先安装上所必需的组件,主要如下:

    yum install gcc gcc-lib gcc-c++ pcre openssl
    

    然后就可以直接上传已经下载好的nginx压缩包,通过解压缩,然后直接就编译安装,在编译的时候,需要启用一个参数,就是--with-http_stub_status_module,make && make install就可以了。创建用户和路径,这些都是比较常见的操作了。

  2. nginx配置

    nginx安装完成后,为了实现实验的效果,需要修改ngixn的配置文件,nginx配置文件存放在/usr/local/nginx/conf/nginx.conf中,主要修改站点信息和端口信息,具体如下:

    server {
    listen       8080;
    server_name  localhost;
    
    #charset koi8-r;
    
    #access_log  logs/host.access.log  main;
    
    location / {
        root   html;
        index  index.html index.htm;
    }
    
    location /status {
        stub_status on;
    }
    

    主要是添加一个status的站点位置,然后信息是开启nginx状态监控,配置完成后,就可以启用nginx服务。检查nginx端口状态。

    [[email protected] ~]# /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
    [[email protected] ~]# /usr/local/nginx/sbin/nginx
    [[email protected] ~]# netstat -ltnp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      6788/nginx: master
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6552/sshd
    tcp6       0      0 :::22                   :::*                    LISTEN      6552/sshd
    [[email protected] ~]#
    
  3. 启动zabbix服务,配置item监控

    启动zabbix服务,开始对主机配置相应的监控对象。

    [[email protected] ~]# systemctl start mariadb
    [[email protected] ~]# systemctl start httpd
    [[email protected] ~]# systemctl start zabbix-server
    [[email protected] ~]# systemctl start zabbix-agent
    [[email protected] ~]# netstat -ltnp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      6991/mysqld
    tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      6788/nginx: master
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6552/sshd
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      7103/zabbix_agentd
    tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      7035/zabbix_server
    tcp6       0      0 :::22                   :::*                    LISTEN      6552/sshd
    tcp6       0      0 :::10050                :::*                    LISTEN      7103/zabbix_agentd
    tcp6       0      0 :::10051                :::*                    LISTEN      7035/zabbix_server
    
  4. 配置zabbix-agent

    这一步是要配置自定义监控的KEY值,在zabbix server上要通过定义item,指定监控key,才能进行相应的监控,自定义key的目录为/etc/zabbix/zabbix_agentd.d/目录下,创建一个名为nginx.active的文件,在文件中定义监控的内容。

    首先,通过命令,先获取了一下nginx 的活动连接数,具体如下:

    curl -s http://192.168.64.131:8080/status|head -n 1|awk ‘{print $NF}‘
    

    通过curl命令,静态的获取nginx的status页面,然后通过head和awk,去除当前的活动链接数字,该数字就是表示nginx当前处理的并发量的个数。

    然后开始配置自定义监控内容,在nginx.active

    UserParameter=nginx.active,/usr/bin/curl -s http://192.168.64.131:8080/status|head -n 1|awk ‘{print $NF}‘
    

    在这里是固定的格式,其中UserParameter表示定义一个KEY,后面的nginx.active表示是该KEY的名称,然后,分割的后面,是该KEY的具体取值。

    定义好了key之后,需要重启zabbix_agent才能进行监控

    systemctl restart zabbix-agent
    
  5. 获取item值

    在这里,我们可以通过zabbix_get工具,来获取指定host上面的指定监控item的值,在这个实例中,我们要获取的是nginx.active值。命令如下:

    [[email protected] ~]# zabbix_get -s 192.168.64.131 -p 10050 -k nginx.active
    1
    

    -s后面是被监控的host,-p表示agent在该host上运行的端口号,-k表示监控的key,返回的值1表示当前的nginx有1个活动的连接数。

  6. 配置zabbix-web页面

    当能够在zabbix-server上通过zabbix_get命令,获取到指定的监控对象值之后,就可以在web页面上开始配置item对象了。

    1. 在configuration-hosts中选定指定的host,在这里是zabbix-server主机,然后选择item中,create item。
    2. 输入item的名称,选择type类型为agent,输入item的key值,在这里也就是nginx.active,选择agent的端口,和该item的数据类型,在这里是整形,对于其他的item,可以选择其他的数据类型
    3. 选择一个更新时间,也就是zabbix服务器以一个什么样的频率去获取该item的值。
    4. 写好之后就可以完成创建了

    然后为该item创建一个图形

    1. 在configuration-hosts中,选择指定host,然后选择graph页面。
    2. 选择创建新的graph,create graph
    3. 在该graph中,输入名称,然后选择grap类型,这里选择的是normal
    4. 一般X轴都是时间刻度,y轴要设置一个最大最小值,所以这个地方都选的是计算,因为获取的值并没有一个范围,其他的item可以根据获取值的情况,选择Y轴的设置。
    5. 在item中,选择刚刚创建的item,谈后就可以完成该graph的创建了。

    以上就完成了web页面的配置,剩下就可以通过web页面去查看了。

原文地址:https://www.cnblogs.com/bobo137950263/p/10662301.html

时间: 2024-11-10 14:30:32

使用zabbix监控nginx的活动连接数的相关文章

Zabbix 监控 Nginx 状态

1.获取 Nginx 状态条件( 需要nginx安装模块) [localhost]#/usr/local/nginx/sbin/nginx -V nginx version: nginx/1.8.0built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_sta

zabbix监控nginx性能状态

nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,来发现出来出现的问题.nginx处理流程图具体如下: 注释:Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Reading(读).Writing(写)随着请求量而增减 名称 描述 指标类型 Accepts(接受) NGINX 所接受的客户端连接数 资源: 功能 Handled(已处理) 成功的客户端连接数 资源: 功能

Zabbix 监控 Nginx(四)

简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [[email protected] ~]# /apps/product/nginx/sbin/nginx -V nginx version: nginx/1.8.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI

手把手教你使用zabbix监控nginx

zabbix监控nginx,多亏了容哥(杨容)的帮忙,为了感谢容哥的帮助,写了这篇文章. 环境介绍: 服务器系统版本:CentOSrelease 6.6 (Final) 内核版本:Linux hk_nginx2.6.32-504.3.3.el6.x86_64 ZabbixServer版本:Zabbix server v2.2.2 ZabbixAgent 版本:Zabbix agent v2.2.2 Nginxweb 版本:nginx version: nginx/1.5.8 在zabbix ag

zabbix监控nginx连接状态

zabbix学习笔记:zabbix监控nginx连接状态 zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数).下面我们使用zabbix监控nginx. nginx的安装 如果想要查看nginx的服务状态,在对nginx进行源码安装的时候要选中–with-http_stub_status_module模块. 1.解压安装包: [[email prot

zabbix监控nginx连接状态(转)

zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数).下面我们使用zabbix监控nginx. nginx的安装 如果想要查看nginx的服务状态,在对nginx进行源码安装的时候要选中–with-http_stub_status_module模块. 1.解压安装包: [[email protected] mnt]# tar xvf nginx-1.

【zabbix告警监控】配置zabbix监控nginx服务

zabbix监控nginx,nginx需要添加--with-http_stub_status模块 使用zabbix监控nginx,首先nginx需要配置开启ngx_status.但是我这边nginx安装成功了并且也没有添加sub模块,需要重新编译添加该模块.配置如下: # 在添加之前需要查看是否有sub的模块(--with-http_sub_module 这个模块),如果没有就需要重新编译 # 使用nginx -V可以查看 [[email protected]_0_10_centos thy]#

Zabbix监控nginx服务进程状态

zabbix监控nginx需要开启nginx status,要确认nginx编译http_sub_module模块! 1.检查当前nginx是否安装配置http_sub_module模块 # nginx -V Tengine version: Tengine/1.5.2 (nginx/1.2.9) built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) TLS SNI support enabled configure arguments: --p

zabbix监控nginx

上一篇介绍了zabbix安装,这里接着说说zabbix监控nginx 安装zabbix-agent 在实际应用中,我们server和agent部在同一机器上,所以需要分开安装,其实上一篇已经说了,在编译安装zabbix-server的时候也安装了zabbix-agent,如果只安装zabbix-agent # 切换到zabbix解压目录 cd zabbix-3.0.3 # 编译配置 ./configure --prefix=/usr/local/zabbix-agent --enable-age