docker中部署skywalking链路监控

Docker运行skywalking参考命令:

安装oap-server:

docker run --name oap --restart always -d \
-e TZ=Asia/Shanghai \
-p 12800:12800 \
-p 11800:11800 \
--link es7:es7 \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 \
apache/skywalking-oap-server:6.6.0-es7

安装UI

docker run -d --name skywalking-ui \
-e TZ=Asia/Shanghai \
-p 8080:8080 \
--link oap:oap \
-e SW_OAP_ADDRESS=oap:12800 \
apache/skywalking-ui:6.6.0

skywalking-agent部署

简要说明下部署步骤:

1.制作基础镜像(下载对应版本的源码包)

解压apache-skywalking-apm-6.6.0.tar.gz,把该文件夹(主要是agent目录文件)放入jdk8,或者有jdk8的linux环境中,并制作成基础镜像

2.启动参数修改

在java -jar xxx.jar启动命令中加入agent

java -javaagent:/apache-skywalking-apm-6.6.0/agent/skywalking-agent.jar -Dskywalking.agent.service_name=xxxtest -Dskywalking.collector.backend_service=xxx.xx.x.x:11800 -Dserver.port=xxxx -jar app.jar

3.登录页面127.0.0.1:8080

因为机制为懒加载,所以当只有你调用该java接口时,页面上才有显示

Rancher中搭建注意要点

镜像准备

修改时区为Asia/ShangHai

因为监控本身需要按照时间点去取数据,时区异常会导致数据空白

  • 制作ui镜像
FROM apache/skywalking-ui:7.0.0

# 时区修改为东八区
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    &&  apk add --no-cache tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata
docker build -t   xxxx/skywalking-ui-cst:7.0.0 .
#xxx修改为自己私有仓库地址
docker push xxxx/skywalking-ui-cst:7.0.0 .
  • 制作oap-server镜像
FROM apache/skywalking-oap-server:7.0.0-es7

# 时区修改为东八区
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    &&  apk add --no-cache tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata
docker build -t   xxxx/skywalking-oap-server-cst:7.0.0-es7  .
#xxx修改为自己私有仓库地址
#cst代表东八区,代表该镜像为修改过时区的镜像
docker push xxxx/skywalking-oap-server-cst:7.0.0-es7  .

rancher ui中部署/k8s-yaml文件部署同理

env-oap-server设置环境变量

SW_STORAGE_ES_CLUSTER_NODES = xxxx:9200  #es地址,多个地址使用,分开
SW_STORAGE = elasticsearch7  #声明存储类型为elasticsearch7

env-oap-ui设置环境变量

SW_OAP_ADDRESS	= skywalking-oap:12800   #skywalking-oap为oap-server在部署时填入的名称,12800为http端口

 微服务中的部署agent

微服务的Dockerfile内容

FROM  hub.*****.com/base/openjdk8-alpine-cst-oap
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT exec java $JAVA_OPTS -jar /app.jar

注意:

1.openjdk8-alpine-cst-oap的基础镜像中需要将agent探针添加进容器。

2.${JAR_FILE}为MAVEN打包好的jar文件。

3.微服务暴露的端口是8080。

4.ENTRYPOINT执行服务启动命令,$JAVA_OPTS中的参数在k8s文件中可以获取到。

K8s.yaml中注意添加启动参数JAVA_OPTS,设置好探针路径,服务名称和集群中oap的连接地址。

env:              
    - name: JAVA_OPTS
      value: -javaagent:/agent/skywalking-agent.jar
        -Dskywalking.agent.service_name=${project_name}
        -Dskywalking.collector.backend_service=skywalking-oap.oap:11800

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值