分布式监控系统之Zabbix主动、被动及web监控

分布式监控系统之Zabbix主动、被动及web监控

作者:佚名 2020-11-24 09:36:19

开发

前端

分布式 今天我们来了解下zabbix的主动监控、被动监控以及web监控相关话题;

 前文我们了解了zabbix的网络发现功能,以及结合action实现自动发现主机并将主机添加到zabbix hosts中,链接指定模板进行监控;回顾请参考 https://www.cnblogs.com/qiuhom-1874/p/14020847.html ;今天我们来了解下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配置文件

  1. [root@node05 ~]# grep -Ei ^[a-z] /etc/zabbix/zabbix_agentd.conf  
  2. PidFile=/var/run/zabbix/zabbix_agentd.pid 
  3. LogFile=/var/log/zabbix/zabbix_agentd.log 
  4. LogFileSize=0 
  5. Server=192.168.0.43 
  6. ServerActive=192.168.0.43 
  7. HostnameItem=system.hostname 
  8. Include=/etc/zabbix/zabbix_agentd.d/*.conf 
  9. [root@node05 ~]#  
  10.  
  11. View Code 

在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工具

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

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

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

提示:-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做测试

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

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

  1. [root@node05 ~]# cp /var/log/messages /usr/share/nginx/html/message.html 
  2. [root@node05 ~]# cp /var/log/lastlog /usr/share/nginx/html/lastlog.html 
  3. [root@node05 ~]# systemctl start nginx.service  
  4. [root@node05 ~]# ss -tnl 
  5. State      Recv-Q Send-Q           Local Address:Port                          Peer Address:Port               
  6. LISTEN     0      128                          *:80                                       *:*                   
  7. LISTEN     0      128                          *:22                                       *:*                   
  8. LISTEN     0      100                  127.0.0.1:25                                       *:*                   
  9. LISTEN     0      128                          *:10050                                    *:*                   
  10. LISTEN     0      128                         :::80                                      :::*                   
  11. LISTEN     0      128                         :::22                                      :::*                   
  12. LISTEN     0      100                        ::1:25                                      :::*                   
  13. LISTEN     0      128                         :::10050                                   :::*                   
  14. [root@node05 ~]# 

在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;修改权限即可;

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

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

  1. [root@node05 ~]# tail /var/log/nginx/access.log          
  2. 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" "-" 
  3. 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" "-" 
  4. 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" "-" 
  5. 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" "-" 
  6. 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" "-" 
  7. 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" "-" 
  8. 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" "-" 
  9. 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" "-" 
  10. 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" "-" 
  11. 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" "-" 
  12. [root@node05 ~]# 

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

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

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/285321.html<

(0)
运维的头像运维
上一篇2025-05-14 20:14
下一篇 2025-05-14 20:15

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注