项目简介
本项目名为“gala-spider”,是基于Python实现的OS级别拓扑感知服务和根因推理服务。它能定期获取OS层面数据采集软件(如gala-gopher)的数据,计算观测对象间的拓扑关系,将生成的拓扑图保存到图数据库ArangoDB。同时,具备异常KPI的根因定位能力,可基于异常检测结果和拓扑图推理,并将结果输出到Kafka。
项目的主要特性和功能
- OS级别拓扑图绘制:通过spider-storage模块,定期获取gala-gopher采集的数据,计算并存储OS级别的拓扑图到ArangoDB中。
- 根因定位:通过gala-inference模块,基于异常检测结果和拓扑图,推理出异常KPI的根因,并将结果输出到Kafka。
- 外部依赖:依赖Prometheus、Kafka和ArangoDB等外部组件,确保数据的采集、存储和处理的高效性。
安装使用步骤
假设用户已经下载了本项目的源码文件,以下是具体安装使用步骤:
1. 环境准备
确保已安装以下依赖: - Python 3.x - Docker(可选,用于容器化部署) - Prometheus - Kafka - ArangoDB
2. 源码编译与安装
spider-storage
- 构建:
sh /usr/bin/python3 setup.py build
- 安装:
sh /usr/bin/python3 setup.py install
- 运行:
sh spider-storage
gala-inference
- 构建:
sh /usr/bin/python3 setup.py build
- 安装:
sh /usr/bin/python3 setup.py install
- 运行:
sh gala-inference
3. 基于RPM包安装
spider-storage
- 配置yum源:
sh yum install gala-spider
- 运行:
sh systemctl start gala-spider
gala-inference
- 配置yum源:
sh yum install gala-inference
- 运行:
sh systemctl start gala-inference
4. 基于Docker容器化部署
spider-storage
- 生成容器镜像:
sh docker build -f ./ci/gala-spider/Dockerfile -t gala-spider:1.0.0 .
- 运行容器:
sh docker run -e prometheus_server=192.168.122.251:9090 -e arangodb_server=192.168.122.103:8529 -e kafka_server=192.168.122.251:9092 -e log_level=DEBUG gala-spider:1.0.0
gala-inference
- 生成容器镜像:
sh docker build -f ./ci/gala-inference/Dockerfile -t gala-inference:1.0.0 .
- 运行容器:
sh docker run -e prometheus_server=192.168.122.251:9090 -e arangodb_server=192.168.122.103:8529 -e kafka_server=192.168.122.251:9092 -e log_level=DEBUG gala-inference:1.0.0
5. 外部依赖软件部署
ArangoDB部署
- 通过RPM部署:
sh yum install arangodb3 systemctl start arangodb3
- 通过Docker部署:
sh docker run -e ARANGO_NO_AUTH=1 -p 192.168.0.1:10000:8529 arangodb/arangodb arangod --server.endpoint tcp://0.0.0.0:8529
使用指南
- 配置文件介绍:详细配置文件介绍请参考配置文件介绍。
- 3D拓扑图分层架构:详细分层架构请参考3D拓扑图分层架构。
- 接口文档:
- 拓扑图查询Restful API
- 根因定位结果API
- 如何新增观测对象:详细步骤请参考如何新增观测对象。
项目路线图
| 特性 | 发布时间 | 发布版本 | | ------------------------------------------------------------ | -------- | ------------------- | | 基于TCP会话构建应用实时业务拓扑(包括Nginx、Haproxy等会话) | 22.12 | openEuler 22.03 SP1 | | 构建主机内应用资源依赖拓扑(包括QEMU的拓扑关系) | 22.12 | openEuler 22.03 SP1 | | 基于L7层会话构建K8S POD实时拓扑(包括HTTP1.X/MySQL/PGSQL/Redis/Kafka/MongoDB/DNS/RocketMQ) | 23.09 | openEuler 22.03 SP1 | | 构建分布式存储实时拓扑(Ceph) | 24.03 | openEuler 24.03 |
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】