分布式监控系统之Zabbix主动、被动及web监控的过程详解

  前文我们了解了zabbix的网络发现功能,以及结合action实现自动发现主机并将主机添加到zabbix hosts中,链接指定模板进行监控;回顾请参考https://www.jb51.net/article/200678.htm;今天我们来了解下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 agent采用被动模式监控,但是我们要配置允许那个zabbix server来向zabbix agent发送指令采集数据;上面红框中的Server指令就是来配置允许那个zabbix server向本agent发送指令采集数据,它可以配置多个zabbix server的ip地址;配置好以上Server以后保存配置,启动zabbix agent,在zabbix web界面配置使用zabbix agent 选择zabbix agent即可完成对应item的配置;如下图

  配置zabbix agent工作为主动模式

  提示:配置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 ~]#

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

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

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

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

  提示:以上配置表示允许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工具

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

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

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

  提示:可以看到对应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做测试

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

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

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

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

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

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

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

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

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

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

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

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

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

  以上就是zabbix web监控相关的配置和演示;后续我们就可以针对web监控的采集到指标数据定义触发器,告警等等操作;

到此这篇关于分布式监控系统之Zabbix主动、被动及web监控的过程详解的文章就介绍到这了,更多相关Zabbix分布式监控系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控(推荐)

    服务器磁盘的运作情况在一定程度上反应系统的负载. 磁盘通常是服务器最慢的设备,极容易出现瓶颈,通过监控可以判断出整个系统的短板. zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加. 由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用自动发现 这个功能,自动发现后自动添加对服务器磁盘的监控,而且添加磁盘后也会自动添加到监控,实现自动化运维的效果,所以在这里也演示一次

  • 分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据的原理解析

    前文我们了解了zabbix的被动.主动以及web监控相关话题,回顾请参考https://www.jb51.net/article/200679.htm:今天我们来了解下zabbix使用SNMP和JMX信道采集数据的相关话题: 1.SNMP协议介绍 SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议,SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议,SNMP主要用

  • 分布式监控系统之Zabbix主动、被动及web监控的过程详解

    前文我们了解了zabbix的网络发现功能,以及结合action实现自动发现主机并将主机添加到zabbix hosts中,链接指定模板进行监控:回顾请参考https://www.jb51.net/article/200678.htm:今天我们来了解下zabbix的主动监控.被动监控以及web监控相关话题: 1.什么是主动监控?什么是被动监控? 我们知道获取数据的方式有两种,一种是get,一种是push:在zabbix中描述主动监控和被动监控都是站在agent的一方来描述的:我们把agent主动将数

  • Java 用Prometheus搭建实时监控系统过程详解

    上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念也会精炼出提及下.系列主要分为以下几块 Prometheus各个概念介绍和搭建,如何抓取数据(本次分享内容)

  • jmeter在linux系统下运行及本地内存调优的方法详解

    1.在linux系统下安装跨系统传输文件工具 root用户下 根目录输入 yum -y install lrzsz 2.把apache-jmeter-4.0zip包 用rz命令上传到linux系统的根目录下 解压 3.配置jmeter环境变量 vim /etc/profile 添加 export PATH=/apache-jmeter-4.0/bin/:$PATH 注意路径 4.使用 rz命令上传jdk1.8 linux 64位版本 解压到 usr/local 目录下 下载jdk安装包 下载地址

  • windows系统下node.js环境配置与安装教程图文详解(详细版)

    国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网https://nodejs.org/en/download/ 这里用的是 第二步:安装nodejs 下载完成之后,双击 node-v6.9.1-x64.msi,开始安装nodejs,默认是安装在C:\Program Files\nodejs下面 第三步:安装相关环境 打开C:\Program Files\

  • linux系统对外开放3306、8080等端口,防火墙设置详解

    我们很多时候在liunx系统上安装了web服务应用后(如tomcat.apache等),需要让其它电脑能访问到该应用,而linux系统(centos.redhat等)的防火墙是默认只对外开放了22端口. linux系统的端口设置在/etc/sysconfig/iptables文件中配置.使用编辑器打开该文件.内容如下: # Firewall configuration written by system-config-firewall # Manual customization of this

  • JavaScript代码异常监控实现过程详解

    这篇文章主要介绍了JavaScript代码异常监控实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JavaScript异常一般有两方面:语法错误和运行时错误.两种错误的捕获和处理方式不同,从而影响具体的方案选型.通常来说,处理JS异常的方案有两种:try...catch捕获 和 window.onerror捕获.以下就两种方案分别分析各自的优劣. 虽然语法错误本应该在开发构建阶段使用测试工具避免,但难免会有马失前蹄部署到线上的时候.

  • java开发分布式服务框架Dubbo暴露服务过程详解

    目录 Dubbo服务暴露机制 前言 服务暴露流程 源码解析 本地暴露 远程暴露 Dubbo服务暴露机制 前言 在进行服务暴露机制的分析之前,必须谈谈什么是URL,在Dubbo服务暴露过程中URL是无处不在的,贯穿了整个过程. 一般情况下,URL指的是统一资源定位符,标准格式如下: protocol://host:port/path?key1=value1&key2=value2 Dubbo就是用这种URL的方式来作为约定的参数类型,服务之间也是用URL来进行交互. Dubbo用URL作为配置总线

  • Dubbo+zookeeper搭配分布式服务的过程详解

    目录 分布式架构: Dubbo 是什么 Dubbo: 思想: 依赖: 分布式架构: 1.当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,前端应用能更快速的响应多变的市场需求. 2.此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键. Dubbo 是什么 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 Dubbo: 作为分布式架构比较后的框架,同时也是比较容易入手的框架,适合作为分布式的入手框架,下

  • 性能测试监控网络吞吐量过程详解

    性能监控之网络吞吐量 检查设备网络带宽 ip a#检查网卡,选取带eth的 ethtool eth0 这里就遇到问题了,有可能没有权限 也有可能你的是云主机,部分会是这样的 这种情况只能问一下运维来获取主机的带宽,那我们问来的是什么呢,偷来一张图,获取Speed里的数值,这里就是说是百兆宽带 监控网络吞吐量 sar -n DEV 1 4#1秒采集一次,采集4次 sar -n DEV 1#1秒采集1次,一直采集,直到手动结束 我们需要的是rxpck/s和txpck/s,这两个加起来就是现在总共使用

随机推荐