长期支持版本

    社区创新版本

      A-Ops部署指南

      一、环境要求

      • 2台openEuler 22.09机器

        分别用于部署check模块的两种模式:调度器,执行器。其他服务如mysql、elasticsearch、aops-manager等可在任意一台机器独立部署,为便于操作,将这些服务部署在机器A。

      • 内存尽量为8G+

      二、配置部署环境

      机器A:

      机器A需部署的aops服务有:aops-tools、aops-manager、aops-check、aops-web、aops-agent、gala-gopher。

      需部署的第三方服务有:mysql、elasticsearch、zookeeper、kafka、prometheus。

      具体部署步骤如下:

      2.1 关闭防火墙

      关闭本节点防火墙:

      systemctl stop firewalld
      systemctl disable firewalld
      systemctl status firewalld
      

      2.2 部署aops-tools

      安装aops-tools:

      yum install aops-tools
      

      2.3 部署数据库[mysql、elasticsearch]

      2.3.1 部署mysql

      使用安装aops-tools时安装的aops-basedatabase脚本进行安装。

      cd /opt/aops/aops_tools
      ./aops-basedatabase mysql
      

      修改mysql配置文件:

      vim /etc/my.cnf
      

      新增bind-address, 值为本机ip :

      1662346986112

      重启mysql服务 :

      systemctl restart mysqld
      

      连接数据库,设置权限:

      mysql
      show databases;
      use mysql;
      select user,host from user;//出现user为root,host为localhost时,说明mysql只允许本机连接,外网和本地软件客户端则无法连接。
      update user set host = '%' where user='root';
      flush privileges;//刷新权限
      exit
      
      2.3.2 部署elasticsearch

      使用安装aops-tools时安装的aops-basedatabase脚本进行安装。

      cd /opt/aops/aops_tools
      ./aops-basedatabase elasticsearch
      

      修改配置文件:

      修改elasticsearch配置文件:

      vim /etc/elasticsearch/elasticsearch.yml
      

      1662370718890

      1662370575036

      1662370776219

      重启elasticsearch服务:

      systemctl restart elasticsearch
      

      2.4 部署aops-manager

      安装aops-manager:

      yum install aops-manager
      

      修改配置文件:

      vim /etc/aops/manager.ini
      

      将配置文件中各服务的地址修改为真实地址,由于将所有服务都部署在机器A,故需把IP地址配为机器A的地址。

      [manager]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=11111
      host_vault_dir=/opt/aops
      host_vars=/opt/aops/host_vars
      
      [uwsgi]
      wsgi-file=manage.py
      daemonize=/var/log/aops/uwsgi/manager.log
      http-timeout=600
      harakiri=600
      
      [elasticsearch]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=9200
      max_es_query_num=10000000
      
      [mysql]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=3306
      database_name=aops
      engine_format=mysql+pymysql://@%s:%s/%s
      pool_size=10000
      pool_recycle=7200
      
      [aops_check]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=11112
      

      启动aops-manager服务:

      systemctl start aops-manager
      

      2.5 部署aops-web

      安装aops-web:

      yum install aops-web
      

      修改配置文件,由于将所有服务都部署在机器A,故需将web访问的各服务地址配置成机器A的真实ip。

      vim /etc/nginx/aops-nginx.conf
      

      部分服务配置截图:

      1662378186528

      开启aops-web服务:

      systemctl start aops-web
      

      2.6 部署zookeeper和kafka

      2.6.1 部署zookeeper

      安装:

      yum install zookeeper
      

      启动服务:

      systemctl start zookeeper
      
      2.6.2 部署kafka

      安装:

      yum install kafka
      

      修改配置文件:

      vim /opt/kafka/config/server.properties
      

      将listener 改为本机ip:

      1662381371927

      启动kafka服务:

      cd /opt/kafka/bin
      nohup ./kafka-server-start.sh ../config/server.properties &
      tail -f ./nohup.out  # 查看nohup所有的输出出现A本机ip 以及 kafka启动成功INFO;
      

      2.7 部署aops-check

      安装aops-check:

      yum install aops-check
      

      修改配置文件:

      vim /etc/aops/check.ini
      

      将配置文件中各服务的地址修改为真实地址,由于将所有服务都部署在机器A,故需把IP地址配为机器A的地址。

      [check]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=11112
      mode=configurable  // 该模式为configurable模式,用于常规诊断模式下的调度器。
      timing_check=on
      
      [default_mode]
      period=30
      step=30
      
      [elasticsearch]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=9200
      
      [mysql]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=3306
      database_name=aops
      engine_format=mysql+pymysql://@%s:%s/%s
      pool_size=10000
      pool_recycle=7200
      
      [prometheus]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=9090
      query_range_step=15s
      
      [agent]
      default_instance_port=8888
      
      [manager]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=11111
      
      [consumer]
      kafka_server_list=192.168.1.1:9092  // 此处及后续服务ip修改为机器A真实ip
      enable_auto_commit=False
      auto_offset_reset=earliest
      timeout_ms=5
      max_records=3
      task_name=CHECK_TASK
      task_group_id=CHECK_TASK_GROUP_ID
      result_name=CHECK_RESULT
      [producer]
      kafka_server_list = 192.168.1.1:9092  // 此处及后续服务ip修改为机器A真实ip
      api_version = 0.11.5
      acks = 1
      retries = 3
      retry_backoff_ms = 100
      task_name=CHECK_TASK
      task_group_id=CHECK_TASK_GROUP_ID
      

      启动aops-check服务(configurable模式):

      systemctl start aops-check
      

      2.8 部署客户端服务

      客户端机器的服务需要部署aops-agent及gala-gopher,具体可参考aops-agent部署指南

      注意:主机注册时需要先在前端添加主机组操作,确保该主机所属的主机组存在。此处只对机器A做部署、纳管。

      2.9 部署prometheus

      安装prometheus:

      yum install prometheus2
      

      修改配置文件:

      vim /etc/prometheus/prometheus.yml
      

      将所有客户端的gala-gopher地址新增到prometheus的监控节点中。

      1662377261742

      启动服务:

      systemctl start prometheus
      

      2.10 部署gala-ragdoll

      A-Ops配置溯源功能依赖gala-ragdoll实现,通过Git实现配置文件的变动监测。

      安装gala-ragdoll:

      yum install gala-ragdoll # A-Ops 配置溯源
      

      修改配置文件:

      vim /etc/ragdoll/gala-ragdoll.conf
      

      将collect节点collect_address中IP地址修改为机器A的地址,collect_api与collect_port修改为实际接口地址。

      [git]
      git_dir = "/home/confTraceTest"
      user_name = "user_name"
      user_email = "user_email"
      
      [collect]
      collect_address = "http://192.168.1.1"    //此处修改为机器A的真实IP
      collect_api = "/demo/collectConf"    //此处修改为配置文件采集的实际接口
      collect_port = 11111                      //此处修改为服务的实际端口
      
      [sync]
      sync_address = "http://0.0.0.0"
      sync_api = "/demo/syncConf"
      sync_port = 11114
      
      
      [ragdoll]
      port = 11114
      

      启动gala-ragdoll服务:

      systemctl start gala-ragdoll
      

      机器B:

      机器B只需部署aops-check作为执行器。

      2.11 部署aops-check

      安装aops-check:

      yum install aops-check
      

      修改配置文件:

      vim /etc/aops/check.ini
      

      将配置文件中各服务的地址修改为真实地址,除check服务为机器B的地址外,其他服务都部署在机器A,故需把IP地址配置为机器A的地址即可。

      [check]
      ip=192.168.1.2  // 此处ip改为机器B真实ip
      port=11112
      mode=executor  // executor,用于常规诊断模式下的执行器
      timing_check=on
      
      [default_mode]
      period=30
      step=30
      
      [elasticsearch]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=9200
      
      [mysql]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=3306
      database_name=aops
      engine_format=mysql+pymysql://@%s:%s/%s
      pool_size=10000
      pool_recycle=7200
      
      [prometheus]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=9090
      query_range_step=15s
      
      [agent]
      default_instance_port=8888
      
      [manager]
      ip=192.168.1.1  // 此处及后续服务ip修改为机器A真实ip
      port=11111
      
      [consumer]
      kafka_server_list=192.168.1.1:9092  // 此处及后续服务ip修改为机器A真实ip
      enable_auto_commit=False
      auto_offset_reset=earliest
      timeout_ms=5
      max_records=3
      task_name=CHECK_TASK
      task_group_id=CHECK_TASK_GROUP_ID
      result_name=CHECK_RESULT
      [producer]
      kafka_server_list = 192.168.1.1:9092  // 此处及后续服务ip修改为机器A真实ip
      api_version = 0.11.5
      acks = 1
      retries = 3
      retry_backoff_ms = 100
      task_name=CHECK_TASK
      task_group_id=CHECK_TASK_GROUP_ID
      

      启动aops-check服务(executor模式):

      systemctl start aops-check
      

      至此,两台机器的服务部署完成。

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份