头图

Rancher2.x上部署SkyWalking追踪系统

什么是SkyWalking?

分布式系统的应用程序性能监视工具,特别是为微服务,云原生和基于容器(Docker,Kubernetes,Mesos)的体系结构而设计。

SkyWalking是一个可观察性分析平台和应用程序性能管理系统。
跟踪,指标和日志记录多合一解决方案。
支持Java,.Net Core,PHP,NodeJS,Golang,LUA,C ++代理
支持Istio + Envoy Service Mesh

上述源自 SkyWalking 官网

链路追踪工具简介对比

1、Zipkin:是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。

2、Jaeger 是 CNCF 云原生项目之一,Jaeger 受 Dapper 和 OpenZipkin 的启发,由 Uber 开源的分布式追踪系统,兼容 Open Tracing API。

3、Pinpoint:是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。

4、SkyWalking:是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。

工具指标对比:

指标/组件ZipkinJaegerSkywalkingPinpoint
OpenTracing 兼容支持支持支持不支持
客户端支持语言Java、C#、Go、PHP 等Java、C#、Go、PHP 等Java, .NET Core, NodeJS and PHPJava、PHP
传输协议Http/MQUDP/HttpgRPCThrift
Web UI一般一般
扩展性一般
性能损失一般一般
实现方式拦截请求,侵入拦截请求,侵入字节码注入,无侵入字节码注入,无侵入
告警不支持不支持支持支持

小结:Zipkin与Jaeger相差不多且都有代码侵入,性能损耗方面Skywalking相对Pinpoint较低,Pinpoint 在 Web UI上较其他三种较丰富些

skywalking部署(本文使用Rancher2.X)

skywalking-oap-server

存储;elasticsearch 6.x

镜像:apache/skywalking-oap-server:7.0.0-es6

skywalking-oap-server

skywalking-ui

镜像:apache/skywalking-ui:8.1.0

skywalking-ui

方便访问加个Ingress配置个域名如:http://skywalking-ui.com/

skywalking-agent

自建,参考https://hub.docker.com/r/prop...

编写一个Dockerfile:


FROM alpine:3.8
 
LABEL maintainer="123456789@qq.com"
 
ENV SKYWALKING_VERSION=7.0.0
 
ADD http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/${SKYWALKING_VERSION}/apache-skywalking-apm-${SKYWALKING_VERSION}.tar.gz /
 
RUN tar -zxvf /apache-skywalking-apm-${SKYWALKING_VERSION}.tar.gz && \
    mv apache-skywalking-apm-bin skywalking && \
    mv /skywalking/agent/optional-plugins/apm-trace-ignore-plugin* /skywalking/agent/plugins/ && \
    echo -e "\n# Ignore Path" >> /skywalking/agent/config/agent.config && \
    echo "# see https://github.com/apache/skywalking/blob/v7.0.0/docs/en/setup/service-agent/java-agent/agent-optional-plugins/trace-ignore-plugin.md" >> /skywalking/agent/config/agent.config && \
    echo 'trace.ignore_path=${SW_IGNORE_PATH:/health}' >> /skywalking/agent/config/agent.config

docker build到镜像仓库, 待docker build完毕后,push到仓库就可以了

现成的镜像:ccr.ccs.tencentyun.com/haiyang/skywalking-agent:7.0.0

Springboot项目加入探针

Dockerfile文件ENTRYPOINT增加代理"如下:

-javaagent:/opt/skywalking/agent/skywalking-agent.jar","-Dskywalking.collector.backend_service=skywalking-oap-server:11800"

完整参考:

ENTRYPOINT ["java","-javaagent:/opt/skywalking/agent/skywalking-agent.jar","-Dskywalking.collector.backend_service=skywalking-oap-server:11800","-Djava.security.egd=file:/dev/./urandom","-jar","/opt/app.jar"]

启动项目访问接口,打开skywalking-ui访问地址:http://skywalking-ui.com/

image

image

image

1 声望
1 粉丝
0 条评论
推荐阅读
公共redis工具类提取
Redis的键值默认使用JDK序列化,为方便排查问题,需自定义Json列化,并加入客户端操作工具类,方便各服务使用。1、定义序列化FastJsonRedisSerializer {代码...} 2、自定义redisTemplate {代码...} 3、操作工具类...

踮脚被吹跑阅读 1.2k

封面图
Grafana部署方案
准备工作1、创建用户和配置环境参数(1)、创建用户和创建所需目录 {代码...} (2)、下载[链接]部署方案1、部署(1)、关闭防火墙 {代码...} (2)、解压安装包并备份配置文件 {代码...} (3)、创建所需目录 {代码...} 2...

iM唐小龙阅读 786

揭秘网页性能监控|如何从多个角度分析监控结果
作为一家大型公司的网站管理员,主要工作就是维护公司各类网站的正常运行和更新网站内容。然而,随着自己所在公司业务不断扩大,网站访问量不断增加,网站管理员就会接到各种各样的用户投诉,包括抱怨网站加载速...

云智慧技术社区阅读 705

【云原生 • 监控】国产监控之光-夜莺监控(Nightingale)
国产监控之光-夜莺监控(Nightingale)夜莺是什么?夜莺是一个服务端组件,类似 Grafana,可以对接不同的TSDB时序数据库作为数据源,支持的TSDB时序数据库如Prometheus、VictoriaMetrics、Thanos等等,只要数据进...

Reactor20201阅读 559

封面图
一种通用的业务监控触发方案设计 | 京东云技术团队
业务监控是指通过技术手段监控业务代码执行的最终结果或者状态是否符合预期,实现业务监控主要分成两步:一、在业务系统中选择节点发送消息触发业务监控;二、系统在接收到mq消息或者定时任务调度时,根据消息中...

京东云开发者1阅读 216

封面图
深入浅出玩转监控宝|网站监控之管理网站监控任务
监控宝是云智慧提供的一款面向业务、从节点主动模拟真实用户访问,提供网站性能监控、API监控等服务,持续监测应用程序、网站、网络和数字化服务的可用性和性能,提前诊断,实时告警,帮助客户提升网络应用效能的...

云智慧技术社区阅读 323

提升用户体验与搜索引擎排名|网页性能监控实操详解
在现代互联网时代,网页性能已经成为了用户体验的重要因素之一。一个快速、流畅的网站可以吸引更多的用户,并提高他们的满意度和忠诚度。因此,网页性能监控已经成为了网站开发和管理的重要一环。本文将介绍网页...

云智慧技术社区阅读 266

1 声望
1 粉丝
宣传栏