zabbix监控Nginx

article/2025/11/7 23:01:15

目录

一、环境准备

二、部署Nginx被监控端

三、自定义Nginx监控key

四、给目标主机创建监控项


一、环境准备

搭建zabbix基础环境

zabbix基础环境部署参照:zabbix基础环境部署_桂安俊@kylinOS的博客-CSDN博客

以下实验部署均基于上述环境

二、部署Nginx被监控端

此处选择在web1搭建Nginx服务,部署Nginx时要加载status模块

Nginx下载地址:nginx: download

#在web1主机安装
yum install gcc pcre-devel openssl-devel -ytar -xvf nginx-1.22.1.tar.gzcd nginx-1.22.1./configure --with-http_stub_status_modulemake && make install

修改Nginx配置:

vim /usr/local/nginx/conf/nginx.conf

在server块里面新增一个location块,用户显示状态,新增内容如下红色标记部分:

... ...

server {
        listen       80;
        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;
        }
  
        #error_page  404              /404.html;
        
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        ... ...

}

#启动nginx
/usr/local/nginx/sbin/nginx

验证nginx状态页面:

curl http://192.168.2.20/status

 

三、自定义Nginx监控key

语法格式:

UserParameter=key,command

UserParameter=key[*],<command>

key里的所有参数,都会传递给后面命令的位置变量

举例:

UserParameter=ping[*],echo $1

ping[0]                 #返回的结果都是0

ping[aaa]             #返回的结果都是aaa

在被监控端web1主机创建监控key文件:

(注意创建自定义监控key要在agent端/usr/local/etc/zabbix_agentd.conf里设置Include,前文环境已经设置过,这里不再重复)

vim /usr/local/etc/zabbix_agentd.conf.d/nginx.status

添加如下内容:

#将nginx.status[]里的参数,传递给后面sh脚本的位置参数里
UserParameter=nginx.status[*],/usr/local/bin/nginx_status.sh $1

重启agent:

killall zabbix_agentdzabbix_agentd

以上创建好监控key,但是nginx_status.sh脚本还不存在,下面编写脚本:

vim /usr/local/bin/nginx_status.sh

脚本内容如下:

#!/bin/bash
case $1 in
active)curl -s http://127.0.0.1/status | awk '/Active/{print $NF}';;
waiting)curl -s http://127.0.0.1/status | awk '/Waiting/{print $NF}';;
accepts)curl -s http://127.0.0.1/status | awk 'NR==3{print $2}';;
esac
chmod +x /usr/local/bin/nginx_status.sh#测试zabbix_get能否获取
zabbix_get -s 127.0.0.1 -k 'nginx.status[accepts]'
zabbix_get -s 127.0.0.1 -k 'nginx.status[waiting]'
zabbix_get -s 127.0.0.1 -k 'nginx.status[accepts]'

 

四、给目标主机创建监控项

        这里可以先创建监控模板,把监控项添加到监控模板,也可以直接找到目标主机,把目标主机添加该监控项,区别是通过监控模板,后面可以给其他主机用,如果是直接到目标主机添加监控项,那这个监控项后面不能给其他主机直接用,除非别的主机也去创建监控项。这里为了测试方便,就直接给目标主机添加items监控项:

Configuration--->Hosts--->选择目标主机web1后面的items,点击后面的Create item:

 如下图,设置自定义监控项名称,键值手动输入,nginx.status[accepts],括号里面是手动传入的参数,设置完成后选择最下面的添加:

回到web1主机的监控项列表里面,可以看到多了一个监控项nginx_status:

 点击监测中--->最新数据--->选择web1主机,找到nginx_status监控项,可以看到监控数值:

 也可以点击后面的图形,查看折线图:

 我们可以在zabbixserver主机使用ab命令,模拟向web1 nginx服务器发送并发数据,观察web1主机并发数变化:

#在zabbixserver主机执行,任何非web1主机都可以,发送并发数访问
ab -c 100 -n 10000 http://192.168.2.20/

再次查看web1的监控数据,发现并发数有明显变化:

 


http://chatgpt.dhexx.cn/article/wAVaDMSn.shtml

相关文章

zabbix监控日志

zabbix监控日志 最主要的是监控日志文件中有没有某个字符串的表达式&#xff0c;对应日志轮转与否&#xff0c;zabbix都支持。在配置Item的时候&#xff0c;Type选择Zabbix agent (active)&#xff0c;这里主要需要配置的是Key。下面是监控日志的两种key——log和logtr。log[/…

使用zabbix监控VMware

概述 1、VMware本身报警可以在vcenter中获取到&#xff0c;但无法通过微信或者短信通知&#xff0c;如果不是专门人负责也不好24小时一直查看&#xff0c;所以使用监控软件进行实时监控&#xff0c;很有必要 2、zabbix是一款开源监控软件&#xff0c;功能强大&#xff0c;内置…

zabbix监控vSphere

环境介绍 本次使用测试环境为VCSA 6.7U2&#xff08;ESXI版本同样为6.7U2&#xff09; Zabbix版本为 4.4.10 使用的监控模板为zabbix内置Template VM Vmware VCenter创建监控账号 使用管理员账号登录Vcenter&#xff0c;创建监控账号&#xff0c;按照“菜单”→“系统管理”…

zabbix 监控 mysql

zabbix 监控 mysql 1、监控规划 在创建监控项之前要尽量考虑清楚要监控什么&#xff0c;怎么监控&#xff0c;监控数据如何存储&#xff0c;监控数据如何展现&#xff0c;如何处理报警等。要进行监控的系统规划需要对Zabbix很了解&#xff0c;这里只是提出监控的需求。 需求…

zabbix监控

