关于Foglight 的联盟(Federation)方式

联盟方式(Federation)是Foglight为满足用户监控大规模环境部署需求提供的功能,将环境自然地划分为逻辑单元,每个逻辑单元都是一个传统的Foglight 管理服务器。

Foglight联盟方式可以使用一个Foglight管理服务器管理整个环境,而其他Foglight 管理服务器作为数据源。用户可以通过一个管理服务器访问其他服务的数据和视图。

联盟的结构:

Federation Master和 Federation Children

联盟的具体功能:

  • 在多个Foglight管理服务器之间统一和周期性同步模型;
  • 按用户界面的需求从一个或多个Foglight 管理服务器获取数据;
  • 可跨Foglight  管理服务器构造应用和服务;
  • 通过从多个Foglight管理服务器采集所需运行时数据,可处理和存储时间驱动的指标;
  • 通过从多个Foglight 管理服务器采集所需的运行时数据,可处理和执行时间驱动的规则动作;

联盟的特性可提供::

  • 浏览完整全面技术视图,Federated Children 可运行也可不运行;
  • 可在Federation Master上查看图表数据,按需获取;
  • 警报视图可显示所有当前警报,包括所有Federated Children;
  • 可在Federated Children基础上,定义服务,增加服务,分类和对象;
  • 可创建时间驱动的规则,派生指标;
  • 可确认和清除来自Federated Children的所有警报;

联盟的通讯通道

拓扑信息将定期从所有服务器上获取,保存到federation database.当界面请求拓扑信息时,将从本地federation database中获取。

Federation Master 自动与 Federated Children同步拓扑类型,例如: 属性,指标和观测定义等,但是类型和属性注释除外。拓扑类型在每个同步周期的开始抓取到Federation Master;

通信端口

联盟的连接通常是从Federation Master 到 Federated Child方向,一旦建立,数据的传送就是双向的。

JRMP 4444:Federation Master 需要此端口与 Federated Children 做一般通信;

JNDI JNP 1099:Federation Master在连接设置过程中使用此端口;

JNDI RMI 1098:Federation Master 和Federated Children 使用此端口传输JNDI请求/响应; 

配置联盟环境

 Federation Master: 在文件 server.config 中设置,

server.federation = true;

在 federation.config 文件中,设置每个federated children,例如:

JndiURLs = (
"jnp://child1.example.com:1099",
"jnp://child2.example.com:2099",
"jnp://child3.example.com:1099",
);