使用docker-compose搭建SkyWalking环境

Table of Contents

一、环境说明

  • Linux Centos7
  • ElasticSearch 7.8.0
  • SkyWalking 8.0.1

二、环境搭建

  1. 编写docker-compose.yml文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    version: '3.3'
    services:
    elasticsearch:
    image: elasticsearch:7.8.0
    container_name: elasticsearch
    restart: always
    ports:
    - 9200:9200
    environment:
    discovery.type: single-node
    TZ: Asia/Shanghai
    #volumes:
    # - ./elasticsearch/logs:/usr/share/elasticsearch/logs
    # - ./elasticsearch/data:/usr/share/elasticsearch/data
    # - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    ulimits:
    memlock:
    soft: -1
    hard: -1
    oap:
    image: apache/skywalking-oap-server:8.0.1-es7
    container_name: oap
    depends_on:
    - elasticsearch
    links:
    - elasticsearch
    restart: always
    ports:
    - 11800:11800
    - 12800:12800
    environment:
    SW_STORAGE: elasticsearch7 # 指定ES版本
    SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
    TZ: Asia/Shanghai
    # volumes:
    # - ./config/alarm-settings.yml:/skywalking/config/alarm-settings.yml
    ui:
    image: apache/skywalking-ui:8.0.1
    container_name: ui
    depends_on:
    - oap
    links:
    - oap
    restart: always
    ports:
    - 8080:8080
    environment:
    SW_OAP_ADDRESS: oap:12800
    TZ: Asia/Shanghai
  2. 启动docker

    启动容器:docker-compose up -d

    查看容器:docker-compose ps

    删除容器:docker-compose rm

  3. 验证

    浏览器中输入:http://localhost:8080

三、Java应用接入

  1. 探针下载

  2. idea配置探针

    image.png

    • 设置 VM options:-javaagent:/${Path}/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar
    • 设置环境变量
      • SW_AGENT_NAME:项目名称
      • SW_AGENT_COLLECTOR_BACKEND_SERVICES:ip:port(oap服务地址)
  1. jar配置探针

    • java -jar -javaagent:/${Path}/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar -DSW_AGENT_NAME=项目名称 demo.jar
  2. 验证

    image.png
    image.png

四、nginx服务接入

  1. 参考skywalking-nginx-lua;
    • Nginx代理为由Nginx LUA模块提供支持的Nginx提供了本机跟踪功能
    • 我是使用openresty集成的,openresty启动时候指定skywalking-nginx-lua/examples/nginx.conf
      image.png
    • 效果图
      image.png
      image.png

五、题外话

相信不只我一人(至少我再群里看到的就不下10个人)因为下面这张图片,去开源群里问如何解决
image.png

解决方案就是因为少加了一个参数
image.png

归根结底是因为不去读文档,我就是因为老英文文档读不懂,一点点的就开始不读文档了。有问题百度、谷歌搜,搜不到就问人、加群问。直到被skywalking开源大佬吴晟怼了之后,才发现自己丢失了非常重要的读文档能力。非常感谢大佬点醒我!

相关文章

评论系统未开启,无法评论!