数据驱动的高端制造大数据管理系统的工具:故障检测和诊断工具
故障检测和诊断工具
(以下简称工具)是数据驱动的高端制造大数据管理系统的分系统之一,也是科技部面向高端制造业大数据管理系统
(以下简称大数据管理系统或系统)重点研发计划的一部分。由于制造业大数据多模态的特性,大数据管理系统需要具备处理时序数据,图数据,结构化数据等多种数据的能力,同时系统需要能够对其中运行的异构数据处理引擎进行监控与管理。基于以上两点需求开发了本工具,本工具是一套面向容器化数据分析的故障管理工具,基于开源的容器编排工具Kubernetes
,利用Kubernetes
针对容器强大的管理能力,根据系统监控与故障检测工具所要完成的具体工作,将其划分为以下三层:
1).数据采集层:通过数据采集模块采集系统所在集群的各节点以及各数据管理组件的运行状态、日志等信息,并通过数据存储模块对采集到的信息进行持久化存储。
指标采集: Kubernetes本身提供了指标采集代理cAdvisor和指标汇总组件Heapster,这两个组件结合可以采集到集群内所有节点、容器、封装容器的Pod以及Kubernetes自身的性能指标数据。因而使用cAdvisor + Heapster + InfluxDB作为性能指标采集方案。 上述性能指标采集方案无法采集各数据管理组件的性能指标数据。因此: 各数据管理组件的性能指标数据采集:数据管理组件IoTDB、KVStore、InGraphDB、UnStructFS均由Java语言开发,并且提供了JMX的方式向外暴露运行状态,因而这四个组件的采集代理均使用Java语言通过JMX的方式定期收集指标信息。组件KingBase是通过系统性能库的方式暴露运行状态,因而该组件的采集代理采用JDBC连接数据库并访问系统性能表的方式定期收集指标信息;
日志采集:采用Fluentd作为日志采集代理,并自定义采集插件完成日志采集任务。使用Elasticsearch作为日志信息的存储分析引擎
部署集群规模:最低3个节点。
操作系统:ubuntu 16.04。
内存:主节点(管理节点)至少32GB;从节点至少16GB。
硬盘:每个节点至少需要有两块物理硬盘或虚拟硬盘且每块硬盘的剩余空间不少于100GB。
Java运行环境:JDK1.8及其以上。
Tomcat环境:Tomcat1.9及其以上。
Kubernetes环境:需要Kubernetes
版本1.9.6以上。
本工具主要基于Kuberbetes集群进行相关的开发,主要由信息采集存与存储模块和故障检测与诊断模块组成,其使用与操作主要介绍这两部分的安装与使用。
故障检测与诊断工具主要是对kubernetes集群上的各种运行组件进行故障检测与诊断,集群需要安装以下组件:
Kubernetes
KingBase 5.6+
IoTDB
KVStore
InGraphDB
信息采集模块主要分为三部分:一部分是关于集群、pod、docker相关的指标信息和关于数据管理组件的相关信息;另一部分是关于日志信息的采集;最后一部分是日志信息的采集。
集群、pod、docker相关指标采集的主要采用cAdvisor+Heapster的方式:
数据管理组件指标采集主要通过自行开发Agent实现相关信息的采集:
日志信息采集采用Elasticsearch+Fluentd的方式:
Kubernetes中Kubelet集成了cAdvisor,无需在进行额外的安装。
设置Kubernetes集群,确保kubectl访问集群。
启动所有的Pod和服务:
① git clone https://github.com/kubernetes/heapster/tree/master/
② kubectl create -f deploy/kube-config/influxdb/
③ kubectl create -f deploy/kube-config/rbac/heapster-rbac.yaml
将采集Agent程序放入相应的数据库容器中,当启动数据库时同时启动指标采集程序。
故障检测与诊断模块的实现使用了java web的架Spring + SpringMVC + Mybatis框,工程运行在Tomcat 9.x的服务器上。本工程被打包为基于Tomcat 9.x的Docker镜像,只需要在kubernetes集群上以Pod方式启动自定义的Tomcat9.x的Docker镜像即可运行故障检测与诊断模块的所有功能。安装过程如下:
将本仓库clone或下载到本地同时更新/src/config.xml
配置文件,将其中的Kubernetes
服务地址,镜像私有仓库地址等条目更新为使用者真实的地址,然后可以在本地或服务端将源代码编译成war包或其他形式,编译完成后发布到集群的Tomcat服务器中。
启动集群中的Tomcat服务器,然后根据Tomcat所在服务器的IP地址开放端口等情况访问该URLhttp://YourIP:YourPort/detection
查看工具运行是否正常。
如果您在使用中有任何问题或者发现工具有任何Bug,欢迎您在本仓库的Issues
模块留下您的意见或建议。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型