zabbix监控Nginx

这篇具有很好参考价值的文章主要介绍了zabbix监控Nginx。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、环境准备

二、部署Nginx被监控端

三、自定义Nginx监控key

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


一、环境准备

搭建zabbix基础环境

zabbix基础环境部署参照:部署Zabbix监控

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

二、部署Nginx被监控端

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

Nginx下载地址:部署Zabbix监控

#在web1主机安装
yum install gcc pcre-devel openssl-devel -y
 
tar -xvf nginx-1.22.1.tar.gz
 
cd nginx-1.22.1
 
./configure --with-http_stub_status_module
 
make && 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

zabbix监控Nginx,运维,zabbix,nginx,linux

 文章来源地址https://www.toymoban.com/news/detail-648517.html

三、自定义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_agentd
 
zabbix_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]'

zabbix监控Nginx,运维,zabbix,nginx,linux

 

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

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

Configuration--->Hosts--->选择目标主机web1后面的items,点击后面的Create item:
zabbix监控Nginx,运维,zabbix,nginx,linux

zabbix监控Nginx,运维,zabbix,nginx,linux 

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

zabbix监控Nginx,运维,zabbix,nginx,linux 

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

zabbix监控Nginx,运维,zabbix,nginx,linux 

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

zabbix监控Nginx,运维,zabbix,nginx,linux 

zabbix监控Nginx,运维,zabbix,nginx,linux 

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

zabbix监控Nginx,运维,zabbix,nginx,linux 

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

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

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

zabbix监控Nginx,运维,zabbix,nginx,linux

 

到了这里,关于zabbix监控Nginx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux系统nginx监控的使用

    nginx 提供了 ngx_http_stub_status_module,ngx_http_reqstat_module模块,这个模块提供了基本的监控功能 nginx的基础监控 进程监控 端口监控 监控的主要指标 基本活跃指标 名称 描述 指标类型 Accepts(接受) NGINX 所接受的客户端连接数 资源: 功能 Handled(已处理) 成功的客户端连接数 资

    2024年01月24日
    浏览(46)
  • 大厂经典运维监控(Zabbix+Prometheus)面试题整理汇总

    1、监控原则 监控是基础设施,目的是为了解决问题,不要只朝着大而全去做,尤其是不必要的指标采集,浪费人力和存储资源(To B商业产品例外)。 需要处理的告警才发出来,发出来的告警必须得到处理。 简单的架构就是最好的架构,业务系统都挂了,监控也不能挂。G

    2024年02月06日
    浏览(41)
  • 【运维】Linux安装Nginx并部署前端项目的两种方式【内/外网-保姆级教程】

    目录 第一种方式 1准备nginx安装包并解压 2执行以下命令,安装nginx依赖包 3编译安装nginx 4验证安装 第二种方式 1下载所需要的安装包 2安装步骤 2.1将下载的完整文件夹通过压缩包的形式,上传到你的路径下解压. 2.2 进入到gcc文件夹下,执行命令: 2.3进入到gcc-c++文件夹下,执

    2024年02月04日
    浏览(50)
  • 【运维】手把手教你在Linux/Windows系统使用Nginx部署多个前端项目【详细操作】

            需求:项目上线需要将前端的前台和后台部署在服务器上提供用户进行使用,部署在不同的服务器直接在服务器安装nginx即可。但是在内网安装还是有点麻烦,因为需要联网,如果是内网可以参考Linux安装Nginx并部署前端项目【内/外网-保姆级教程】_MXin5的博客-CSDN博

    2024年02月08日
    浏览(58)
  • 【运维】Linux安装Nginx并部署前端项目的两种方式【内 外网-保姆级教程】_linux部署前端项(1)

    1准备nginx安装包并解压 2执行以下命令,安装nginx依赖包 3编译安装nginx 4验证安装 第二种方式 1下载所需要的安装包 2安装步骤 2.1将下载的完整文件夹通过压缩包的形式,上传到你的路径下解压. 2.2 进入到gcc文件夹下,执行命令: 2.3进入到gcc-c++文件夹下,执行命令: 2.4检查

    2024年04月14日
    浏览(61)
  • 【运维知识进阶篇】zabbix5.0稳定版详解7(zabbix分布式监控:使用场景+功能详解+快速部署+基本使用)

    如果你有几百上千台客户端的数据需要上报给zabbix服务端,即便是你做了主动注册,监控项目主动式,那服务端压力还是会很大,所以我们可以考虑zabbix分布式监控。 zabbix proxy可以代替zabbix server收集性能和可用性数据,然后把数据汇报给zabbix server,并且在一定程序分担zab

    2024年02月11日
    浏览(56)
  • Linux下搭建安防视频监控系统(NGINX+ffmpeg完成整体项目开发)

    Linux系统下搭建搭建RTMP流媒体服务器(完成推流、拉流、回放、转流等功能) 在Linux(ubuntu18.04 64位)下利用NGINX搭建RTMP流媒体服务器,完成视频推流上传、拉流播放、视频缓存,回放功能,HLS-HTTP协议支持(浏览器可以直接播放). 本篇文章教大家完成6件事: (1)购买ECS云服务器

    2024年02月03日
    浏览(44)
  • 1+X 云计算运维与开发(中级)案例实战——Zabbix分布式监控系统

    学而不思则罔,思而不学则殆。 IP 主机名 节点 192.168.200.10/24 zabbix-server Server节点 192.168.200.20/24 zabbix-agent Agent节点 这个实验非常简单,就是最基本的配置yum源,安装,修改配置文件,启动,然后在图形化界面操作。 1.配置yum源 2.安装服务 [ server节点 : lamp+zabbix-server] [ agent节点

    2024年02月04日
    浏览(54)
  • Zabbix6.0全套落地方案-基于RHEL9系列源码编译安装-Linux+Nginx+Mysql+Redis生产级模板及Agent2客户端一键部署

    实践说明:基于RHEL9系列(CentOS9,AlmaLinux9,RockyLinux9等),但适用场景不限于此,客户端一键部署安装包基于RHEL8和RHEL9。 文档形成时期:2023年 因系统或软件版本不同,构建部署可能略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。 限于篇幅,Zabbix配置基于Agent2一键

    2024年02月02日
    浏览(47)
  • 从小白到大神之路之学习运维第64天--------Zabbix监控mysql、ftp服务以及自定义配置

    第三阶段基础 时  间:2023年7月19日 参加人:全班人员 内  容: Zabbix监控mysql、ftp服务以及自定义   目录 一、Zabbix监控mysql数据库 二、Zabbix监控ftp服务 三、Zabbix自定义监控项       整体zabbix搭建完成,server端huyang1监控自己以及监控huyang3,切基于lamp平台,服务均开启 服

    2024年02月16日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包