SkyWalking简介

SkyWalking是一款高效的分布式链路追踪框架,对于处理分布式的调用链路的问题定位上有很大帮助

有以下特点:

  • 性能好
    针对单实例5000tps的应用,在全量采集的情况下,只增加 10% 的CPU开销。

  • 支持多语言探针

  • 支持自动及手动探针
    自动探针:Java支持的中间件、框架与类库列表
    手动探针:OpenTrackingApi、@Trace注解、trackId集成到日志中。

本文基于Skywalking 6.2版本,使用自动探针演示效果,Elasticsearch作存储,由低版本升级到此版本需要删除ES的全部索引

目录结构

.
├── docker-compose.yml
└── .env

文件说明

  • docker-compose.yml Docker-compose配置文件
  • .env 环境变量配置文件

配置文件

docker-compose.yml

version: '3.3'
services:oap:image: apache/skywalking-oap-server:6.2.0container_name: skywalking-oaprestart: alwaysports:- 11800:11800- 12800:12800environment:- SW_STORAGE=elasticsearch #Es的存储- SW_STORAGE_ES_CLUSTER_NODES=${ES_NODE} # Es的节点地址,从.env文件中取- TZ=Asia/Shanghai #设定东八区的城市,防止Oap记录数据时用0时区ui:image: apache/skywalking-ui:6.2.0container_name: skywalking-uidepends_on:- oaplinks:- oaprestart: alwaysports:- 18080:8080 #默认8080端口,这里设置18080映射到宿主机,可修改environment:collector.ribbon.listOfServers: oap:12800

.env

# set default props for docker-compose.yml
# set ES_Cluster or standalone Elasticsearch node. format is "ip:port"
ES_NODE=10.2.7.70:9204

准备工作

  • 进入与docker-compose.yml同级目录
  • 查看118001280018080这三个端口不能被占用,如果已占用,请自行修改docker-compose.yml的端口号
  • 修改.env
ES_NODE=10.2.7.70:9204 #这里的ip:port应指向Elasticsearch的协调节点,请尽量不要指向主节点和数据节点

启动服务端

执行docker-compose up -d

查看前端

浏览器访问宿主机ip:18080,效果如下图

此图为已经使用探针后的表现

Agent自动探针采集数据设置

这里的Agent要与OAP的版本保持一致,这里使用6.2版本

Java只需要在VM options中追加格式为

-javaagent:/path/to/path/skywalking-agent.jar
-Dskywalking.agent.service_name=YOUR_APP_NAME
-Dskywalking.collector.backend_service=OAP_SEVER_HOST:gRPC_PORT

举例如下:

-javaagent:D:/skywalking-agent/skywalking-agent.jar
-Dskywalking.agent.service_name=eureka-peer2
-Dskywalking.collector.backend_service=10.2.7.70:11800
  • 这里仅举例agent gRPC方式,Restful请求方式默认使用12800端口,请自行对应
  • /path/to/path为agent的jar包位置,启动进程中会读取config/agent.conf,我们通过-D添加了参数会覆盖这些配置,所以一个agent包是可以支持多个服务启动的

效果图

问题发现与解决

Q1:

graphql.execution.SimpleDataFetcherExceptionHandler -1061995 [qtp1609086753-159] WARN [] - Exception while fetching data (/latencyS) : IDs can't be null java.lang.RuntimeException: IDs can't be null

A1:

此问题为ui端的问题,无需解决,对SkyWalking后端无影响

包括其它IDs can't be null的问题,均为UI端的问题,影响不大,可以忽略


Q2:

探针已经连接成功了,UI端已经显示终端/端点有连接数,但是无论怎么请求都没有调用链和请求展示

A2:

请检查操作系统时区设置,SkyWalking默认会读取当前操作系统的时区设置,如果使用0时区,基于时间戳方式查询自然不会查询到结果,所以设置时区为东八区即可,如果是Docker方式,可以使用 -e TZ=Asia/Shanghai

本文系搭建笔记,拒绝转载

转载于:https://www.cnblogs.com/hellxz/p/docker-compose_skywalking.html

