EOS Low-Code Platform 8 EOS Low-Code Platform 8
产品简介
安装部署
应用开发
专题场景实战案例
低代码(Low-Code)开发参考手册
高开开发参考手册
流程开发参考手册
AFCenter 使用指南
Governor 使用指南
FAQ
  • 云原生服务环境搭建
  • _1、环境准备
  • _2、安装介质介绍
  • _3、环境搭建
  • 安装elasticsearch
  • 安装zookeeper
  • 安装kafka
  • 安装logstash
  • 安装skywalking
  • 安装filebeat
  • _4、安装验证

# 云原生服务环境搭建

# 1、环境准备

  • 系统信息
名称 说明
操作系统 CentOS Linux release 7.9.2009
系统架构 x86_64
安装模式 最小化模式安装
  • 相关软件
软件 说明
8.3LA1介质1 EOS_Platform_8.3LA1_Private_Medium_Service.tar.gz
JDK jdk-8u162-linux-x64.tar.gz
  • 安装准备工作
    • 确保所有被安装服务器时区和时间一致,时间不一致会影响Elasticsearch和Skywalking等信息无法采集的情况出现。
      • 在各个服务器上安装时间同步命令工具:yum install ntp -y
      • 使用 ntpdate 命令,从时间服务器上进行同步,例如:ntpdate cn.pool.ntp.org
    • 确保 Selinux 调整为 disabled 或者 permissive。修改 /etc/selinux/config 文件需要重新启动主机。
    • 确保防火墙被关闭。
      • 停止防火墙 systemctl stop firewalld
      • 主机启动时禁用防火墙 systemctl disable firewalld

# 2、安装介质介绍

  • EOS_Platform_8.3LA1_Private_Medium_Service.tar.gz介质包含中间件应用,目的在于搭建日志中心及应用程序性能监视中心,具体内容如下:
名称 说明
skywalking 应用程序性能监视工具
ELK 日志中心,包含elasticsearch,logstash,kafka,zookeeper等相关应用

# 3、环境搭建

# 安装Elasticsearch

  • Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎。当然Elasticsearch并不仅仅是Lucene那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:
    • 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
    • 实时分析的分布式搜索引擎。
    • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
  • Elasticsearch安装
    • 修改系统配置(root用户执行以下命令) 修改/etc/security/limits.conf文件 增加配置

      vi /etc/security/limits.conf 
      #在文件最后,增加如下配置:
      * soft nofile 65536
      * hard nofile 65536
      # 执行以下命令加载配置文件
      sysctl --system
      #在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 添加完毕之后,执行命令: sysctl -p
      vi /etc/sysctl.conf
      vm.max_map_count=655360
      sysctl -p
      
    • 先新建一个用户(出于安全考虑,elasticsearch默认不允许以root账号运行)

      # 创建组
      groupadd es
      # 创建用户
      useradd -m -g es es
      # 设置密码
      passwd es
      # 切换es用户
      su es
      
    • 上传安装包至/home/es目录下并解压到指定目录 tar -zxvf EOS_Platform_8.3LA1_Private_Medium_Service.tar.gz -C /home/es/eos8

      解压后目录结构如下:

      ml

    • 修改Elasticsearch配置文件 文件路径{安装位置}/elk/elasticsearch/config/elasticsearch.yml,修改network.host的值为{安装机器IP}

      # 修改es的ip地址
      network.host={安装机器IP}
      

      在/elk/elasticsearch/config/jvm.options文件,修改elasticsearch的JVM参数,默认为8g,根据自己机器配置,建议至少8G,否则可能导致无法启动。

      -Xms10g
      -Xmx10g
      
    • 启动Elasticsearch

      # 进入bin目录
      cd  {安装位置}/elk/elasticsearch/bin
      # 启动Elasticsearch
      ./startup.sh
      #ES日志需要有模板,通过命令可以加载,模板文件在elasticsearch/template 文件夹中
      cd  {安装位置}/elk/elasticsearch/template
      curl -H "Content-Type:application/json" -XPUT 'http://{安装机器IP}:9200/_template/eos-classic-log' -d @eos-classic-log-template.json
      curl -H "Content-Type:application/json" -XPUT 'http://{安装机器IP}:9200/_template/eos-dap-app-log' -d @eos-dap-app-log-template.json
      curl -H "Content-Type:application/json" -XPUT 'http://{安装机器IP}:9200/_template/eos-dap-trace-log' -d @eos-dap-trace-log-template.json
      curl -H "Content-Type:application/json" -XPUT 'http://{安装机器IP}:9200/_template/eos-wf-log' -d @eos-wf-log-template.json
      
    • 验证安装 访问ES

    • es常用命令 http://{安装机器IP}:9200/_cat/health 检查ES数据库的索引状态(百分比) http://{安装机器IP}:9200/_cat/indices 查看ES数据库的索引列表(green可用,yellow正在创建,red不可用)。

# 安装zookeeper

  • 安装zookeeper zookeeper安装文件安装介质包中已包含,路径为elk/zookeeper zk
    • 修改配置(配置文件路径:zookeeper/conf/zoo.cfg) zf

    • 启动zookeeper 进入zookeeper/bin目录,执行以下命令 ./zkServer.sh start

    • 查看zookeeper是否启动成功 ./zkServer.sh status

      ./zkServer.sh status
      ZooKeeper JMX enabled by default
      Using config: /opt/primeton/elk4eos/elk/zookeeper/bin/../conf/zoo.cfg
      Mode: standalone
      

