长期支持版本

    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备份