iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >分布式监控系统之如何理解Zabbix主动、被动及web监控
  • 740
分享到

分布式监控系统之如何理解Zabbix主动、被动及web监控

2024-04-02 19:04:59 740人浏览 薄情痞子
摘要

本篇内容主要讲解“分布式监控系统之如何理解Zabbix主动、被动及WEB监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分布式监控系统之如何理解Zabbix主

本篇内容主要讲解“分布式监控系统之如何理解Zabbix主动、被动及WEB监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分布式监控系统之如何理解Zabbix主动、被动及web监控”吧!

1、什么是主动监控?什么是被动监控?

我们知道获取数据的方式有两种,一种是get,一种是push;在zabbix中描述主动监控和被动监控都是站在agent的一方来描述的;我们把agent主动将数据发送给zabbix server这种方式采集数据,叫做主动监控;把zabbix server 向zabbix agent获取数据的方式叫做被动监控,这种方式只有zabbix server周期性的请求zabbix agent,zabbix agent才会响应对应的数据给zabbix server ,如果zabbix server 不请求,则zabbix agent不会发送数据给zabbix server ;而主动监控不管zabbix server请不请求agent,agent它都会以指定时间频率向server推送数据;默认zabbix 是使用的被动监控,这也意味着zabbix server 要不停的去请求各zabbix agent去采集数据,否则就没有数据;

2、主动监控的工作过程

要实现主动监控,首先agent要知道自己采集那些数据,然后发送给server端,其次zabbix server 怎么区分不同的agent 发来的数据;在zabbix 监控系统中,主动监控的工作过程是,在zabbix web上配置好监控配置后,首先保存到zabbix database中,然后由zabbix server到database中把对应的配置进行应用;在主动模式中,zabbix server 第一次会主动链接zabbix agent 把监控配置推送给zabbix agent,zabbix agent 拿到监控配置以后,它就按照指定的时间频率采集指定的数据发送给server端;而zabbix agent为了标识自己的身份,它在向server端发送数据时,它会把配置文件中指定的hostname带上,以hostname来标识自己是那个agent;

3、zabbix trap模式

trap模式也是主动监控中的一种,它的工作过程不依赖zabbix server配置的时间间隔,也不依赖zabbix agent;它的工作过程是,在被监控主机上使用zabbix sender工具,不定时的发送数据,而zabbix server端会运行一个traper的进程一直等待各个被监控端发来的数据;然后记录数据到数据库,从而完成一次数据收集的过程;这种模式主要用在收集当被监控端遇到紧急事件,临时发出的信息;

配置zabbix agent工作为被动模式

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:默认情况zabbix agent采用被动模式监控,但是我们要配置允许那个zabbix server来向zabbix agent发送指令采集数据;上面红框中的Server指令就是来配置允许那个zabbix server向本agent发送指令采集数据,它可以配置多个zabbix server的ip地址;配置好以上Server以后保存配置,启动zabbix agent,在zabbix web界面配置使用zabbix agent 选择zabbix agent即可完成对应item的配置;如下图

分布式监控系统之如何理解Zabbix主动、被动及web监控

配置zabbix agent工作为主动模式

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:配置zabbix agent工作为主动模式,除了要配置Server还要配置ServerActive和对应主机名,ServerActive指令用于指定将数据发送给谁;而配置主机名的方式可以使用Hostname直接指定一个固定的主机名,或者使用HostnameItem来使用内建的zabbix key system.hostname获取主机名;这两种方式选择一种即可;

主动模式zabbix agent配置文件

[root@node05 ~]# grep -Ei ^[a-z] /etc/zabbix/zabbix_agentd.conf  PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.0.43 ServerActive=192.168.0.43 HostnameItem=system.hostname Include=/etc/zabbix/zabbix_agentd.d/*.conf [root@node05 ~]#   View Code

在zabbix web gui配置使用对应zabbix agent 的类型为zabbix agent (active)

分布式监控系统之如何理解Zabbix主动、被动及web监控

查看我们刚才定义的item是否能够采集到数据呢?

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:能够采集到数据说明我们配置zabbix agent 为主动模式是正常的;

在zabbix web上配置使用zabbix trapper类型的item

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:以上配置表示允许node05.test.org这台主机使用zabbix sender向zabbix server发送数据,发送数据的key为test_trap,这个key没有实质上的意义,主要用来标识对应数据的;这样配置以后,在zabbix server 上就配置好一个trapper来接收node05.test.org使用zabbix_sender 发送test_trap这个key 的数据了;

在node05上安装zabbix-sender工具

[root@node05 ~]# yum install -y zabbix-sender

在node05上使用zabbix_sender向zabbix server发送test_trap这个key的数据

