zabbix3.2监控nginx(一)

简介: 以下内容在zabbix客户端配置1、查看当前nginx的status模块nginx -V查看nginx是否将--with-http_stub_status_module编译进来可以看到我这里已经将--with-http_stub_status_module编译进来了2、启用nginx的s...

以下内容在zabbix客户端配置

1、查看当前nginx的status模块

nginx -V

查看nginx是否将 --with-http_stub_status_module编译进来

可以看到我这里已经将--with-http_stub_status_module编译进来了

2、启用nginx的status模块

在server中配置,如果你使用的vhost,可以在server_name中增加一个127.0.0.1

        location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }</pre>

添加完成后nginx记得reload下

3、查看nginx_status

curl http://127.0.0.1/nginx_status


字段及含义

Active connections 当前活动的客户端连接数,包含处于等待状态的连接
accepts 总共接收了131083964个客户端连接
handled 总共处理完成131083964个连接,这个值通常与accepts相同,如果不同说明nginx性能出现瓶颈
requests 总共处理了190479730个客户端请求
reading 正在读取客户端请求头信息的数量,读取后马上进入writing的状态
writing 正在发送响应报文到客户端的数量,时间较长
waiting 处于闲置状态正等待客户端发送请求的连接数active-(reading+writing)

当用户请求连接Nginx服务器时,accepts会增加1个,当服务器处理该连接请求时,handled同样会增加1个,正常情况下accepts和handled是相等的。

官方说明地址:http://nginx.org/en/docs/http/ngx_http_stub_status_module.html

4、在/etc/zabbix/创建status数值提取脚本

vi /etc/zabbix/nginx_status.sh

#!/bin/bash
ip=127.0.0.1
function ping() {
/sbin/pidof nginx | wc -l

}

function active() {

/usr/bin/curl http://$ip/nginx_status 2&gt;/dev/null | sed -n '1p' | awk '{print $NF}'

}

function accepts() {

/usr/bin/curl http://$ip/nginx_status 2&gt;/dev/null | sed -n '3p' | awk '{print $1}'

}

function handled() {

/usr/bin/curl http://$ip/nginx_status 2&gt;/dev/null | sed -n '3p' | awk '{print $2}'

}

function requests() {

/usr/bin/curl http://$ip/nginx_status 2&gt;/dev/null | sed -n '3p' | awk '{print $3}'

}

function reading() {

/usr/bin/curl http://$ip/nginx_status 2&gt;/dev/null | sed -n '4p' | awk '{print $2}'

}

function writing() {

/usr/bin/curl http://$ip/nginx_status 2&gt;/dev/null | sed -n '4p' | awk '{print $4}'

}

function waiting() {

/usr/bin/curl http://$ip/nginx_status 2&gt;/dev/null | sed -n '4p' | awk '{print $6}'

}

$1


5、赋予执行权限
chmod +x /etc/zabbix/nginx_status.sh

6、配置zabbix-agentd
vi /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf

内容如下(注意nginx_status.sh和nginx的路径是否和你当然配置的一致)
#/etc/zabbix/nginx_status.sh
UserParameter=nginx.status[*],/etc/zabbix/nginx_status.sh $1
UserParameter=nginx.version,/usr/local/nginx/sbin/nginx -v

7、确认zabbix-agentd.conf的Include路径(yum装的agent默认开启此项)
cat /etc/zabbix/zabbix_agentd.conf | grep Include=

看到下面内容,表示开启
Include=/zabbix/zabbix_agentd.d/*.conf

8、重启zabbix_agentd服务
/etc/init.d/zabbix-agent restart

客户端配置完成(注意防火墙相应端口记得开放)

 

服务端配置

先在zabbix server上验证能否取到nginx客户端的status值,一般情况下监控以下几项就足够了

zabbix_get -s 客户端IP -k 'nginx.status[ping]'
zabbix_get -s 客户端IP -k 'nginx.status[active]'
zabbix_get -s 客户端IP -k 'nginx.status[reading]'
zabbix_get -s 客户端IP -k 'nginx.status[writing]'
zabbix_get -s 客户端IP -k 'nginx.status[waiting]'

配置监控项:

最后添加图形即可

目录
相关文章
|
6月前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
251 0
|
8月前
|
存储 缓存 监控
|
9月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
136 23
|
9月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
188 25
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
9月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
153 22
|
10月前
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
179 9
|
10月前
|
监控 数据可视化 Java
zabbix全面的监控能力
zabbix全面的监控能力
378 7
|
11月前
|
监控 Java Shell
监控堆外第三方监控工具Zabbix
监控堆外第三方监控工具Zabbix
252 5
|
11月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
375 7

推荐镜像

更多