说明:
springboot项目加入skywalking,达到链路日志监控的目的.
Skywalking OAP后端服务和SkyWalking UI前端服务; OAP服务数据存储采用H2(默认),不选esSkyWailking Agent
参考:https://www.iocoder.cn/SkyWalking/install/?skywalkinng
https://blog.csdn.net/AliEnCheng/article/details/126529335
官网安装包下载地址:https://skywalking.apache.org/downloads/#KubernetesHelm
https://dlcdn.apache.org/skywalking/9.3.0/apache-skywalking-apm-9.3.0.tar.gz


https://dlcdn.apache.org/skywalking/java-agent/8.14.0/apache-skywalking-java-agent-8.14.0.tgz


在服务器/usr/local目录新建skywalking文件夹,将apm压缩包传输到该文件夹,并解压:
tar -zxcf apache-skywalking-java-agent-8.14.0.tgz
解压后文件夹:

-bash-4.2$ ll apache-skywalking-apm-bin/
total 108
drwxrwxr-x 2 paasops paasops 241 Mar 8 10:15 bin --> 存放服务的启动脚本
drwxrwxr-x 12 paasops paasops 4096 Mar 10 15:00 config --> 存放配置文件
drwxrwxr-x 2 paasops paasops 68 Mar 8 10:15 config-examples
-rw-r--r-- 1 paasops paasops 43740 Feb 18 2022 LICENSE
drwxr-xr-x 3 paasops paasops 4096 Mar 8 10:15 licenses
-rw-r--r-- 1 paasops paasops 1393 Feb 18 2022 LICENSE.tpl
drwxrwxr-x 2 paasops paasops 109 Mar 8 10:34 logs
-rw-r--r-- 1 paasops paasops 30503 Feb 18 2022 NOTICE
drwxr-xr-x 2 paasops paasops 12288 Feb 18 2022 oap-libs
-rw-r--r-- 1 paasops paasops 1947 Feb 18 2022 README.txt
drwxrwxr-x 4 paasops paasops 52 Mar 8 10:15 tools
drwxrwxr-x 2 paasops paasops 76 Mar 10 16:48 webapp --> 与skywalking UI有关
在apache-skywalking-apm-bin文件夹新建一个agent文件夹,将agent压缩包放到此处并解压:
tar -zxcf apache-skywalking-java-agent-8.14.0.tgz
解压后的文件夹

-bash-4.2$ ll skywalking-agent/
total 21348
drwxrwxr-x 2 paasops paasops 4096 Jan 12 11:38 activations
drwxrwxr-x 2 paasops paasops 131 Jan 12 11:39 bootstrap-plugins
drwxrwxr-x 2 paasops paasops 26 Mar 8 11:48 config
-rw-rw-r-- 1 paasops paasops 12911 Jan 12 11:36 LICENSE
drwxrwxr-x 2 paasops paasops 29 Jan 12 11:36 licenses
drwxrwxr-x 2 paasops paasops 32 Mar 8 12:37 logs
-rw-rw-r-- 1 paasops paasops 10003 Jan 12 11:36 NOTICE
drwxrwxr-x 2 paasops paasops 4096 Jan 12 11:39 optional-plugins
drwxrwxr-x 2 paasops paasops 131 Jan 12 11:39 optional-reporter-plugins
drwxrwxr-x 2 paasops paasops 8192 Jan 12 11:38 plugins
-rw-rw-r-- 1 paasops paasops 21808716 Jan 12 11:36 skywalking-agent.jar --> 待使用的jar包
skywalking/apache-skywalking-apm-bin/config文件夹下的application.yml文件:

默认存储使用h2,不做修改
启动oap, 进入skywalking/apache-skywalking-apm-bin/bin,执行脚本:./oapService.sh
可在skywalking/apache-skywalking-apm-bin/logs文件夹查看日志:

