下载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 # 如果需要自动创建目录