zoukankan      html  css  js  c++  java
  • Zabbix监控Nginx

     本节内容:

    • ngx_http_stub_status_module
    • 启用nginx status配置
    • zabbix agent端配置
    • zabbix web gui配置监控项

    一、ngx_http_stub_status_module

    https://nginx.org/en/docs/http/ngx_http_stub_status_module.html

    在编译Nginx的时候,需要加上参数--with-http_stub_status_module,然后在配置文件中配置开启状态页面查询。 Nginx1.9.11版本之后才支持动态加载模块,因此对于之前的版本,你都需要重新编译。

    二、启用nginx status配置

    在http段加入如下配置,然后重载Nginx。

    server {
                listen  80;
                server_name localhost;
                location /status {
                    stub_status;
                    access_log off;
                    allow 114.55.29.246;
                    deny all;
                }
    }
    加入Nginx中的配置

    三、zabbix agent端配置

    Nginx所在服务器需要安装zabbix agent。

    # cd /usr/local/zabbix-3.0.1/etc/zabbix_agentd.conf.d/
    # vim nginx_userparams.conf

    把下面的内容贴进去:

    Nginx.waiting[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Waiting' | cut -d" " -f6
    UserParameter=Nginx.accepted[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ 	]+[0-9]+[ 	]+[0-9]+[ 	]+[0-9]+/ {print $$1}'
    UserParameter=Nginx.handled[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ 	]+[0-9]+[ 	]+[0-9]+[ 	]+[0-9]+/ {print $$2}'
    UserParameter=Nginx.requests[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ 	]+[0-9]+[ 	]+[0-9]+[ 	]+[0-9]+/ {print $$3}'
    zabbix agent端配置

    重启zabbix agent:

    # killall -9 zabbix_agentd
    # /usr/local/zabbix-3.0.1/sbin/zabbix_agentd

    测试,在zabbix server上使用zabbix_get获取数据:

    # cd /usr/local/zabbix-3.0.1/bin/
    # ./zabbix_get -s 114.55.29.241 -k "Nginx.active[114.55.29.241,80]"

    四、zabbix web gui配置监控项

    1.创建Nginx Template

    (1)点击Configuration—>Templates,点击右上角的Create template。

    (2)填写模板的信息,点击Add。

    2.创建Application

    生产环境下只需要把我写好的模板文件import进去就可以了,不需要像下面那样再去创建模板,下面只是介绍下创建模板的过程。

    (1)点击Configuration—>Templates,找到刚才创建的Nginx template,点击所在行的Applications列。

    (2)点击右上角的Create application。

    (3)输入application的名字Nginx running status,点击Add。

    3.创建Items

    点击Configuration—>Templates,找到刚才创建的Nginx template,点击所在行的Items列。

    点击右上角的Create item。分别创建5个监控项,如下图:

    (1)当前 Nginx 正处理的活动连接数(包括等待着的连接数)

    (2)Nginx一共处理了的连接数

    (3)Nginx一共处理了的连接数(包括失败了的,因为某些限制会导致连接被拒绝,比如the worker_connections limit)

    (4)Nginx一共处理了的请求的个数(连接和请求是两码事,一个长连接可能会处理多个请求)

    (5)Nginx正在读取到客户端的Header信息数

    (6)Nginx正在向客户端发送响应的个数

    (7)开启keep-alive 的情况下,这个值等于active – (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接

    (8)Nginx服务可用性

  • 相关阅读:
    Jenkins安装(一)
    Ansible(一) 安装与简单测试
    zabbix中文乱码
    mysql5.7免密登录
    Zabbix 监控 Nginx 模板
    zabbix通过snmp监控主机
    zabbix5.0+grafana 使用脚本安装
    Eth-trunk配置-LACP模式
    Eth-Trunk配置-手动模式
    文件系统简单理解与实操(ext4)
  • 原文地址:https://www.cnblogs.com/zhaojiankai/p/6918712.html
Copyright © 2011-2022 走看看