SpringBoot整合Skywalking

下载Java Agent

官网:https://skywalking.apache.org/downloads/

提示:Agent最好到网上找一找之前的版本,新版本可能有bug,如果出现了并且网上也几乎没有这个版本的解决方法那么就切换之前的版本

本地启动时

复制代码
-javaagent:d:\opt\skywalking-agent\skywalking-agent.jar 
-Dskywalking.agent.service_name=bm-member-service-app
-Dskywalking.collector.backend_service=192.168.11.221:11800

这三个参数是在启动Java应用时用来配置Apache SkyWalking Java Agent的JVM参数,它们各自代表的意义如下:

复制代码
-javaagent:d:\opt\skywalking-agent\skywalking-agent.jar

这个参数指定了SkyWalking Java Agent的路径和文件名。当你在启动Java应用时使用这个参数,JVM将会加载这个Agent。在这个例子中,Agent位于d:\opt\skywalking-agent\skywalking-agent.jar。Agent负责收集应用的性能数据、追踪信息等,并按照配置发送给SkyWalking后端服务。

复制代码
-Dskywalking.agent.service_name=bm-product-service-app

这个系统属性设置了被监控服务的名称。在SkyWalking中,每个应用或服务都需要一个唯一的名称以便于在UI界面识别和管理。在这个例子中,服务名称被设定为bm-product-service-app,这将帮助区分和标识你的应用在SkyWalking监控界面中的显示和报告。

复制代码
-Dskywalking.collector.backend_service=192.168.11.221:11800

此参数配置了SkyWalking后端collector(收集器)的服务地址和端口号。数据将被发送到这个地址上进行处理和分析。在这个例子中,collector运行在IP地址为192.168.11.221的主机上,监听端口为11800。确保这个地址是正确的,且SkyWalking OAP Server正在此地址上运行并等待接收数据。

k8s部署

dockerfile文件

dockerfile 复制代码
# 基础镜像
FROM registry.cn-beijing.aliyuncs.com/205erp/myopenjdk:8.5
# 设置工作目录
WORKDIR /opt
# 拷贝jar包到工作目录
COPY target/*.jar app.jar
RUN  ls
# 设置暴漏的端口
EXPOSE 8080
# 启动jar包
#ENTRYPOINT ["java","-jar","app.jar"]

CMD java ${JAVA_TOOL_OPTIONS} -jar app.jar

k8s发布yaml时添加skywalking的环境变量

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: projectName  #项目名称
spec:
  replicas: 1
  selector:
    matchLabels:
      app: projectName		#项目名称
  template:
    metadata:
      labels:
        app: projectName		#项目名称
    spec:
      containers:
        - name: projectName		#项目名称	
          image: 	#项目镜像
          ports:
            - containerPort: 8080
          env: # 添加Skywalking环境变量配置
            - name: SW_AGENT_NAME
              value: "bm-member-service-app"		#部署项目名称
            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
              value: "192.168.11.221:11800"			#k8s部署服务器ip及端口 /  域名
            - name: JAVA_TOOL_OPTIONS
              value: "-javaagent:/skywalking-agent/skywalking-agent.jar"	#agent jar包
          volumeMounts: # 添加日志挂载配置
            - name: app-logs
              mountPath: /logs
      volumes: # 定义挂载卷
        - name: app-logs
          hostPath: # 使用HostPath类型挂载到主机
            path: /logs # 这里填写主机上的日志目录路径
            type: DirectoryOrCreate # 如果需要自动创建目录
相关推荐
江南一点雨8 分钟前
ChatGPT与最大似然估计
后端
程序员爱钓鱼1 小时前
Go语言实战案例-判断一个数是否为质数
后端·google·go
程序员爱钓鱼1 小时前
Go语言实战案例-读取本地文本文件内容
后端·google·go
fouryears_234178 小时前
Spring,Spring Boot 和 Spring MVC 的关系以及区别
java·spring boot·spring·mvc
板板正9 小时前
SpringAI——提示词(Prompt)、提示词模板(PromptTemplate)
java·spring boot·ai·prompt
板板正9 小时前
SpringAI——对话记忆
java·spring boot·ai
mCell9 小时前
Go 并发编程基础:从 Goroutine 到 Worker Pool 实践
后端·性能优化·go
Python智慧行囊10 小时前
Flask 框架(一):核心特性与基础配置
后端·python·flask
皮皮林55110 小时前
为什么 SpringBoot 宁可挨骂也要干掉 spring.factories?
spring boot
ん贤11 小时前
如何加快golang编译速度
后端·golang·go