系统介绍
智迩CheerOcean平台是一提升运维效率的服务器管理解决方案,可以方便高效的管理集群节点中服务及配置
标识 | 应用组件 | 应用说明 |
---|---|---|
智迩CheerOcean平台主机 | nginx | 平台web端 |
时序数据库 | TDengine | 集群节点实时消息刷新(比如硬件信息、节点存活状态以及后续需要的各种时序数据) |
后台服务 | server | 后台处理程序 |
节点机代理(Agent) | probe | 节点客户端信息采集程序 |
全文索引数据库 | Elasticsearch | 日志过滤、搜索和显示 |
关系型数据库 | MySQL | 平台操作关系型数据存储库 |
JRE运行时环境 | Java | ES安装和运行需要Java开发环境 |
应用组件
web端
使用vue+ant-design的web管理界面,使用echarts进行图表展示
服务端主体程序
服务端web程序,采用模块化的功能开发以及license授权机制进行分发控制,支持任意功能组合以及节点数限制
License服务
随主程序启动,根据机器码解密license文件并解析为模块配置等元信息,作为api中间件进行服务控制
探针程序
探针程序由服务端程序分发至节点机器,经预设的配置运行,主程序通过grpc连接探针服务
JMX代理
jmx代理程序,服务端主程序启动时连接程序,通过grpc与主程序交换数据,通过jmx来管理和监控Tomcat,JBoss,WebLogic等服务(JMX服务是JDK官方提供的Java程序性能监控程,提供网络、API、客户端三个层次的调用)
TDengine
开源时序数据库,用于存储节点机器中采集的指标和资源(cpu,mem,io)以及节点存活状态等大量时序指标
Elasticsearch
开源全文搜索引擎,主程序连接日志文件汇总,用于节点日志检索分析 Elasticsearch是一个建立在 Apache Lucene 基础上的实时的分布式搜索和分析引擎,是基于Lucene实现的、当今最先进,最高效的全功能开源搜索引擎框架。分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。实时分析的分布式搜索引擎。可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。考虑到elasticsearch的可扩展性和全文索引,选择ES作为平台实时搜索数据库。 通过在节点机器上运行的探针程序持续搜集到的一些信息到主服务程序处理后给elasticsearch建立全文索引,通过过滤关键字索引后,按照平台上人性化定制的日志输出格式给客户展示。 因为elasticsearch安装和运行依赖Java环境,所以需要在ES服务器上安装Java运行时环境。
MySQL
服务端主程序关系数据存储
License设计
license验证(随程序启动,调用inotify监控)
- 获取服务器机器码
- 读取license文件
- 以机器码为key解密license文件(aes-256)
- 解密信息并解析为节点总数,订阅模块等元信息
license生成
- 输入机器码
- 输入各个模块的开启状态过期时间等信息
- 将输入的信息转换为预定义的结构体
- 以机器码为key加密并生成license文件,文件名为输入的机器码,后缀名为license,二进制格式.