跳到主要内容
版本:latest

Phoenix Console

Phoenix Console(Phoenix 服务监控管理平台)是 Phoenix 框架默认提供的轻量级、嵌入式监控平台。该平台共内置多个功能模块:

  • 应用总览:集群、应用配置情况、运行状态(进度)、性能监控、统计面板
  • 集群展示:集群状态、分片情况
  • 内存管理:查看聚合根的内存状态、历史状态回溯查询、命令管理(发送)
  • 事件管理:全局、精确、模糊查询历史事件,事件数量统计
  • 聚合根管理:查询当前集群存活的聚合根及其分配节点、存活时间、启动时间
  • MetaData管理: MetaData 是聚合根的元数据信息, 聚合根可以选择向指定的某个订阅中注册, 此页面用于检索已注册 MetaData.
  • 历史捕获异常:查询框架内部历史捕获的异常信息、堆栈、时间
  • 线程池饥饿检测器: 查询线程池饥饿检测器发出的事件

上述模块可帮助用户对 Phoenix 服务的状态进行实时监控,历史回溯,运维排查。

快速使用

  1. 打开phoenix 服务监控管理平台的控制开关
quantex.phoenix.server.console.enabled: true
  1. 启动 Phoenix 应用服务。

  2. 访问地址:http://ip:port/phx-console

一. 应用总览

应用总览页面展示该 Phoenix服务的一些基本信息和配置。其中包括:

  • 集群信息:服务的运行状态、实例个数、服务中存在的聚合根数量
  • 应用状态:存活聚合根数量及其分配节点
  • 应用流程图:流程图及订阅、发布的进度展示,以及 Phoenix 配置详情(点击元素后展示)
  • 应用配置:聚合根的配置信息及 Command 解析
  • 性能监控:内置的性能流速监控展示

1.1 应用状态总览

1.2 应用状态详情

除了页面默认所展示的内容之外,应用流程图还可以点击展开详细信息,如:订阅进度、应用配置等

二. 集群分片可视化

在Phoenix运行时,最小调度单位为聚合根,在集群管理页面中可以展示Phoenix服务中聚合根的分布情况。

  • 红点: 当前 Phoenix 集群的集群名称
  • 橙点: 当前 Phoenix 集群内的节点的IP和端口
  • 绿点: 聚合根 Shard 集合,数字代表每个 Shard 后聚合根的数量

三. 状态管理

状态管理也可以叫内存管理,可对内存数据进行查询或修改。其中包括聚合根内存数据查询、事务调用链查询 、手动触发快照、发送万能命令等。

提示

默认从快照数据库中查询聚合根列表, 可选择从事件数据库中查询聚合根集合(如查询事务聚合根)。

3.1 内存查询

Phoenix 支持从多个维度对聚合根内存状态进行查询。

  1. 根据版本号进行精确查询(版本号为 -1 时,默认查询聚合根的最新状态)
  2. 根据时间戳查看聚合根的历史状态。
  3. 根据快照版本号查询聚合根历史状态

3.2 状态管理

在内存管理模块中的状态管理处,可以通过指定命令的全路径名和命令的 json 数据直接操作聚合根状态。并有两种命令生成方式可选:

3.3 快照管理

Phoenix 提供手动触发快照功能。可以针对某一聚合根进行快照触发,也可对某一类聚合根进行集体快照触发

注意

事务聚合根不提供该功能。

3.4 事务调用链路图

对于 Phoenix 的事务模块, Console 提供了事务的调用链路追踪图的集成,用户可借助该工具洞悉流程,以及每个流程的事件详情。

四. 事件管理

事件管理模块用于查询历史事件、以及事件详细内容,也支持对历史事件进行一定程度的归档。

1. 多种事件列表查询维度

Console 提供了多种维度的事件查询,以便于用户在不确定事件所处偏移、版本时,协助用户定位。

提示

聚合根 ID 维度中,按消息 ID 查询可查询[MsgId, RequestId, TransID], 例如用 TransID 查询某个分布式事务在当前聚合根的交互事件.

2. 事件详情

事件默认为懒加载模式,仅当用户点击详情时,获取并展示详细事件内容。如果当前事件为异常事件,则可通过异常详情的方式查看异常堆栈。

3. 一键归档

点击一键归档按钮,可对历史事件进行归档,释放事件存储空间。

归档功能逻辑可参考:事件归档

五. 存活聚合根查询

在聚合根管理页面,Console 支持查询当前存活的聚合根,以及该聚合根所在节点、创建时间、存活时间(注解配置的固定值)

提示

注意,存活聚合根的信息不完全实时,可能存在一定的延迟,取决于当前系统负载

六. MetaData 管理

MetaData 目前定义为聚合根的元数据信息,每个聚合根彼此隔离,并通过统一固定的协调者(订阅)来管理和持久化。

因此,在订阅解析命令时,可以通过解析函数(SourceCollect)中通过 CollectMetaDataQuery 接口查询所有聚合根的元数据.

七. 历史异常信息

Phoenix 支持保留一定数量(默认每个节点20)的框架异常事件. 大小参考 Console 配置

用户可以在 Console 中按节点查询异常的基本信息(类型、时间、消息、堆栈)

八. 线程池饥饿事件查询

开启线程池饥饿检查器 后,除了默认的 WARN 警告日志打印之外,饥饿检查器还会发出事件,Phoenix Console 会订阅该事件并缓存 Console (异常堆栈大小 / 3 )大小的历史事件,并支持在 Console 中按节点查询, 并支持查询饥饿发生时,整个线程池的堆栈详情.

提示

线程池饥饿检查器默认情况处于关闭状态,需要用户手动开启.