持久化存储用Mariadb数据库实现
加载Mariadb驱动(从Maven仓库中下载)
kubectl create cm mariadb-java-client \
--from-file=mariadb-java-client-3.1.3.jar -n taowo
部署OAP
apiVersion: apps/v1
kind: Deployment
metadata:
name: oap
namespace: taowo
spec:
replicas: 1
selector:
matchLabels:
app: oap
k8s.taowowang.cn/app: skywalking
template:
metadata:
labels:
app: oap
k8s.taowowang.cn/app: skywalking
spec:
containers:
- name: oap
image: apache/skywalking-oap-server:9.4.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 11800
name: grpc
- containerPort: 12800
name: web
env:
- name: TZ
value: Asia/Shanghai
- name: SW_STORAGE
value: mysql
- name: SW_JDBC_URL
value: "jdbc:mariadb://db-proxy.taowo.svc.cluster.local:3306/sw"
- name: SW_DATA_SOURCE_USER
value: "root"
- name: SW_DATA_SOURCE_PASSWORD
value: "cBrwByPr3lxx1mQ5"
volumeMounts:
- name: mariadb-java-client
mountPath: /skywalking/oap-libs/mariadb-java-client-3.1.3.jar
subPath: mariadb-java-client-3.1.3.jar
volumes:
- name: mariadb-java-client
configMap:
name: mariadb-java-client
服务
apiVersion: v1
kind: Service
metadata:
name: oap
namespace: taowo
labels:
service: oap
spec:
ports:
- port: 12800
name: web
- port: 11800
name: grpc
selector:
app: oap
添加ui pod
apiVersion: apps/v1
kind: Deployment
metadata:
name: skywalking-ui
namespace: taowo
labels:
app: ui
spec:
replicas: 1
selector:
matchLabels:
app: ui
template:
metadata:
labels:
app: ui
spec:
containers:
- name: ui
image: apache/skywalking-ui:9.4.0
ports:
- containerPort: 8080
name: web
env:
- name: SW_OAP_ADDRESS
value: http://oap.taowo.svc.cluster.local:12800
- name: TZ
value: Asia/Shanghai
ui服务
apiVersion: v1
kind: Service
metadata:
name: sw-ui-svc
namespace: taowo
spec:
externalIPs:
- 192.168.1.41
ports:
- name: web
port: 8680
protocol: TCP
targetPort: 8080
selector:
app: ui
sessionAffinity: None
type: ClusterIP
http://192.168.1.41:8680/
到此部署完毕
SpringBoot集成 下载java agent 8.15.0
buid.gradle
dependencies {
implementation "org.springframework.boot:spring-boot-starter-web"
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
implementation 'org.apache.skywalking:apm-toolkit-trace:8.15.0'
implementation 'org.apache.skywalking:apm-toolkit-opentracing:8.15.0'
implementation 'org.apache.skywalking:apm-toolkit-logback-1.x:8.15.0'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
添加日志输出: logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
<!-- 日志存放路径 -->
<property name="log.path" value="logs" />
<!-- 日志输出格式 -->
<property name="log.pattern"
value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} %tid - [%method,%line] - %msg%n"/>:ss} %-5level
${springAppName:-} %thread %logger %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<pattern>${log.pattern}</pattern>
</layout>
</encoder>
</appender>