# 安装kafka

  • 安装kafka 路径 {安装位置}/elk/kafka
    # 编辑{安装位置}/elk/kafka/config/server.properties文件
    # 修改server.properties文件中以下内容,配置kafka监听端口及ip地址
    listeners=PLAINTEXT://{安装机器IP}:9092
    advertised.listeners=PLAINTEXT://{安装机器IP}:9092
    # 修改zookeeper地址
    zookeeper.connect=127.0.0.1:2181/kafka
    #修改日志文件路径
    log.dirs=/tmp/kafka-logs
    
  • 启动kafka
    #进入kafka/bin目录,执行以下命令
    ./startup.sh
    # 初始化
    ./kafka-topics.sh --create --zookeeper 127.0.0.1:2181/kafka --replication-factor 1 --partitions 1 --topic eos-log
    #如果报already exists,执行删除
    ./kafka-topics.sh  --delete --zookeeper 127.0.0.1:2181/kafka   --topic eos-log
    
  • 验证 ./kafka-topics.sh --zookeeper 127.0.0.1:2181/kafka --list

# 安装logstash

  • 安装logstash 文件路径 {安装位置}/elk/logstash logstash从kafka中获取日志数据,经过处理后发送至elastisearch中,所以需要在此处配置kafka和elasticsearch的地址。
    # 修改以下文件
    logstash/config/eos-logstash.conf
    # 修改kafka地址
    input {
        kafka {
            bootstrap_servers => ["{安装机器IP}:9092"]
            topics_pattern => "eos-.*"
            group_id => "eos-logstash"
            client_id => "eos-logstash"
            auto_offset_reset => "earliest"
            codec => json {
                charset => "UTF-8"
            }
            consumer_threads => 3
            decorate_events => true
        }
    }
    # 修改elasticsearch地址
    output {
      elasticsearch {
          hosts => ["{安装机器IP}:9200"]
          index =>  "%{[fields][eos-log-type]}-%{+YYYY.MM.dd}"
          document_type => "log"
      }
    
    • 启动logstash 进入logstash/bin目录,执行以下命令 ./startup.sh
    • 查看logstash是否启动成功 ps -ef|grep logstash

# 安装skywalking

  • 安装路径 {安装位置}/skywalking 修改 {安装位置}/skywalking/config/application.yml

    # 编辑 application.yml文件
    {安装位置}/skywalking/config/application.yml
    # 修改elasticsearch地址,改成本机器IP地址
    elasticsearch:
      nameSpace: ${SW_NAMESPACE:"CollectorDBCluster"}
      clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:{安装机器IP}:9200}
      indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
      indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
    

    重点说明:

    apache-skywalking-apm 利用java agent技术,实现不侵入业务系统,从而达到对应用系统调用链的跟踪和监控。 afcenter、bps、gateway应用都需要配置,以afcenter为例说明,其他应用配置同理, skywalking客户端路径为/opt/primeton/apps/eos-app/skywalking-agent(本例中位于另外一台服务器,和Afcenter在同一介质中),采集应用调用信息按如下步骤

    1. 配置skywalking-apm客户端信息,文件路径(/opt/primeton/apps/eos-app/skywalking-agent/config/agent.config)

      collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:{skywalking服务端所在服务器IP}:11800}
      
    2. 在应用启动时增加-apm参数(本文中地址为/opt/primeton/apps/eos-app/server/afcenter/bin/),应用启动后apache-skywalking-apm会收集应用的调用信息

      # 启动是增加 -apm参数
      ./startup.sh -apm
      

# 安装filebeat

  • filebeat 配置启动 filebeat安装介质是在EOS_Platform_8.3LA1_Private_Medium_Application.tar.gz中,即和Afcenter在同一安装包下,fielbeat安装路径为 /opt/primeton/apps/eos-app/filebeat

    编辑eos-filebeat.yml文件,文件路径:/opt/primeton/apps/eos-app/filebeat/eos-filebeat.yml

    input:请根据实际路径修改日志路径
    output:
     enabled: true
     hosts: ["{安装kafka机器IP}:9092"]
    
    
    # 启动filebeat
    nohup ./filebeat -e -c eos-filebeat.yml >/dev/null 2>&1 & 
    

# 4、安装验证

  • 启动说明 启动顺序说明:先启动elasticsearch,启动方式:应用根目录下执行startup.sh启动,再启动Afcenter应用所在服务器,同样采用根目录下start.sh脚本启动整体应用(启动脚本不包含filebeat启动),启动完毕后启动filebear应用
  • governor配置 登录governor:http://{governor所在机器IP}:29898/ ,账户:sysadmin/000000
    • 点击governor右上角管理平台->平台配置->平台服务 配置以下信息
      配置中心 http://{安装机器IP}:8848/nacos
      注册中心 http://{安装机器IP}:8848/nacos
      日志中心 http://{安装机器IP}:9200
      应用监控 http://{安装机器IP}:12800/graphql
      
    • 点击域管理->建立域 域
    • 点击系统管理->建立系统 系统
  • 验证 点击网关->日志 日志 点击监控->应用运行时 监控 点击监控->业务链路 链路
上次更新: 2024/6/17下午4:46:35

← Gateway环境配置 iData报表产品安装与集成 →