目录 一、zabbix监控 1.1、网站可用性 2、监控什么东西 2.1、监控范畴 3、企业级监控解决方案——Zabbix 4、zabbix主要功能 5、zabbix监控范畴 6、zabbix监控组件 7、zabbix常用的监控架构平台 8、zabbix运行过程图 一、zabbix监控 1、为什么要监控 对于运维人员来说…

zabbix服务器监控

zabbix服务器监控 文章目录 zabbix服务器监控一、zabbix服务器监控概念1.服务器上安装zabbix-agent2.启动zabbix-agent服务 二、监控远程linux服务器1.将server的hosts文件复制到agent上2.agent上安装zabbix-agent3.配置agent端并启动服务4.管理界面创建监控主机 三、为zabbix …

Zabbix监控服务详解+实战

目录 一、监控体系概述 1. 为什么需要监控 2. 监控目标与流程 &#xff08;1&#xff09;监控的目标 &#xff08;2&#xff09; 监控的流程 3. 监控的对象 &#xff08;1&#xff09;CPU监控 &#xff08;2&#xff09;磁盘监控 &#xff08;3&#xff09;内存监控 …

Zabbix 监控(内容详细 供您参考)

目录 一、Zabbix简介 1.1 Zabbix概述 1.2 Zabbix 监控原理 1.3 zabbix监控部署在系统中&#xff0c;包含常见的五个程序 二、部署zabbix服务端 三、部署zabbix 客户端 在 Web 页而中添加 agent 主机 四、自定义监控内容 1.明确需要执行的linux命令 2.创建zabbix的监控…

EF框架实现增删改查

EF框架实现增删改查 1.创建数据库&#xff1a;先创建两张表&#xff0c;文章类型表以及文章详情表&#xff0c;设置主外键&#xff08;ID&#xff0c;Catelogid&#xff09; Catelog:文章类型表 字段&#xff1a;Id&#xff08;自增&#xff09;&#xff0c;Name&#xff0c…

【EF框架】EF框架的开发方法

前言 EF框架具有有三种数据持久化的方式&#xff0c;分别为Code First,Model First,Database First.看一下它们都有什么联系&#xff1f; 叙述 EF框架的三种工作方式 1.Database First是基于已存在的数据库&#xff0c;利用某些工具&#xff08;如VS提供的EF设计器&#xff09…

使用EF框架

1.创建一个控制台项目 2.创建一个EF框架 3.查询出一个表中得到所有元素 static void Main(string[] args){//创建一个EF对象var ef new DemoDatabaseEntities1();//遍历数据库Grade表中的所有元素【EF框架对象->Grade表对象->把表内所有元素转换成实体集合Li…

C#控制台EF框架增删改查

1.创建一个linq to sql 或者EF框架&#xff0c;引入自己数据库的表 2.创建一个上下文 3.添加 News是数据库中的一张表名。 创建一个对象&#xff0c;把需要添加的内容放到对象里面&#xff0c;往表中插入对象&#xff0c;提交到数据库中&#xff0c;刷新数据库 。 4. 修改 创…

EF框架你了解多少?

[EF框架的认识] EF教程视频大全 一、 EF简介 ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主&#xff0c;将数据逻辑层切分为三块&#xff0c;分别为 Conceptual Schema, Mapping Schema 与 Storage Schema 三层&#xff0c;其上还有 Entity Client&#xff0c;…

EF-创建EF框架

文章目录 什么是EFEF的作用 EF 分类Model First&#xff08;模型优先&#xff09;Code First&#xff08;代码优先&#xff09; Database First&#xff08;数据优先&#xff09; 如何创建EF 安装创建 注意事项 什么是EF 实体框架&#xff08;Entity Framework&#xff09;是微…

EF框架是什么?

Entity Framework 实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术&#xff0c;是微软的一个ORM框架。 ORM是什么&#xff1f; ORM的全称是Object Relational Mapping&#xff0c;即对象关系映射。 ORM框架有很多&#xff0c;EF框架是ORM框架的其中一种&a…

EF框架学习三

实例操作&#xff1a; Database First&#xff08;数据库优先&#xff09; 1.1创建一个示例数据库。 1.2打开vs2017&#xff0c;新建项目&#xff0c;如图所示 1.3添加EF框架插件 1.4添加ADO实体数据模型 1.5选择模型类型&#xff0c;点击下一步&#xff0c;然后新建连接&…

C# EF框架使用实例

EF框架 1、新增ADO.NET实体数据模型&#xff0c;但这样会导致新增数据库连接配置 2、选择好后&#xff0c;点添加 3、下一步&#xff0c;点新建连接 在这里如果勾上将App.Config&#xff0c;会自动在配置文件&#xff08;App.config&#xff09;中新增数据库连接字符串 4、以…

EF 框架的简介、发展历史;ORM框架概念

一、EF 框架简介 EF 全称是 EntityFramework 。 Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 ORM框架&#xff08;Object Relational Mapping&#xff09; 翻译过来就是对象关系映射。 如果不用ORM框架&#xff0c;我们一般…

【EF框架】聊一聊EF框架

前言 EF框架的全称EntityFramework &#xff0c;Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 叙述 ORM ORM是一种将数据从域对象存储到关系数据库&#xff08;如MS SQL Server&#xff09;的工具&#xff0c;以自动化的方…

给EF框架自动生成实体类修改名字

给EF框架自动生成实体类名字一般以T_ 开头&#xff0c;不符合我们给实体类起的名字这个时候如何进行修改呢&#xff1f; 右击2 选择属性 将属性中的实体集名称和名称改成自己想要的样子就可以啦~ 然后点击重新生成解决方案&#xff0c;我们就能修改自动生成的.cs的实体类名…