为了方便CITA服务的运维,我们开发了 CITA 的监控服务,可用于监控节点中CITA的服务运行情况,包括区块链数据、CITA进程的存活监控、运行环境监控、故障自动告警通知。
软件架构:基于 Prometheus 框架开发;使用 Grafana 做可视化面板;使用 Alertmanager 做告警消息分发;运行架构上分为用于数据存储、信息展示、告警分发的 Server 端;区块链数据、软件进程、运行环境监控指标收集的 Agent 端;各端均使用微服务架构分离功能职责,并使用 Docker Compose 部署方式解决服务的依赖管理,轻松做到一行命令更新、启动服务。
- CITA 服务进程监控
- CITA 微服务及MQ进程的存活、进程的 CPU、内存使用率、IO
- 区块链数据健康监控
- 节点出块高度历史、出块时间、出块间隔趋势、Quota、交易量历史、TPS、磁盘占用比例、数据目录大小增长趋势
- 运行环境监控
- 主机运行环境的系统负载、CPU、内存、磁盘空间使用情况、网络流量、TCP 连接数等
- 故障告警通知
- 监控告警策略
- 支持邮件通知、Slack 通知、短信通知(Pro 版)
- Summary Dashboard
- 各节点最新块高
- 各节点监控进程存活
- 各节点 CPU 使用率变化
- 节点列表
- CITA Node Info Dashboard
- CITA Meta Data - 链的配置信息,如 Chain Name、创建时间等
- Chain Info - 链的最新块高、共识节点数、共识节点出块历史趋势
- Node Info - 选定节点的详细信息,包括区块链数据、运行环境、运行软件信息
- Host Info Dashboard
- 各节点运行主机的信息,包括系统负载、CPU、内存、硬盘使用率、网络流量
- Process Info Dashboard
- 节点中 CITA 微服进程的存活历史、CPU、内存、IO 变化历史
- RabbitMQ Dashboard
- RabbitMQ 服务的存活状态、channels 、consumers、connections、queues 等的变化记录