注意:
SkyWalking-oap-server服务启动后会暴露11800和12800两个端口,分别为收集监控数据的端口11800和接收前端请求的端口12800
/usr/local/skywalking/apache-skywalking-apm-bin/webapp/application.yaml配置文件:

启动UI:进入/usr/local/skywalking/apache-skywalking-apm-bin/bin目录执行启动脚本:./webappService.sh
启动命令添加参数:
-javaagent:/usr/local/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent/skywalking-agent.jar --> agent包的位置
-DSW_AGENT_NAME=secondalert-test --> 应用名
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 --> 收集数据的地址example:
java -javaagent:/usr/local/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent/skywalking-agent.jar -DSW_AGENT_NAME=secondalert-test -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 -Dspring.profiles.active=test -Dlogging.file.path=/data/paasops/logs/paas/paas-service-secondalert -jar /data/paasops/paas/service-secondAlert/paas-ops-secondalert-0.0.1.jar
访问UI地址:服务器ip:端口(xxx.xxx.xxx.162:8080)
看到对应的服务名表示成功:

参考:
https://cloud.tencent.com/developer/article/1695427
官方文档:
https://skywalking.apache.org/docs/main/v9.3.0/en/setup/backend/backend-docker/
docker pull apache/skywalking-oap-server:9.0.0 -> oap镜像
docker pull apache/skywalking-ui:9.0.0 -> UI镜像
docker run --name oap --restart always -d apache/skywalking-oap-server:9.0.0–> 启动oap
docker run -d --name skywalking-ui -e TZ=Asia/Shanghai -p 8088:8080 --link oap:oap -e SW_OAP_ADDRESS=oap:12800 apache/skywalking-ui:9.0.0 --> 启动UI
注意:
因为UI需要访问oap的相应端口,需要设置变量SW_OAP_ADDRESS
那么两个容器之间该如何访问?
1. 可以采用 --link 参数,然后直接使用容器名访问
2. 也可以直接通过ip地址访问,:如果两个容器在同一台服务器上运行(ip为:121.1xx.12x.162),那么SW_OAP_ADDRESS=121.1xx.12x.162:12800
参考:
https://www.jianshu.com/p/4f4c182bcbd8
将三个服务放到一个pod中:
新建一个deployment.yml文件:
apiVersion: apps/v1
kind: Deployment
metadata:name: oap-deployment --> deployment名字namespace: kube-tracing -->命名空间labels:app: oap-tag --> 标签
spec:selector:matchLabels:app: oap-tagtemplate:metadata:labels:app: oap-tagrelease: skywalkingspec:containers:- name: oapimage: 192.168.116.126:18080/skywalking/skywalking-oap-server:latest -->镜像位置imagePullPolicy: Alwaysports:- containerPort: 11800name: grpc- containerPort: 12800name: restresources:requests:memory: 2Gilimits:memory: 2Gienv:- name: JAVA_OPTSvalue: "-Xmx1g -Xms1g"- name: demoimage: 192.168.116.126:18080/skywalking/demo:latestimagePullPolicy: Alwaysports:- containerPort: 8079env:- name: SW_AGENT_COLLECTOR_BACKEND_SERVICESvalue: 127.0.0.1:11800- name: SW_AGENT_NAMEvalue: test-demo-2- name: sk-uiimage: 192.168.116.126:18080/skywalking/skywalking-ui:6.6.0imagePullPolicy: Alwaysports:- containerPort: 8080env:- name: SW_OAP_ADDRESSvalue: 127.0.0.1:12800
启动:
kubectl apply -f deployment.yml
查看:
kubectl get deployment -n kube-tracing
kubectl get pod -n kube-tracing
新建一个oap-service.yml文件
apiVersion: v1
kind: Service
metadata:name: oap-servicenamespace: kube-tracing
spec:type: NodePortselector:app: oap-tagports:- name: restport: 8080nodePort: 30081- name: backport: 8079nodePort: 30079
启动:
kubectl apply -f oap-service.yml