[root@node05 ~]# zabbix_sender -z 192.168.0.43 -s node05.test.org -k test_trap -o "$(free|awk '/^Mem/{print $4}')" info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000360" sent: 1; skipped: 0; total: 1 [root@node05 ~]#

提示:-z用户指定zabbix server的地址,-s用户指定本机主机名称;-k用于指定接收数据的key,-o表示发送对应key的数据,-o可以直接给定一个值或者使用命令替换的方式;

在zabbix web上才看对应key是否收到数据呢?

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:可以看到对应key已经收到数据;这种trap通常可以在没有zabbix agent情况下,对应被监控主机又想以特定频率向zabbix server发送特定的数据时使用,我们可以把在被监控端执行的zabbix sender命令配置成一个定时任务,这样也可以完成周期性的数据采集;

以上就是zabbix中常用的两种主动监控的配置,接下来我们再来了解下zabbix 的web监控

什么是web监控啊?从字面意思理解就是监控web网页嘛,对就是监控web网页;我们知道一个web站点通常都不是一个页面,除了主页还有其他系统页面,比如支付系统,订单管理系统等等;如果我们监控一个web站点是否正常,如果只监控主页很显然不够;在zabbix上它提供了监控web页面的接口,我们只需要配置其对应被监控的页面的访问url即可;在zabbix 的web监控中,默认它会监控我们指定页面的3个指标数据,分别是监控指定页面的资源下载速度,页面响应时间和响应码;

配置node05上的web服务监控

在node05上安装web服务Nginx测试

[root@node05 ~]# yum install -y nginx

模拟提供多个访问页面,并启动nginx

[root@node05 ~]# cp /var/log/messages /usr/share/nginx/html/message.html [root@node05 ~]# cp /var/log/lastlog /usr/share/nginx/html/lastlog.html [root@node05 ~]# systemctl start nginx.service  [root@node05 ~]# ss -tnl State      Recv-Q Send-Q           Local Address:Port                          Peer Address:Port               LISTEN     0      128                          *:80                                       *:*                   LISTEN     0      128                          *:22                                       *:*                   LISTEN     0      100                  127.0.0.1:25                                       *:*                   LISTEN     0      128                          *:10050                                    *:*                   LISTEN     0      128                         :::80                                      :::*                   LISTEN     0      128                         :::22                                      :::*                   LISTEN     0      100                        ::1:25                                      :::*                   LISTEN     0      128                         :::10050                                   :::*                   [root@node05 ~]#

在zabbix web页面上配置监控node05上的web服务

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:在主机列表中找到对应主机,选择web;

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:选择create web scenario进入创建web场景页面;

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:填写名称和application,选择更新时间间隔,以及尝试次数和agent(客户端浏览器,这里选择模拟谷歌的浏览器),填写好web scenari 基础信息后,点击step,填写要监控的页面相关信息;

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:点击add添加要监控的web url相关信息;

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:如果有其他信息,在对应位置点击add添加即可;按照以上逻辑添加其他网页url;

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:如果被监控的web页面需要验证登录用户名和密码,可以选择Authentication菜单填写对应的用户名和密码即可;如下

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:如果没有验证需求,最后的authentication可以选择不填写;最后添加好web url后点击Add就把对应的web 页面添加到zabbix 监控中了;

分布式监控系统之如何理解Zabbix主动、被动及web监控

查看添加到web 监控,它到底采集哪些数据项?是否有数据呢?

分布式监控系统之如何理解Zabbix主动、被动及web监控

提示:从上面的页面信息可以看到我们添加到web监控,它在每个url上都监控了下载速率,状态码和响应时长;上述监控采集到数据中,我们可以看到对于work1指定的url 它监控响应码是403,原因是我们没有给message.html授权nginx用户可读,所以它响应403;修改权限即可;

[root@node05 ~]# chmod a+r /usr/share/nginx/html/message.html [root@node05 ~]# ll /usr/share/nginx/html/message.html -rw-r--r-- 1 root root 264214 Nov 23 19:01 /usr/share/nginx/html/message.html [root@node05 ~]#

查看nginx的访问日志,看看它是否在周期性的访问对应的页面?

