skywalking--链路监控

傻男人 1年前 ⋅ 637 阅读

skywalking--链路监控

有两个版本(主要以es版介绍):

  • es版
  • 非es版

假如使用es版本,则需要先启动es

agent

这里使用apache提供的jdk8,比我们平常使用的JDK更小 官方文档详见:https://github.com/apache/skywalking/blob/v8.5.0/docs/en/setup/service-agent/java-agent/README.md

Dockerfile

FROM apache/skywalking-java-agent:8.5.0-jdk8
RUN apk add tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

打包成自定义的镜像

docker build -f Dockerfile -t sky_agent-ui:8.5.0 .

skywalking-ui

Dockerfile

FROM apache/skywalking-ui:8.5.0
RUN apk add tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

打包成自定义的镜像

docker build -f Dockerfile -t sky-ui:8.5.0 .

skywalking-oap-server

Dockerfile

FROM apache/skywalking-oap-server:8.5.0-es7
RUN apk add tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

打包成自定义的镜像

docker build -f Dockerfile -t sky-server-es:8.5.0 .

启动

version: '3.5'
networks:
  elasticsearch_elastic:
    external: true
services:
  skywalking-oap:
    image: sky-server-es:8.5.0
    deploy:
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
    ports:
      - "11800:11800"
      - "12800:12800"
    logging:
      options:
        max-size: "500m"
        max-file: "5"
    environment:
      - TZ=Asia/Shanghai
      - SW_STORAGE=elasticsearch7
      - SW_STORAGE_ES_CLUSTER_NODES=es01:9200
      - SW_ES_USER=elastic
      - SW_ES_PASSWORD=zhcfelasticsearch
    networks:
      - elasticsearch_elastic
      
  skywalking-ui:
    image: sky-ui:8.5.0
    depends_on:
      - skywalking-oap
    deploy:
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
    ports:
      - "8080:8080"
    logging:
      options:
        max-size: "500m"
        max-file: "5"
    environment:
      - TZ=Asia/Shanghai
      - SW_OAP_ADDRESS=http://skywalking-oap:12800
    networks:
      - elasticsearch_elastic
    ports:
      - "8041:8080"

集成

命令直接集成

下载对应版本

下载的链接 https://archive.apache.org/dist/skywalking

服务器上解压

启动命令

java -javaagent:/opt/skywalking/apache-skywalking-8.5.0/agent/skywalking-agent.jar -Dskywalking.agent.service_name=prcess -Dskywalking.collector.backend_service=127.0.0.1:11800 -jar /opt/process.jar

说明:

  • -javaagent 指定agent包位置。这里我将apache-skywalking-apm-8.5.0.tar.gz解压到/opt目录了,因此路径为:/opt/skywalking/apache-skywalking-8.5.0/agent/skywalking-agent.jar
  • -Dskywalking.agent.service_name 指定服务名
  • -Dskywalking.collector.backend_service 指定skywalking oap地址,由于在本机,地址为:127.0.0.1:11800
  • -jar 指定jar包的路径,这里我直接放到/opt/目录了。

docker集成

Dockerfile修改

FROM使用前面自定义的sky_agent-ui:8.5.0

FROM  172.0.0.1:5000/library/sky_agent:8.5.0_jdk8
.....
docker-compose.yml文件修改

增加services.volumes属性,将skywalking/agent的日志文件挂载到主机上

services:
    volumes:
      - /home/mount/logs/agent/serverName:/skywalking/agent/logs

全部评论: 0

    我有话说: