zoukankan      html  css  js  c++  java
  • ZABBIX 3.0 配置监控NGINX性能【OK】

    1.在agent端查看配置:
    nginx -V //查看编辑时是否加入状态监控模块:--with-http_stub_status_module --with-http_gzip_static_module
     
    2.vim /etc/nginx/nginx.conf
    location ~ /nginx_status { //在server{ }中加入
    stub_status on;
    access_log off;
    allow 127.0.0.1;
    allow 192.168.0.127; //允许agent端IP访问该状态页面
    deny all;
    }
     
    3.测试状态页面的访问:
    curl http://127.0.0.1/nginx_status
     
    Active connections: 1 server accepts handled requests 1 1 1 Reading: 0 Writing: 1 Waiting: 0
    ## Active connections: 对后端发起的活动连接数
    ## Server accepts handled requests: Nginx 总共处理了 1 个连接,成功创建了 1 次握手(没有失败次数),总共处理了 1 个请求
    ## Reading: Nginx 读取到客户端的 Header 信息数
    ## Writing: Nginx 返回给客户端的 Header 信息数
    ## Waiting: 开启 keep-alive 的情况下,这个值等于 active - ( reading + writing ), 意思是 Nginx 已经处理完成,正在等待下一次请求指令的驻留连接
    ## 在访问效率很高,请求很快被处理完毕的情况下,Waiting 数比较多是正常的。如果 reading + writing 数较多,则说明并发访问量很大,正在处理过程中
     
    4.编写脚本获取上面的key值:
     
    cat > /etc/zabbix/nginx_status.sh << end //存储路径随意
    #!/bin/bash
    case $1 in
    active)
    curl -s http://127.0.0.1/nginx_status | awk '/Active/ {print $3}' ;;
    accepts)
    curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $1}' ;;
    handled)
    curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $2}' ;;
    requests)
    curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $3}' ;;
    reading)
    curl -s http://127.0.0.1/nginx_status | awk '/Reading/ {print $2}' ;;
    writing)
    curl -s http://127.0.0.1/nginx_status | awk '/Writing/ {print $4}' ;;
    waiting)
    curl -s http://127.0.0.1/nginx_status | awk '/Waiting/ {print $6}' ;;
    *)
    echo "Usage: $0 { active | accepts | handled | requests | reading | writing | waiting }" ;;
    esac
    end
     
    //-s:静默模式,如果不加 -s 参数,则获取到的结果是不正确的。
    chmod u+x /etc/zabbix/nginx_status.sh
    chown zabbix. /etc/zabbix/nginx_status.sh
     
    5.添加自定义key文件:
     
    cat > /etc/zabbix_agentd.conf.d/nginx_status.conf << end //文件名任意
    ## Nginx_status
    UserParameter=nginx.active,/etc/zabbix/nginx_status.sh active
    UserParameter=nginx.accepts,/etc/zabbix/nginx_status.sh accepts
    UserParameter=nginx.handled,/etc/zabbix/nginx_status.sh handled
    UserParameter=nginx.requests,/etc/zabbix/nginx_status.sh requests
    UserParameter=nginx.reading,/etc/zabbix/nginx_status.sh reading
    UserParameter=nginx.writing,/etc/zabbix/nginx_status.sh writing
    UserParameter=nginx.waiting,/etc/zabbix/nginx_status.sh waiting
    end
     
    vim /etc/zabbix/zabbix_agentd.conf
    Include=/etc/zabbix_agentd.conf.d //取消注释
    UnsafeUserParameters=1 //允许使用自定义参数
    保存退出
     
    systemctl restart zabbix-agent
     
    6.在zbx服务端测试下:
    zabbix_get -s 192.168.0.127 -k nginx.active
    1 //有数字表示已经获取成功
     
    7、Zabbix监控Nginx状态:
    1)创建模板
     
    配置——》模板——》创建模板
    模板名称:Template App Nginx Service
    所在群组:Templates
     
    2)创建应用集
     
    配置——》模板——》点击NGINX模板的应用集——》创建应用集
    名称:Nginx status
     
     
     
     
    3)创建监控项
     
     
    名称:nginx.accepts
    类型:Zabbix客户端
    键值:nginx.accepts //要手动输入
    信息类型:数字
    数据类型:十进制
    应用集:Nginx status
     
    以此类推分别定义剩下的全部key:
     
     
     
    8.将模板应用到主机:
     
    9.将监控项绘图:
    配置——》模板——》图形——》创建图形
     
     
     
    完成。效果图:
     

     

  • 相关阅读:
    字符替换
    并发编程之线程创建
    禁止浏览器缓存文件
    Java垃圾回收机
    带你走进ajax
    MFC的CString使用
    《Java小游戏》:球球大作战
    【推荐】开源项目ElasticAmbari助力 ElasticSearch、Kibana、ambari服务高效运维管理
    Java基础
    什么是可串行化MVCC
  • 原文地址:https://www.cnblogs.com/hy007x/p/7576439.html
Copyright © 2011-2022 走看看