================================ 2 节点 ================================ .. contents:: 概述 -------------------------- 你可以利用节点(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 .. 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* 去查看它的参数 .. image:: /_static/images/distributed_monitoring/node_local.png 节点选项如下: ============== ======================================================================================= 参数 描述 ============== ======================================================================================= Name 唯一的节点名称 Id 唯一的节点ID,该值来源于配置文件中 **NodeID** Type **Local** - 本节点节点 IP 本节点IP地址, Zabbix trapper必须在本地址上监听端口 Port 本节点端口. Zabbix trapper必须监听本端口,默认为10051 ============== ======================================================================================= 接下来添加子节点: * 在 *Administration* -> *DM* 中点击 *New node* .. image:: /_static/images/distributed_monitoring/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* .. image:: /_static/images/distributed_monitoring/node_a.png 节点参数: +--------------+---------------------------------------------------------------------------+ |Name |唯一的主节点名称 | +--------------+---------------------------------------------------------------------------+ |Id |唯一的主节点ID,该值来源于主节点配置文件的 **NodeID** | +--------------+---------------------------------------------------------------------------+ |Type | 可供选择的参数有: | | | **Child** - 子节点 | | | **Master** - 主节点 | +--------------+---------------------------------------------------------------------------+ |IP |主节点IP地址. 主节点的Zabbix trapper必须在本地址上进行监听 | +--------------+---------------------------------------------------------------------------+ |Port |主节点的端口号. 主节点的Zabbix trapper必须在本端口上进行监听,默认为10051 | +--------------+---------------------------------------------------------------------------+ 启动server守护进程 ^^^^^^^^^^^^^^^^^^^^^^^^^ 完成简单的分布式配置后,可以启动zabbix_server,使其作为主节点的守护进程. 显示 ------------------------- 就如刚才节点的配置,在Zabbix前端的节点下拉框中将有一个或多个节点. .. image:: /_static/images/distributed_monitoring/node_current.png 选择一个,前端将会列出选择节点的所有信息. 更复杂的配置 ----------------------------- 你可以建立更复杂,更多层级的监控. 接下来的例子中,Rigo(Node 4)将收集所有子节点的事件和历史数据. .. image:: /_static/images/distributed_monitoring/confguring_nodes8.png