[root@node05 ~]# tail /var/log/nginx/access.log          192.168.0.43 - - [23/Nov/2020:19:51:23 +0800] "GET /lastlog.html Http/1.1" 200 292000 "-" "Mozilla/5.0 (X11; linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:52:23 +0800] "GET /index.html HTTP/1.1" 200 4833 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:52:23 +0800] "GET /message.html HTTP/1.1" 403 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:52:23 +0800] "GET /lastlog.html HTTP/1.1" 200 292000 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:53:23 +0800] "GET /index.html HTTP/1.1" 200 4833 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:53:23 +0800] "GET /message.html HTTP/1.1" 403 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:53:23 +0800] "GET /lastlog.html HTTP/1.1" 200 292000 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:54:23 +0800] "GET /index.html HTTP/1.1" 200 4833 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:54:23 +0800] "GET /message.html HTTP/1.1" 403 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" 192.168.0.43 - - [23/Nov/2020:19:54:23 +0800] "GET /lastlog.html HTTP/1.1" 200 292000 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36" "-" [root@node05 ~]#

提示:从上面的日志中我们可以看到,zabbix server 以每一分钟的频率模拟谷歌浏览器在访问对应监控的页面;

到此,相信大家对“分布式监控系统之如何理解Zabbix主动、被动及web监控”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 分布式监控系统之如何理解Zabbix主动、被动及web监控

本文链接: https://www.lsjlt.com/news/84282.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 分布式监控系统之如何理解Zabbix主动、被动及web监控
    本篇内容主要讲解“分布式监控系统之如何理解Zabbix主动、被动及web监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分布式监控系统之如何理解Zabbix主...
    99+
    2024-04-02
  • Zabbix如何支持分布式监控
    Zabbix支持分布式监控的方式有以下几种: Proxy服务器:Zabbix Proxy是一个中间服务器,可以代理监控数据收集和...
    99+
    2024-04-02
  • zabbix中如何使用SNMPTRAP实现主动监控
    在Zabbix中使用SNMP Trap实现主动监控,需要进行以下步骤:1. 配置SNMP Trap接收器:- 在Zabbix服务器上...
    99+
    2023-09-14
    zabbix
  • Linux系统如何启动rpc.rstatd监控
    这篇文章将为大家详细讲解有关Linux系统如何启动rpc.rstatd监控,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 准备工作可以通过两种方法验证服务器上是否配置了rstatd守护程序:①使用rup...
    99+
    2023-06-28
  • CAT分布式实时监控系统如何使用
    这篇文章主要讲解了“CAT分布式实时监控系统如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CAT分布式实时监控系统如何使用”吧!CAT相比于其他组件的优势:CAT分布式实时监控系统是...
    99+
    2023-07-05
  • 分布式系统监视工具Zabbix如何使用
    分布式系统监视工具Zabbix如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行...
    99+
    2023-06-28
  • CAT分布式实时监控系统使用详解
    目录CAT相比于其他组件的优势:CAT的应用场景:CAT的使用方法:部署流程:在springboot中使用案例:1. 引入依赖:2. 配置客户端:3. 初始化客户端:4. 添加埋点:...
    99+
    2023-03-03
    CAT分布式实时监控系统 CAT分布式监控
  • 如何在Centos7系统安装部署Pinpoint分布式监控
    这篇文章主要讲解了“如何在Centos7系统安装部署Pinpoint分布式监控”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Centos7系统安装部署Pinpoint分布式监控”吧!概...
    99+
    2023-06-17
  • 如何构建MySQL中的自动化数据监控系统
    要构建MySQL中的自动化数据监控系统,您可以使用以下步骤: 确定监控需求:首先,您需要确定您想要监控的数据指标和指标的阈值。这...
    99+
    2024-04-30
    MySQL
  • 你知道如何在PHP分布式系统中使用Shell API进行系统监控吗?
    PHP分布式系统是现代互联网应用中常见的一种架构,它可以让应用在多个服务器上运行,提高系统的可靠性和性能。但是,在这种架构下,系统监控变得更加复杂,需要使用一些高级工具来实现。本文将介绍如何使用Shell API在PHP分布式系统中进行系统...
    99+
    2023-06-07
    分布式 shell api
  • 分布式系统中如何利用Java关键字和API实现分布式任务调度和监控?
    随着互联网的快速发展,分布式系统的应用越来越广泛,而分布式任务调度和监控是分布式系统中的重要组成部分。Java作为一种高级编程语言,提供了丰富的API和关键字,可以帮助我们更好地实现分布式任务调度和监控。 本文将介绍Java关键字和API...
    99+
    2023-10-23
    关键字 分布式 api
  • 如何通过Systemd和Crontab在Linux系统中自动化服务器监控
    要在Linux系统中自动化服务器监控,可以结合使用Systemd和Crontab两种工具。1. 使用Systemd进行监控脚本的管理...
    99+
    2023-10-09
    Linux
  • 测试驱动技术系列之如何理解操控excel的核心api
    这篇文章主要讲解了“测试驱动技术系列之如何理解操控excel的核心api”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“测试驱动技术系列之如何理解操控excel的核心api”吧!测试数据格式展...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作