一、zabbix应用组件、服务进程介绍

Zabbix主要有几个组件构成,这些组件的功能介绍如下:

1、Zabbix Server

     Zabbix Server是Zabbix的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。 它主要负责接收客户端发送的报告和信息,同时,所有配置、统计数据及配置操作数据均由其组织进行。

2、Zabbix Database Storage

     主要用于存储数据,所有配置信息和Zabbix收集到的数据都被存储在数据库中。常用的存储设备有MySQL、Oracle、SQLite等。

3、Zabbix Web 界面

     这是Zabbix提供的GUI接口,通常(但不一定)与Zabbix Server运行在同一台物理机器上。

4、Zabbix Proxy代理服务器

     这是一个可选组件,常用于分布监控环境中,代理Server可以替Zabbix Server收集性能和可用性数据,汇总后统一发往Zabbix Server端。

5、Zabbix Agent监控代理

      Zabbix Agent部署在被监控主机上,能够主动监控本地资源和应用程序,并负责收集数据发往Zabbix Server端或Zabbix Proxy端。从zabbix5版本开始,zabbix_agent分为zabbix_agent和zabbix_agent2,zabbix_agent2是第二个agent版本,功能更加强大,采用go语言编写,支持zabbix_agent所有功能。使用zabbix_agent2可监控docker容器、ceph、mysql、oracle、redis等。



根据功能和用途,默认情况下zabbix包含5个进程,分别是zabbix_agentd/zabbix_agent2、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外还有一个zabbix_java_gateway是可选的功能,需要另外安装。下面分别介绍下它们各自的作用。

1、zabbix_agentd/zabbix_agent2

      zabbix_agentd/agent2是Zabbix Agent监控代理端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘、网络使用情况等,推荐使用zabbix_agent2。

2、zabbix_get

      zabbix提供的一个工具,通常在Zabbix server或者Zabbix proxy端执行用来获取远程客户端信息,这其实是Zabbix server去Zabbix Agent端拉取数据的过程,此工具主要用来进行用户排错。例如在Zabbix server端获取不到客户端的监控数据时,可以使用zabbix_get命令测试获取客户端数据来做故障排查。

3、zabbix_sender

     zabbix提供的一个工具,用于发送数据给Zabbix server或者Zabbix proxy,这其实是Zabbix Agent端主动推送监控数据到Zabbix Server端的过程,通常用于耗时比较长的检查或者有大量主机(千台以上)需要监控的场景。此时通过主动推送数据到Zabbix server,可以在很大程度上减轻Zabbix server的压力和负载。 

4、zabbix_proxy

      Zabbix _Proxy的代理守护进程。功能类似Zabbix server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交或者被提交到Zabbix server上。

5、zabbix_java_gateway

     Zabbix2.0之后引入的一个功能。顾名思义:Java网关,主要用来监控JAVA应用环境,类似zabbix_agentd进程。需要特别注意的是,它只能主动去推送数据,而不能等待zabbix server或者zabbix proxy来拉取数据。它的数据最终会给到zabbix server或者zabbix proxy上。 

6、zabbix_server

     Zabbix server是整个Zabbix系统的核心进程。其它进程zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到Zabbix server来统一进行处理。

Zabbix的运行架构如下图所示 

一、zabbix应用组件、服务进程介绍

 

一、zabbix应用组件、服务进程介绍

上一篇:Linux su命令:su命令语法、su root与su - root区别、su与sudo区别、su -c 参数的使用理解


下一篇:新手向计算机网络实验