2 节点

概述

你可以利用节点(node)在分布式环境中建立层级(hierarchy)结构.

每一个节点(node)具有完整的Zabbix server特性,监控本地区域. Zabbix在分布式环境中支持多达上千个节点.

建立节点(node)的好处:

  • 在大型网络环境(包括果然物理区域)中利用节点可以建立一个多层级的监控环境. 层级中的每一个节点(node)汇报对象只有它的主(master)节点.
  • 节点可以进行本地配置或者通过它的主(具有所有子节点配置数据)完成配置.
  • 当连通出现问题时,数据聚合不受影响。 当主节点与子节点连接失败时,及节点将继续执行,历史数据和事件将存储在本地. 当连接恢复后,子节点将随时发送数据至主节点.
  • 节点将切分原先单一Zabbix server功能,进而进行监控成千上万主机.
  • 附属分离新节点并不会影响已存在的功能, 也不需要重启其他节点.

平台独立

节点可能使用自己的平台(OS, 硬件)和数据库,而与其他节点相互独立. 当然子节点可以不安装Zabbix前端.

更高登记的节点应该使用更好的硬件,用MySQL InnoDB、Oracle或者PostgreSQL作为数据后端.

Warning

使用SQLite作为数据库后端分布式监控将无法运行.

配置

节点配置

Zabbix server可以标准安装而不配置作为分布式环境中的一个节点. 可以通过以下配置把它作为一个节点:

  • 在server配置文件(zabbix_server.conf)中指定唯一的 NodeID ,允许的数字为: 1-999 (0为独立server的默认值)

  • 关闭Zabbix_server,确保当前没有运行.

  • 为分布式建立转换数据库数据,通过运行:

    zabbix_server -n <node id>
    

Warning

请注意该命令只能运行一次.运行两次将损坏数据库,请确保运行时使用了正确的节点ID

例如你可以运行以下命令(假设节点ID为1):

cd bin
./zabbix_server -n 1 -c /usr/local/etc/zabbix_server.conf

Note

使用-n参数运行zabbix_server 并不会启动服务进程.

建立的过程非常简单,假设我们使用本节点(NodeID=1)作为主(master)节点, 继续配置其他节点作为子(child)节点, 使用相同的方法,只是使用不用的节点id,如‘2’. 两个节点配置完成后,是时候在Zabbix前端添加它们以建立主-子(master-child)关系.

前端配置(主节点)

配置在主节点上进行,打开它的Zabbix前端:

  • 前往 Administration -> DM
  • 选择 右侧下拉框中的 Nodes
  • 点击 Local node 去查看它的参数
../../_images/node_local.png

节点选项如下:

参数 描述
Name 唯一的节点名称
Id 唯一的节点ID,该值来源于配置文件中 NodeID
Type Local - 本节点节点
IP 本节点IP地址, Zabbix trapper必须在本地址上监听端口
Port 本节点端口. Zabbix trapper必须监听本端口,默认为10051

接下来添加子节点:

  • Administration -> DM 中点击 New node
../../_images/node_b.png

节点参数:

Name 唯一的子节点名称
Id 唯一的节点ID,该值来源于子节点配置文件的 NodeID
Type 可供选择的参数有: Child - 子节点 Master - 主节点
Master node 选择该子节点的主节点
IP 子节点IP地址. Zabbix trapper必须在本地址上进行监听
Port 子节点的端口号. Zabbix trapper必须在本端口上进行监听,默认为10051

前端配置(子节点)

配置在子节点上进行,打开它的Zabbix前端:

  • 前往 Administration -> DM
  • 选择 右侧下拉框中的 Nodes
  • 点击 Local node 去查看它的参数(接下来你将看到如何去配置本节点)

然后添加主节点:

  • Administration -> DM 中点击 New node
../../_images/node_a.png

节点参数:

Name 唯一的主节点名称
Id 唯一的主节点ID,该值来源于主节点配置文件的 NodeID
Type 可供选择的参数有: Child - 子节点 Master - 主节点
IP 主节点IP地址. 主节点的Zabbix trapper必须在本地址上进行监听
Port 主节点的端口号. 主节点的Zabbix trapper必须在本端口上进行监听,默认为10051

启动server守护进程

完成简单的分布式配置后,可以启动zabbix_server,使其作为主节点的守护进程.

显示

就如刚才节点的配置,在Zabbix前端的节点下拉框中将有一个或多个节点.

../../_images/node_current.png

选择一个,前端将会列出选择节点的所有信息.

更复杂的配置

你可以建立更复杂,更多层级的监控.

接下来的例子中,Rigo(Node 4)将收集所有子节点的事件和历史数据.

../../_images/confguring_nodes8.png