博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用docker部署skywalking
阅读量:5103 次
发布时间:2019-06-13

本文共 2557 字,大约阅读时间需要 8 分钟。

使用docker部署skywalking

Intro

之前在本地搭建过一次 skywalking + elasticsearch ,但是想要迁移到别的机器上使用就很麻烦了,于是 docker 就成了很方便的解决方式,只要 dockerfile / docker-compose 定了下来在哪里跑都是一样的。

构建 Docker 镜像

可以直接使用 docker hub 上的镜像

示例

FROM centos:7# Timezone, Asia/Shanghai by defaultENV Timezone=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$Timezone /etc/localtime && echo '$Timezone' > /etc/timezoneRUN yum install -y wget && \    yum install -y java-1.8.0-openjdkWORKDIR /appADD http://mirror.bit.edu.cn/apache/incubator/skywalking/5.0.0-GA/apache-skywalking-apm-incubating-5.0.0-GA.tar.gz .RUN tar -xf apache-skywalking-apm-incubating-5.0.0-GA.tar.gz && \     mv apache-skywalking-apm-incubating skywalking && \     echo "tail -f /dev/null" >> /app/skywalking/bin/startup.shCMD ["/bin/sh","-c","/app/skywalking/bin/startup.sh" ]

配置 docker-compose 环境

有了 docker 镜像还不够,我们还需要 elasticsearch 来做存储,配置一个 docker-compose 环境会很方便,这里有一个我正在用的配置,仅供参考

docker-compose

docker-compose

注意:如果本地有端口被占用的,请自行修改,另 elasticsearch 需要使用 5.x 版本,skywalking5.x版本不支持 6.x 版本的 elasticsearch

version: '2'services:  elasticsearch:    image: elasticsearch:5.6    container_name: elasticsearch    ports:      - 9200:9200    volumes:      - ./es/data:/usr/share/elasticsearch/data      - ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  skywalking:      image: weihanli/skywalking:5.0.0-GA      container_name: skywalking      ports:        - 10800:10800        - 11800:11800        - 12800:12800        - 8090:8080      volumes:        - ./skywalking/application.yml:/app/skywalking/config/application.yml      links:        - elasticsearch:elasticsearch      depends_on:        - elasticsearch

elsticsearch 配置

cluster.name: elasticsearchnetwork.host: 0.0.0.0network.publish_host: 0.0.0.0thread_pool.bulk.queue_size: 1000

主要配置 clusterName 以及 network.host,network.host 要配置成 skywalking 可以访问得到的地址,这里配置了 0.0.0.0

skywalking 配置

主要配置 elsticsearch 的 clusterName 以及 clusterNode 信息

storage:  elasticsearch:    clusterName: elasticsearch    clusterNodes: elasticsearch:9300

clusterName 要与 elasticsearch 的配置相同,clusterNode 的地址需要能够被 skywalking 访问的到

完整示例配置可以参考

开始部署

在本地配置好如上所示的docker-compose 环境之后,打开 docker-compose 所在的文件夹执行 docker-compose up 即可启动 skywalking

启动后访问 ui 的端口,默认是 8080,上面的 docker-compose 文件中映射到的是 8090,打开 localhost:8090 登录,默认账号密码为 admin/admin,没有报错就证明我们的skywalking已经部署成功,如果有报错检查 elasticsearch 是否启动成功。

常见问题

  • Elasticsearch 启动失败,The vm.max_map_count kernel setting needs to be set to at least 262144 for production use.

    参考 进行设置

Reference

转载于:https://www.cnblogs.com/weihanli/p/deploy-skywalking-via-docker.html

你可能感兴趣的文章
小特效【较完善的滑动下拉菜单】【购物车加减器】
查看>>
【读书笔记】【独立思考】2018-04-03(2)
查看>>
java 实现好看的图形验证码
查看>>
字符串_KMP算法(求next[]模板 hdu 1711)
查看>>
第八章 程序的分支结构
查看>>
随笔37 JVM内存
查看>>
HW2.9
查看>>
对象内存布局 (9)
查看>>
IOS第11天(4:UIDatePicker时间选择,和键盘处理,加载xib文件,代理模式)
查看>>
Delphi XE开发 Android 开机自动启动
查看>>
Delphi中Format与FormatDateTime函数详解
查看>>
c#数据库连接池
查看>>
hdu-5992 Finding Hotels(kd-tree)
查看>>
Alfresco 4 项目介绍
查看>>
[Database] 不知道表名和字段查找值=1234的数据.
查看>>
MySQL的高可用实现:MySQL系列之十四
查看>>
python之os模块
查看>>
重写FileUpload控件让它可以显示上传后的文件名
查看>>
SSO单点登录解决方案[转载]
查看>>
使用闭包跨域开发
查看>>