文章目录

  • 什么是Zabbix?
  • 监控功能
  • 为什么需要对各类系统进行监控?
  • Zabbix是如何实现系统监控的?
    • 一个完整的监控系统所需指标:
    • Zabbix支持的数据采集协议:
    • Zabbix的常用组件:
    • Zabbix架构图:
    • Zabbix逻辑组件:
  • Zabbix实现监控的两种模式:
  • Zabbix工作进程

什么是Zabbix?

zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。(LAMP架构)
zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

监控功能

主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制;
可监控对象:

  1. 设备:服务器、路由器、交换机等
  2. 软件:OS、网络、应用程序等
  3. 主机性能指标监控
  4. 故障监控:宕机,服务器不可用,主机不可达

为什么需要对各类系统进行监控?

在系统构建时的正常流程中,通常是不允许未被监控的系统或应用上线的,因为未被监控的系统存在不可预知性、故障未知性等不稳定因素,且无法及时被发现并排除。这对整个架构或系统来说都是很大的风险隐患。所以我们原则上是需要对整个架构或系统进行监控,随时监测系统各方面的指标是否正常,以提高整个系统的稳定性。

Zabbix是如何实现系统监控的?

一个完整的监控系统所需指标:

  1. 采样:周期性的获取某个被监测指标的相关数据
  2. 存储:将采集到的数据存储在指定的存储系统中,Zabbix默认是MySQL
  3. 展示:采集完数据后,为了使数据能更直观的展现在用户面前,可将采集到的数据做二次处理,做成各类图形。
    Zabbix就是使用的PHP程序将采集的数据通过Web GUI直观的展示给用户。
  4. 报警:当监控的指标出现异常时需要监控系统能自动的发出告警信息,甚至在出现报警后能自动完成修复。

Zabbix支持的数据采集协议:

  1. SNMP:(Simple Network Management Protocol),简单网络管理协议。这是一个非常古老的且通用的监控协议,几乎任何设备都支持用此方式进行系统监控。
  2. Agent:在被监控端安装专门的监控程序,将数据采集后通过Agent发送至Server。
  3. IPMI:智能平台管理接口。可在常用的服务器上看到类似以太网口的接口。
  4. JMX:Java Management Extensions

Zabbix的常用组件:

  1. Zabbix Web GUI:提供Web界面
  2. Zabbix Database:提供数据存储功能,专用于存储配置信息,以及采集到的数据
  3. Zabbix Server:接收Agent采集数据的核心组件。
  4. Zabbix Agent:部署在被监控主机上,用于采集本地数据。
  5. Zabbix Proxy:当被监控节点较多时,用于减轻Server压力的组件,也用于分布式监控系统。由Proxy接收数据后统一发送至Server。

Zabbix架构图:

Zabbix逻辑组件:

主机组(host groups):主机组通常在给用户或用户组指派监控权限时使用
主机(hosts):要监控的网络设备,可由IP或DNS名称指定
应用(application):一组item的集合(mysql,redis,nginx,等)
监控项(items):一个特定监控指标(比如mysql主从状态)的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识
触发器(triggers)一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";
事件(events):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;
动作(actions):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作
媒介(media):发送通知的通道,短信,邮件等
通知(notiflcations):通过选定的媒介向用户发送的有关某事件的信息
远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行
报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等
模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机

Zabbix实现监控的两种模式:

简单的讲,主动模式和被动模式都是将Agent作为参照的

  1. 主动模式:由Agent主动建立TCP链接并向Server端发送请求。
  2. 被动模式:由Server建立TCP链接并向Agent端发送请求。

Zabbix工作进程

默认情况下 zabbix 包含6个进程:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选的,这个需要单独安装。

  • zabbix_agentd
      客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。
  • zabbix_get
      zabbix 工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令。通常用于排错。例如在 server 端获取不到客户端的内存数据,可以使用 zabbix_get 获取客户端的内容的方式来做故障排查。
  • zabbix_sender
      zabbix 工具,用于发送数据给 server 或者 proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致 zabbix 超时。于是在脚本执行完毕之后,使用 sender 主动提价数据。
  • zabbix_server
      zabbix 服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server(说明:当然不是数据都是主动提交给zabbix_server,也有的是 server 主动去取数据)
  • zabbix_proxy
      zabbix 代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到 server 里。
  • zabbix_java_gateway
      zabbix2.0之后引入的一个功能。顾名思义:Java网络,类似agentd,但是只用于 Java 方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到 server 或者proxy。

