littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于Python的OS拓扑与根因分析系统

项目简介

本项目名为“gala-spider”,是基于Python实现的OS级别拓扑感知服务和根因推理服务。它能定期获取OS层面数据采集软件(如gala-gopher)的数据,计算观测对象间的拓扑关系,将生成的拓扑图保存到图数据库ArangoDB。同时,具备异常KPI的根因定位能力,可基于异常检测结果和拓扑图推理,并将结果输出到Kafka。

项目的主要特性和功能

  1. OS级别拓扑图绘制:通过spider-storage模块,定期获取gala-gopher采集的数据,计算并存储OS级别的拓扑图到ArangoDB中。
  2. 根因定位:通过gala-inference模块,基于异常检测结果和拓扑图,推理出异常KPI的根因,并将结果输出到Kafka。
  3. 外部依赖:依赖Prometheus、Kafka和ArangoDB等外部组件,确保数据的采集、存储和处理的高效性。

安装使用步骤

假设用户已经下载了本项目的源码文件,以下是具体安装使用步骤:

1. 环境准备

确保已安装以下依赖: - Python 3.x - Docker(可选,用于容器化部署) - Prometheus - Kafka - ArangoDB

2. 源码编译与安装

spider-storage

  1. 构建: sh /usr/bin/python3 setup.py build
  2. 安装: sh /usr/bin/python3 setup.py install
  3. 运行: sh spider-storage

gala-inference

  1. 构建: sh /usr/bin/python3 setup.py build
  2. 安装: sh /usr/bin/python3 setup.py install
  3. 运行: sh gala-inference

3. 基于RPM包安装

spider-storage

  1. 配置yum源: sh yum install gala-spider
  2. 运行: sh systemctl start gala-spider

gala-inference

  1. 配置yum源: sh yum install gala-inference
  2. 运行: sh systemctl start gala-inference

4. 基于Docker容器化部署

spider-storage

  1. 生成容器镜像: sh docker build -f ./ci/gala-spider/Dockerfile -t gala-spider:1.0.0 .
  2. 运行容器: 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

  1. 生成容器镜像: sh docker build -f ./ci/gala-inference/Dockerfile -t gala-inference:1.0.0 .
  2. 运行容器: 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部署

  1. 通过RPM部署: sh yum install arangodb3 systemctl start arangodb3
  2. 通过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

使用指南

项目路线图

| 特性 | 发布时间 | 发布版本 | | ------------------------------------------------------------ | -------- | ------------------- | | 基于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】