Apache SkyWalking — Jevic

Apache SkyWalking

2020/06/06 OPS

SkyWalking是观察性分析平台和应用性能管理系统。 提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

Apache SkyWalking

SkyWalking 的核心是数据分析和度量结果的存储平台,通过 HTTP 或 gRPC 方式向 SkyWalking Collecter 提交分析和度量数据,SkyWalking Collecter 对数据进行分析和聚合,存储到 Elasticsearch、MySQL、TiDB 等其一即可,最后我们可以通过 SkyWalking UI 的可视化界面对最终的结果进行查看。

Skywalking 支持从多个来源和多种格式收集数据:多种语言的 Skywalking Agent 、Zipkin v1/v2 、Istio 勘测、Envoy 度量等数据格式。

目前最主流的两个APM对比

Dockerfile

OAP server & UI

OAP server

为了可以动态的修改 alarm-settings.yml; 因此需要配置一个 configmap 以便于修改并重新加载alarm配置; 但是由于官方提供的默认镜像使用了ENTRYPOINT 方式来启动;无法对命令进行修改;

因此需要做如下调整:

  • setp 1: 下载源文件
git clone https://github.com/apache/skywalking-docker.git
  • setp 2: 修改对应版本的Dockerfile
    • 例如: 7.0 版本
# vim $PATH/skywalking-docker/7/7.0/oap-es7/Dockerfile

### 删除最后一行 ENTRYPOINT 或者将 ENTRYPOINT 修改为 CMD
ENTRYPOINT ["bash", "docker-entrypoint.sh"]
  • setp 3: 重新build 镜像即可
docker build -t apache/skywalking-oap-server:7.0.0-es7 .
  • setp 4: 修改时区,并上传到私有仓库

Dockerfile

FROM apache/skywalking-oap-server:7.0.0-es7
ENV TZ=Asia/Shanghai
RUN apk add --no-cache tzdata \
    && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
    && echo $TZ > /etc/timezone
docker build -t reg.jevic.cn/basic/skywalking-oap-server:7.0.0-es7 .
docker push reg.jevic.cn/basic/skywalking-oap-server:7.0.0-es7

skywalking-ui

FROM apache/skywalking-ui:7.0.0
ENV TZ=Asia/Shanghai
RUN apk add --no-cache tzdata \
    && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
    && echo $TZ > /etc/timezone
docker build -t reg.jevic.cn/basic/skywalking-ui:7.0.0 .
docker push reg.jevic.cn/basic/skywalking-ui:7.0.0

skywalking-agent

FROM apache/skywalking-base:7.0.0-es7 AS build

FROM busybox

ENV AGENT_PATH=/opt/skywalking/agent

COPY --from=build /skywalking/agent $AGENT_PATH

RUN set -ex \
    ## URL跟踪过滤
    && mv $AGENT_PATH/optional-plugins/apm-trace-ignore-plugin-7.0.0.jar $AGENT_PATH/plugins/ \
    ## 网关
    && mv $AGENT_PATH/optional-plugins/apm-spring-cloud-gateway-2.x-plugin-7.0.0.jar $AGENT_PATH/plugins/
docker build -t reg.jevic.cn/basic/skywalking-agent:v7 .
docker push reg.jevic.cn/basic/skywalking-agent:v7

Deployment

git clone yaml 文件执行部署即可

SkyWalking K8s deployment scripts

Search

    Post Directory