Zabbix 监控原理及架构(了解zabbix)相关推荐

  1. Zabbix监控原理及架构

    什么是Zabbix? Zabbix是一个用于网络,操作系统和应用程序的开源监控软件,它旨在监视和跟踪各种网络服务,服务器和其他网络硬件的状态. 为什么需要对各类系统进行监控? 在系统构建时的正常流程中 ...

  2. ZABBIX 监控原理及架构

    什么是Zabbix? zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.(LAMP架构) zabbix 能监视各种网络参数,保证服务器系统的安全运营:并 ...

  3. 【Zabbix监控原理】

    一.监控介绍 1.监控目的 监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用. 对系统不间断实时监控 实际上是对系统不间断的实时监控 实时反馈系统当前状态 监控某个硬件.或者系统,都是 ...

  4. zabbix监控原理及配置方法

    1.zabbix简介 zabbix是一个基于WEB页面的提供分布式系统监控以及网络建时功能的企业级的开源解决方案,zabbix能监视各种网络参数,保证服务器系统的安全运营并提供灵活的的通知机制让管理员 ...

  5. Zabbix监控原理

    Zabbix监控完整流程包括:Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送到Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中 ...

  6. Zabbix监控平台安装教程,Zabbix入门教程

    一.概述 1.什么是Zabbix -Zabbix是一个高度集成的监控解决方案 -可以实现企业级的开源分布式监控 -Zabbix通过C/S模式采集监控数据 -Zabbix通过B/S模式通过Web模式使数 ...

  7. Zabbix监控Redis状态(内含Zabbix、Redis福利资料)

    监控redis通过info信息来监控redis的状态 自动发现脚本编写 cat /etc/zabbix/scripts/redis_parameter #自动发现redis脚本参数的脚本 #!/bin ...

  8. 部署Zabbix监控平台,配置及使用Zabbix监控系统,自定义Zabbix监控项目

    案例1:常用系统监控命令 案例2:部署Zabbix监控平台 案例3:配置及使用Zabbix监控系统 案例4:自定义Zabbix监控项目 1 案例1:常用系统监控命令 1.1 问题 本案例要求熟悉查看L ...

  9. Zabbix监控系统架构原理(一)

    zabbix架构及部署 我们这次先安装再进行介绍zabbix 1.什么是监控 监控:监视,控制 随着用户的增量,服务随时可能被系统oom,所谓oom就是out of memory,当系统的负载到达一定 ...

最新文章

  1. 感知不强又徒增功耗?为何今年5G手机也这么重视AI
  2. 面试可能遇到的问题总结【二】
  3. 爱屋及乌 年轻投资者因喜爱Snapchat亏钱也买Snap股票
  4. linux dd 命令详解
  5. 高效向前“零延迟” 数据中心IT自动化势在必行
  6. python 读取命令行输入_python读取命令行参数的方法
  7. 我的世界服务器权限组权限修改器,我的世界权限组指令介绍
  8. python游戏编程之环境配置
  9. access统计行数 vb_VB代码行数统计工具
  10. 电工电子技术知识点总结(基本放大电路)
  11. UE5 GPU崩溃D3D丢失的终极解决办法
  12. IOS Crash信息收集
  13. 联盟 (Alliances)
  14. php公用函数:获取字符串中英文混合长度
  15. 智慧商圈支付宝小程序(ISV系统服务商开发模式)
  16. 多因素分析显示脂肪沉积比炎症损害更能预测强直性脊柱炎患者的脊柱新骨形成...
  17. MATLAB实现多元非线性回归
  18. 2021年基金从业资格考试时间及报名时间
  19. POJ 4113:北京地铁票价-BeiJing Subway
  20. 集成学习:lightGBM(二)

热门文章

  1. Java中final关键字
  2. 熊猫卫士防病毒+防火墙(panda ant 下载
  3. 买卖股票收益最大问题
  4. 利用java8特性Stream流对list集合进行多个属性组装数据
  5. STS(spring tool suit)中git代码拉取和冲突解决
  6. Scrapy爬虫方法
  7. flash三维粒子类的应用与联想
  8. 激光美容机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. 【大数据学习之路之hive】
  10. JavaScript 个人总结(持续更新中)