Zabbix监控Nginx性能状态

小柒博客 17137,0555字数 881阅读2分56秒阅读模式

Zabbix监控Nginx性能状态

Nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,从而发现故障隐患,Ngnx的监控指标可分为:基本活动指标,错误指标,性能指标。

需要使用zabbix监控nginx,首先nginx需要配置ngx_status,如果开启请看小柒博客之前的文章《Nginx服务器启用status状态页面

Zabbix监控Nginx性能状态-图片1

监控Nginx思路:

1)首先,要想监控Nginx,需要状态模块的支持,也就是-with-http_stub_status_module;随后在nginx.conf配置开启status状态

2)通过awk取status的各个状态数值

3)自定义模板将取值status的状态写成脚本,放在UserParmeter后面,最后通过zabbix_get测试Agent端是否得到状态值

Active connections         Nginx正处理的活动链接数个数;重要

server                             Nginx启动到现在共处理了多少个连接。

accepts                           Nginx启动到现在共成功创建几次握手。

handled  requests           Nginx总共处理了几次请求。

Reading                          Nginx读取到客户端的 Header 信息数。

Writing                           Nginx返回给客户端的 Header 信息数。

Waiting                         Nginx已经处理完正在等候下一次请求指令的驻留链接,开启 Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。 请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求。

Zabbix客户端配置

1、自定义KEY值

#编辑配置zabbix_agentd配置文件,添加以下内容

[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

UserParameter=nginx.status[*],/data/scripts/auto_detection_nginx_state.sh $1

#保存退出

2、重启Zabbix_agentd服务

[root@localhost ~]# service zabbix_agentd restart

3、下载脚本文件(获取监控值)

[root@localhost ~]# cd /data/scripts

[root@localhost scripts]# wget -c https://mirrors.yangxingzhen.com/shell/auto_detection_nginx_state.sh

[root@localhost scripts]# cat auto_detection_nginx_state.sh

#脚本内容如下

#!/bin/bash
#Date:2017-5-20 13:14:00
#Author Blog:
#    https://www.yangxingzhen.com
#    https://www.yangxingzhen.cn
#Author WeChat:
#    微信公众号:小柒博客
#Author mirrors site:
#    https://mirrors.yangxingzhen.com
#About the Author
#    BY:YangXingZhen
#    Mail:xingzhen.yang@yangxingzhen.com
#    QQ:675583110
#Zabbix监控Nginx性能以及进程状态

HOST='www.yangxingzhen.com'

if [ $# -eq 0 ];then
    echo -e "\033[32m Usage:/bin/bash|sh $0 ping|accepts|handled|requests|active|reading|writing|waiting\033[0m"
    exit 1
fi

function ping {
    /sbin/pidof nginx | wc -l
    }
function accepts {
    curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $1}'
    }
function handled {
    curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $2}'
    }
function requests {
    curl -s "https://$HOST/nginx_status" | awk NR==3 | awk '{print $3}'
    }
function active    {
    curl -s "https://$HOST/nginx_status" | grep Active | awk '{print $NF}'
    }
function reading {
    curl -s "https://$HOST/nginx_status" | grep Reading | awk '{print $2}'

    }
function writing {
    curl -s "https://$HOST/nginx_status" | grep Writing | awk '{print $4}'
    }
function waiting {
    curl -s "https://$HOST/nginx_status" | grep Waiting | awk '{print $6}'
    }
$1

4、脚本授权

[root@localhost scripts]# chmod +x auto_detection_nginx_state.sh

5、验证server端验证是否能获取agent端的key值

Key值列表:

nginx_status[active]

nginx_status[reading]

nginx_status[writing]

nginx_status[waiting]

nginx_status[accepts]

nginx_status[handled]

nginx_status[requests]

# 使用zabbix_get命令获取key值

Zabbix监控Nginx性能状态-图片2

Zabbix监控平台配置

1、下载模板文件

模板附件下载:

2、导入Nginx模板

进入后台->配置->模板->导入(右上角)-> 选择下载的模板文件->最后点击导入 。

Zabbix监控Nginx性能状态-图片3

至此,Nginx模板已经导入到Zabbix中。

3、关联模板

# 需要把Nginx模板链接到你的监控主机上,进入后台->配置->点击你的主机->模板->选择刚才导入模板,点击添加,最后点击更新即可。

4、效果图展示

至此,Zabbix监控Nginx性能状态完毕。

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
微信号已复制
微信公众号
微信扫一扫,关注我!
weinxin
公众号已复制
Zabbix最后更新:2024-1-24
小柒博客
  • 本文由 小柒博客 发表于 2019年7月3日 20:59:10
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.com/5063.html
评论  17  访客  17
    • AAA
      AAA 0

      求模板

      • 依憐旳丶
        依憐旳丶 2

        牛啊

        • 他人之疑目如盏盏鬼火
          他人之疑目如盏盏鬼火 0

          写的真不错

          • 阿峻
            阿峻 1

            监控模板

            • 121213
              121213 0

              监控模板

              • 我为你走过
                我为你走过 1

                监控模板

                • Jason
                  Jason 0

                  试试模板

                  • 潇潇雨凝
                    潇潇雨凝 0

                    很好的

                    • 莫忘初心
                      莫忘初心 4

                      ginx监控模板

                      • 我为你走过
                        我为你走过 1

                        nginx监控模板

                        • James
                          James 0

                          赞!

                          • Lee
                            Lee 1

                            继续学习

                            • 孙悟空
                              孙悟空 1

                              牛逼666

                              • 运维老司机
                                运维老司机 6

                                写的不错 :razz:

                                • 小柒博客
                                  小柒博客

                                  :grin: :grin:

                                匿名

                                发表评论

                                匿名网友
                                :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                                拖动滑块以完成验证