【深度解析】SkyWalking 10.2.0版本安全优化与性能提升实战指南

103 阅读2分钟

0.png

前言

Apache SkyWalking 作为云原生可观测性领域的佼佼者,在微服务架构监控中扮演着至关重要的角色。然而,官方版本在安全性、镜像体积和功能扩展方面仍有优化空间。本文将分享一套完整的 SkyWalking 10.2.0 版本优化方案,从安全漏洞修复到镜像精简再到功能增强,全方位提升您的 SkyWalking 部署体验。

摘要

本文详细介绍了 SkyWalking 10.2.0+ 版本的全面优化方案,主要包括:

  • 安全漏洞修复:解决官方版本中存在的多个高危安全漏洞
  • 镜像体积优化:将官方镜像体积缩减65%以上,提升部署效率
  • 功能增强:支持健康检查、自定义路径忽略等实用功能
  • UI优化:定制化前端界面,提升用户体验
  • 完整构建流程:从源码编译到镜像生成的全流程指南

无论您是 SkyWalking 的新手用户还是经验丰富的运维专家,本文都能帮助您构建更安全、更高效的可观测性平台。

1.png

最终效果对比

  • 官方最新版本

2.png

  • 漏洞修复

3.png

  • 支持/skywalking/bin/swctl health 监控检查

    官方这个版本是不支持的,我们依旧坚挺~

4.png

  • 确认可用

5.png

6.png

通过对比可以清晰看到,我们的优化版本不仅修复了安全漏洞,还增强了监控能力,同时大幅减小了镜像体积,提升了部署效率和资源利用率。特别是增加了官方版本不支持的健康检查功能,让系统监控更加完善。

7.png

环境准备与源码获取

  • JDK 11 (最新的代码要看最新的要求,注意不能使用JDK8,用错的话构建时也会有提示)
  • Maven >=3.6.0

官方指南(必看)github.com/apache/skyw…

mkdir -p /mnt/d/tmp/skywalking && cd /mnt/d/tmp/skywalking
#git clone --recurse-submodules https://github.com/apache/skywalking.git
git clone -b v10.2.0 --recurse-submodules https://github.com/apache/skywalking.git

精简镜像与服务优化

  • 官方镜像

8.png

  • 简化安全镜像

9.png

OAP服务优化

Dockerfile

ARG BASE_IMAGE='registry.cn-hangzhou.aliyuncs.com/earic/java:jre11.0.26-alpine3.21.3'

ARG SKYWALKING_CLI_VERSION

FROM apache/skywalking-cli:$SKYWALKING_CLI_VERSION as cli
ARG SKYWALKING_HOME='/skywalking'
WORKDIR $SKYWALKING_HOME
ARG DIST
COPY "$DIST" .
# 这里删,缓存不会带到$BASE_IMAGE里
RUN set -ex; \
    tar -xzf "$DIST" --strip 1; \
    rm -rf "$DIST"; \
    rm -rf "config/log4j2.xml"; \
    rm -rf "bin"; \
    rm -rf "webapp"; \
    rm -rf "agent";

FROM $BASE_IMAGE

ARG SKYWALKING_HOME='/skywalking'
WORKDIR $SKYWALKING_HOME

ENV PATH=$SKYWALKING_HOME/bin:$PATH

ENV JAVA_OPTS=" -Xms2G "

COPY --from=cli $SKYWALKING_HOME .

RUN set -ex; \
    ls -alh; \
    mkdir "bin"; \
    rm -fr /var/cache/apk/* /usr/include /usr/share/man /tmp/*
COPY --from=cli /swctl ./bin

COPY log4j2.xml config/
COPY docker-entrypoint.sh .

RUN mkdir ext-config; \
    mkdir ext-libs;

#非root--start --有安全需要再加,加了镜像会大100多M
# .......

🤔 想知道更多?点这里