


























基于 OpenTracing 规范,专门为微服务架构以及云原生服务。
一个基于微服务架构的电商系统
APM (Application Performance Management) 即应用性能管理,属于 IT 运维管理(ITOM)范畴.
分为一下三个方面:
Elasticsearch或是其他存储中。通过 Kibana 或是其他工具来分析这些日志了解服务的行为和状态,大多数情况下。日志记录的数据很分散,并且相互独立。例如错误日志,请求处理过程中关键步骤的日志等等。Metric是可以聚合的,例如为电商系统中每个 HTTP 接口添加一个计数器,计算每个接口的 QPS,可以通过简单的加和计算得到系统的总负载情况。
系统交互图
系统加载图>
APM监控
Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。SkyWalking UI :负责提供控台,查看链路等等。使用 mysql 作为存储
下载 mysql-connector-java-8.0.30.jar
1mkdir ./libs/
2mv mysql-connector-java-8.0.30.jar ./libs/
创建带 mysql 驱动的基础镜像
1FROM apache/skywalking-oap-server:9.1.0
2LABEL maintainer="nb@nbtyfood.com"
3COPY ./libs/* /skywalking/oap-libs
上传 dockerhub 或者自己的镜像仓库,这里我是上传到自己的仓库
docker build -t skywalking-mysql-server:v1.0 .
docker tag skywalking-mysql-server:v1.0 <仓库地址>/blog/skywalking-mysql-server:v1.0
docker push <仓库地址>/blog/skywalking-mysql-server:v1.0
1version: "3"
2services:
3 skywalking-oap-server:
4 image: "hub.docker.com/jobcher/skywalking-mysql-server:v1.0" #docker iamge 地址
5 container_name: "oap-server"
6 restart: "always"
7 environment:
8 - SW_STORAGE=mysql
9 - SW_JDBC_URL="jdbc:mysql://10.12.12.4:3306/sk"
10 - SW_DATA_SOURCE_USER=user # mysql用户名
11 - SW_DATA_SOURCE_PASSWORD=password # mysql密码
12 ports:
13 - "10.12.12.16:12800:12800"
14 - "10.12.12.16:1234:1234"
15 - "10.12.12.16:11800:11800"
16
17 skywalking-oap-ui: #UI界面
18 image: "apache/skywalking-ui:9.1.0"
19 container_name: "oap-ui"
20 restart: "always"
21 environment:
22 - SW_OAP_ADDRESS=http://10.12.12.16:12800
23 ports:
24 - "8180:8080"
下载客户端
点击下载
1wget https://archive.apache.org/dist/skywalking/8.14.0/apache-skywalking-java-agent-8.14.0.tgz
2tar -zxvf apache-skywalking-java-agent-8.14.0.tgz
1# SkyWalking Agent 配置
2export SW_AGENT_NAME=rf-consumer # 配置 Agent 名字。一般来说,我们直接使用 Spring Boot 项目的 `spring.application.name` 。
3export SW_AGENT_COLLECTOR_BACKEND_SERVICES=10.12.12.16:11800 # 配置 Collector 地址。
4#export SW_AGENT_SPAN_LIMIT=2000 # 配置链路的最大 Span 数量。一般情况下,不需要配置,默认为 300 。主要考虑,有些新上 SkyWalking Agent 的项目,代码可能比较糟糕。
5export JAVA_AGENT=-javaagent:/home/ubuntu/skywalking-agent/skywalking-agent.jar # SkyWalking Agent jar 地址。
1java $JAVA_AGENT -jar yourapp.jar
2#或者
3java -javaagent:<skywalking-agent-path> -jar yourApp.jar
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。