Zabbix简介

1.Zabbix简介

1.1 什么是Zabbix

  • Zabbix 是由 Alexei Vladishev 创建,目前由 Zabbix SIA 在持续开发和支持。
  • Zabbix 是一个企业级的分布式开源监控方案。
  • Zabbix 是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix 提供了出色的报告和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想方案。
  • Zabbix 支持主动轮询和被动捕获。Zabbix 所有的报告、统计信息和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。
  • Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证第 2 版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。

1.2 Zabbix监控范畴

  1. 硬件监控 :Zabbix IPMI Interface
  2. 系统监控 :Zabbix Agent Interface
  3. Java 监控:ZabbixJMX Interface
  4. 网络设备监抟:Zabbix SNMP Interface
  5. 应用服务监控:Zabbix Agent UserParameter
  6. MySQL 数据库监控:percona-monitoring-plugins
  7. URL监控:Zabbix Web监控

1.3 Zabbix监控系统构成

Server:
      Zabbix server 是监控代理程序报告系统可用性、系统完成整性和统计信息的核心组件。Zabbix Server 是所有配置信息、统计信息和操作数据的核心存储器。

数据库存储:
      所有配置信息和 Zabbix 收集到的数据都被存储在数据库中。

Web 界面:
      为了从任何地方和任何平台都轻松的访问 Zabbix,Zabbix 提供了基于 Web 的界面。该界面是 Zabbix Server 的一部分,通常(但不一定)跟 Zabbix Server 运行在同一台物理机器上。
注:如果使用 SQLite,Zabbix Web 界面必须要跟 Zabbix Server 运行在同一台物理机器上。

Proxy 代理服务器:
      Zabbix proxy 可以替 Zabbix Server 收集性能和可用性数据。Proxy 代理服务器是 Zabbix 软件可选择部署的一部分;当然,Proxy 代理服务器可以帮助单台 Zabbix Server 分担负载压力。

Agent 监控代理:
      Zabbix agents 监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix Server。


1.4 Zabbix组成

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教程系列。

zabbix_java_gateway:
      zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。

你可能感兴趣的:(Zabbix)