Docker-Compose搭建单体SkyWalking 6.2相关推荐

  1. Docker Compose搭建consul群集环境(了解Docker Compose及常用命令,Docker四种网络,Doker指定端口)

    文章目录 Docker Compose搭建consul群集环境 认识Docker Compose IConsul Docker Compose容器编排 Dasker Compose配置常用字段 Bos ...

  2. Docker学习之路05:五分钟用docker compose搭建一个自己的个人博客网站!

    五分钟用docker compose搭建一个自己的个人博客网站! Docker学习路线传送门: Docker学习之路01:Docker的安装 Docker学习之路02:阿里云镜像加速器 Docker学 ...

  3. Docker Compose搭建TDengine集群

    文章目录 1. Linux上安装Docker 2. 安装Docker Compose 3. 自定义Docker 网络 4. 搭建集群 4.1 基础配置 4.2 查看启动效果 4.3 测试节点 4.3. ...

  4. 教你三分钟用docker compose搭建一个自己的个人博客网站

    hi,大家好,我是 jack xu,今天和大家聊一个轻松.好玩.易懂的话题,就是教大家搭建一个自己的个人博客网站,可以在同事朋友面前炫耀一把.事情的缘由是我们公司有个同事,有一天他给了我一个网站,我打 ...

  5. Docker使用docker compose搭建Jellyfin私人媒体服务器 个人电影网站

    ->Docker及docker compose的安装点这里 创建 docker-compose.yml 文件 version: "3" services:jellyfin:i ...

  6. docker compose搭建NACOS集群

    使用docker搭建NACOS集群 SpringCloud Alibaba,必然会使用Nacos进行服务注册与配置管理.然而,在实际的生产环境中,使用单服务器搭建nacos服务器是十分危险的,如若发生 ...

  7. 使用Docker Compose 搭建lnmp

    文章目录 一: Docker-compose 简介 1.1 为什么使用 Docker-compose 1.2 Docker-compose概述 二: compose 的部署 2.1 Docker Co ...

  8. 基于Docker Compose搭建的Mysql8.0主从复制(1主3从,多主机)

    系统环境 CentOs 7 mysql 8.0.19 docker 18.09.9-ce docker-compose 1.26.1-rc3 安装docker-compose环境 docker-com ...

  9. Docker Compose 搭建 Docker Registry 私服

    简介 官方的 Docker Hub 是一个用于管理公共镜像的地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.你也可以选择通过 Docker Registry 搭建一个属于自己的 ...

最新文章

  1. python语言有什么用-为什么现在很多人都使用Python语言有什么优势
  2. linux和android开发链接
  3. mysql 手机号 字段_2021-01-06:mysql中,我存十亿个手机号码,考虑存储空间和查询效率,用什么类型的字段去存?...
  4. python开发信息系统权限设置_[Python学习] Django 权限控制
  5. 计算机操作系统还能这样玩?这一篇计算机操作系统的总结为你保驾护航(零风险、高质量、万字长文、建议收藏)
  6. 角色管理与今日内容介绍
  7. 信息学奥赛C++语言: 计算两个数的最小公倍数
  8. python分析pcap文件_利用Python库Scapy解析pcap文件的方法
  9. php 人像识别,基于OpenCV的PHP图像人脸识别技术
  10. python和java的区别-python与java区别
  11. android文件操作和SDCard卡操作
  12. netconsole 重定向kernel日志到远程服务器
  13. (一)抖音快手短视频去水印原理分析
  14. 【参赛作品65】MOGDB/openGauss的txid_snapshot 数据类型和相关函数
  15. hadoop各版本下载地址
  16. python扫雷游戏设计_Python 扫雷游戏 完整源代码+图片素材
  17. 手机沙盒隔离软件_360隔离沙箱下载_360隔离沙箱独立版下载 v3.0.0 官方版_天天下载手机版...
  18. CentOS6-yun install wget失败
  19. 通州新城规划图 - 新通网http://www.xintongwang.com
  20. “联创黔线”杯大数据应用创新大赛

热门文章

  1. Java终止当前线程的方法
  2. 软考之CPU的寻址方式
  3. Java三大主流框架概述
  4. SCOM2012R2 (5) MONITOR WINDOWS OF WORKGROUP
  5. MIT开放式课程“自然语言处理”介绍
  6. [原]不祥的CPU——Alpha
  7. linux命令face,linux下配置face_recognition
  8. php 多条数据更新数据类型,PHPdoc @param中的两个或多个数据类型
  9. Web前端学习笔记:Vue生命周期理解
  10. 更换VC后DDC提示证书不可用