介绍
skywalking可以实现并接入Java项目中实现分布式链路追踪和监控微服务架构等,可以直观查看调用信息等等。
更多的详细内容见:https://skywalking.apache.org/
服务安装
环境
操作系统:CentOS Linux release 7.9.2009 (Core)
Docker:20.10.21
Docker Compose version: v2.14.0
脚本
.env配置环境
1
2
|
OAP_IMAGE=apache/skywalking-oap-server:9.3.0
UI_IMAGE=apache/skywalking-ui:9.3.0
|
docker-compose.yml配置启动文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
version: '3'
services:
oap:
image: ${OAP_IMAGE}
container_name: oap
ports:
- "11800:11800"
- "12800:12800"
environment:
JAVA_OPTS: "-Xms2048m -Xmx2048m"
ui:
image: ${UI_IMAGE}
container_name: ui
depends_on:
- oap
links:
- oap
ports:
- "8080:8080"
environment:
SW_OAP_ADDRESS: http://oap:12800
|
执行
1
2
3
4
5
|
# 启动服务
docker-compose up -d
# 查看服务是否成功
docker-compose ps
|
浏览
安装的宿主机:8080

Agent安装
本地运行
下载agent的jar包:https://skywalking.apache.org/downloads/#Agents
解压到指定的目录下,比如:/blade/skywalking-agent
1
2
3
4
5
6
|
# 执行脚本
# app.jar是你的应用程序
# SKYWALKING_SERVICE_NAME 这个是服务的名称
# SKYWALKING_SERVICE 这个是skywalking的服务地址
java -javaagent:/blade/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=${SKYWALKING_SERVICE_NAME} -Dskywalking.collector.backend_service=${SKYWALKING_SERVICE}:11800 -Djava.security.egd=file:/dev/./urandom -jar app.jar --spring.profiles.active=test
|
Docker运行
应用程序打包配置
参考例子如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
FROM bladex/alpine-java:openjdk8-openj9_cn_slim
MAINTAINER tangfeizz@outlook.com
ENV SKYWALKING_SERVICE=""
ENV SKYWALKING_SERVICE_NAME=""
RUN mkdir -p /blade/system
WORKDIR /blade/system
EXPOSE 8106
ADD ./target/blade-system.jar ./app.jar
ENTRYPOINT ["sh","-c","java -javaagent:/blade/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=${SKYWALKING_SERVICE_NAME} -Dskywalking.collector.backend_service=${SKYWALKING_SERVICE}:11800 -Djava.security.egd=file:/dev/./urandom -jar app.jar --spring.profiles.active=test"]
|
docker-compose的配置
参考例子如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
blade-system:
image: "${REGISTER}/blade-system:${TAG}"
environment:
- TZ=Asia/Shanghai
- SKYWALKING_SERVICE_NAME=blade-system
- SKYWALKING_SERVICE=${SKYWALKING_SERVICE}
privileged: true
restart: always
volumes:
- /blade/skywalking-agent:/blade/skywalking-agent
networks:
- blade_net
|