关于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", );