openEuler 智能运维工具gala-ops(隶属于A-Ops) 安装部署指南

A-Ops是基于云原生场景、在openEuler社区规划&孵化的智能运维平台项目,具体的背景与特性说明见 A-Ops官方文档。本文主要介绍A-Ops中的核心组件gala-ops的安装部署过程,以便帮助用户快速在本地搭建环境与使用。

gala-ops系统集成架构

安装部署前,需要先了解gala-ops的集成架构,如下图所示。除了gala-ops自身的gala-gopher/gala-anteater/gala-spider/gala-inference 四个组件外,gala-ops还依赖一些开源软件,kafka用于传输logs/tracing类数据至ES/logstash/jaeger,prometheus用于存储Metrics数据,Arangodb用于存储实时拓扑数据,grafana用于前端页面展示。

环境准备

  1. 准备至少两台部署了openEuler操作系统的机器(物理机、虚拟机均可)并保证可以正常连通公网(内网需要配置代理),建议操作系统版本是openEuler 22.03 LTS及以上,机器规格至少为4U8G。

    • 机器A:生产节点,即需要监控运维的目标节点,上面一般运行着业务进程(如数据库、redis、ceph),用于部署高保真采集组件gala-gopher。
      注:如果有多台生产节点,则每个节点上都需要部署gala-gopher。

    • 机器B:管理节点,用于部署kafka等中间件以及gala-ops的异常检测、根因定位组件。这些组件的部署相对灵活,可以准备多台管理节点分开部署,只要节点之间网络通即可。

  2. 在每台环境上下载A-Ops提供的集成式部署工具A-Ops-Tools,部署工具的使用约束说明与所有支持选项详细说明可参照A-Ops-Tools部署工具手册
    ① 下载部署工具压缩包:wget https://gitee.com/Vchanger/a-ops-tools/repository/archive/master.zip --no-check-certificate
    ② 使用unzip解压压缩包后进入对应目录即可使用

管理节点部署中间件

执行如下命令安装、配置、启动kafka/prometheus/elasticsearch/logstash/arangodb服务,-K/-P/-E/-A选项支持分开使用单独部署对应组件,其中-P用于配置prometheus服务端抓取消息的来源地址(即部署gala-gopher的生产节点)列表,每个地址之间用英文逗号分隔;elasticsearch/logstash由于存在依赖关系,通过-E选项统一控制、绑定安装。

sh deploy.sh middleware -K <kafka服务器监听地址> -P <prometheus抓取源地址1[,prometheus抓取源地址2,prometheus抓取源地址3,...]> -E <elasticsearch服务监听地址> -A

生产节点部署gala-gopher

  1. rpm方式(仅支持openEuler 22.03 LTS/openEuler 22.03 LTS SP1)
sh deploy.sh gopher -K <kafka服务器地址> -p <pyroscope服务器地址>
  1. 容器镜像方式:
sh deploy.sh gopher -K <kafka服务器地址>  -p <pyroscope服务器地址> --docker --tag <容器镜像tag>

注:目前支持的镜像版本tag有:20.03-lts,20.03-lts-sp1,22.03-lts,22.03-lts-sp1

管理节点部署gala-ops

gala-ops组件支持rpm、容器镜像两种部署方式,部署时需要指定kafka、prometheus、arangodb服务器地址,当不指定时,这些中间件的地址默认使用localhost。

  1. rpm方式(仅支持openEuler 22.03 LTS/openEuler 22.03 LTS SP1)
sh deploy.sh ops -K <kafka服务器地址> -P <prometheus服务器地址> -A <arangodb地址>
  1. 容器镜像方式:
sh deploy.sh ops -K <kafka服务器地址> -P <prometheus服务器地址> -A <arangodb地址> --docker

管理节点部署前端页面grafana

执行如下命令完成部署,grafana会以容器实例方式运行。

sh deploy.sh grafana -P <Prometheus服务器地址> -E <es服务器地址>

完成上述部署动作后,即可通过浏览器访问“http://[部署节点IP]:3000” 登录grafana来使用gala-ops,登录用户名、密码默认均为admin,前端页面效果如下:

FAQ

Q: 完成部署后grafana页面上主机拓扑图无法显示
A: 主机topo图用于展示host-guest的逻辑关系,如果是单生产节点或者两个节点间不是host-guest关系,主机topo图就无法展示

Q:gala-ops目前支持哪些版本的操作系统
A:gala-ops目前只在openEuler 22.03 LTS SP1正式发布,对于低版本的openEuler(例如openEuler 20.03 LTS SP1),我们也提供了容器镜像方便用户部署。部署操作可参考gala-gopher容器部署指导
暂不支持除了openEuler的开源操作系统。

2 个赞

脚本里面有个url不对哦

这个地址是openEuler 22.03 lts的每日构建地址,会每天更新,如果构建还未完成,源就不能生效,因此不太稳定,如果遇到这种情况,可以手动替换成:http://121.36.84.172/dailybuild/openEuler-22.03-LTS/openeuler-2023-02-13-12-26-40/EPOL/main/

1 个赞

好的 已部署成功,多谢

请问下,这个能部署在边缘设备 上么,ARM 版本有么?

非常好,感谢教学。提醒下,需要双向关闭防火墙,或者开通相应端口。
建议安装net-tools 管理端 grafana镜像过程中需要用到netstat。

yum install net-tools

目前已知端口 客户端 8888
管理端 4040

1 个赞


我是在嵌入式版本上部署gala-gopher,版本是22.03-LTS-SP1,无论是rpm还是docker部署,都是出现图中所示错误,请问是什么原因呢?服务器版本的正常。

A-OPS安装以后, 智能定位----> 工作流 里面的 应用不能新增新应用?

grafana仓库地址是不是修改了?部署脚本拉docker镜像失败了,貌似名字加了架构后缀x86之类的。

部署脚本已更新并迁移至正式仓,可以参照最新的部署指导进行部署:gala-docs: Handbook and requirements documentation

1 个赞