1、下载SkyWalking APM
1.手动下载
Downloads | Apache SkyWalkinghttps://skywalking.apache.org/downloads/
2.链接下载
2、解压压缩包
随便上传到服务器某个路径,自己找得到就行
cd /www/wwwroot/skywalking
tar -zxvf apache-skywalking-apm-10.2.0.tar.gz
查看bin目录下的文件
cd /www/wwwroot/skywalking/apache-skywalking-apm-bin/bin
一般来说linux启动应用的都是
./startup.sh
3、修改配置文件
1.修改webapp配置
进入webapp目录下修改端口
IP+:12800
2.修改skywalking服务配置
进入config目录下修改一些配置
观察到服务注册这里,默认走的单机模式,下面还有zookeeper、nacos等注册中心,加入需要切换调整上面配置即可,这里我选的默认。
假设你需要使用nacos作为配置中心,可以按下述描述进行修改配置
cluster:
selector: ${SW_CLUSTER:nacos} # 设置为 nacos
nacos:
serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"} # 注册的服务名称
hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:localhost:8848} # Nacos 地址
namespace: ${SW_CLUSTER_NACOS_NAMESPACE:"public"} # Nacos 命名空间
contextPath: ${SW_CLUSTER_NACOS_CONTEXT_PATH:""} # Nacos 上下文路径(可选)
username: ${SW_CLUSTER_NACOS_USERNAME:""} # Nacos 用户名(如果启用了认证)
password: ${SW_CLUSTER_NACOS_PASSWORD:""} # Nacos 密码(如果启用了认证)
accessKey: ${SW_CLUSTER_NACOS_ACCESSKEY:""} # Nacos 访问密钥(可选)
secretKey: ${SW_CLUSTER_NACOS_SECRETKEY:""} # Nacos 秘钥(可选)
internalComHost: ${SW_CLUSTER_INTERNAL_COM_HOST:""} # 内部通信主机(可选)
internalComPort: ${SW_CLUSTER_INTERNAL_COM_PORT:-1} # 内部通信端口(可选)
配置存储数据库:
这里的解释我用AI给大家解释一下:
默认是这个banyandb,但是实际上我们使用ES比较多,关于如何使用ES进行配置如下:
如果想要学习怎么docker部署ES,可以看我下面的博客:
Springboot中使用Elasticsearch(部署+使用+讲解 最完整)_spring boot elasticsearch-CSDN博客文章浏览阅读8k次,点赞34次,收藏72次。最完整最详细的springboot中使用es,在前面有服务器部署es相关的东西,在后面有使用java的实战,对于实战的方法使用结合官网深度去研究和讲解。在这篇文章前面是实战,后面是具体讲解~~~如果只想实战就只看一和二,深入了解就继续看,在未来还会继续更新对这个实战,还有es技术的更新,几万字大长文。_spring boot elasticsearchhttps://blog.csdn.net/qq_73440769/article/details/141477177?spm=1001.2014.3001.5502修改 SkyWalking 配置文件:
storage:
selector: ${SW_STORAGE:elasticsearch} # 设置为 elasticsearch
elasticsearch:
namespace: ${SW_NAMESPACE:""} # 命名空间(可选)
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} # Elasticsearch 地址
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"} # 协议,默认为 http
connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000} # 连接超时时间(毫秒)
socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000} # 套接字超时时间(毫秒)
responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000} # 响应超时时间(毫秒)
numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0} # HTTP 客户端线程数(默认为 0)
user: ${SW_ES_USER:""} # 用户名(如果启用了认证)
password: ${SW_ES_PASSWORD:""} # 密码(如果启用了认证)
dayStep: ${SW_STORAGE_DAY_STEP:1} # 每个索引的时间跨度(天)
indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1} # 每个索引的分片数
indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1} # 每个索引的副本数
查看ES状态是否正常:
ES部署的服务器IP+:9200
4、启动skywalking
1.开放端口
2.配置java环境
建议先配置环境再启动
如果启动出现:
下面提供两种配置方式,选择一个即可,建议第二个,如果已经配置了全局java环境可以忽略这一步。
(1)修改配置文件,指定jdk目录
替换这两个为你jdk的目录
(2)配置Java的home位置
添加这些配置,根据你的jdk位置为准
export JAVA_HOME=/www/server/java/jdk-17.0.8/
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
如果不配置会出现这两个错误
启动后可以查看日志文件:
参考如下AI解释:
3.启动服务
cd /www/wwwroot/skywalking/apache-skywalking-apm-bin/bin
./startup.sh
查看日志:
查看有无报错,没有报错就是启动成功
访问:IP+:8902
5、如何关闭服务
个人觉得,应该也可以写个stop.sh进行自己关闭,不过需要自己去编写配置文件
分别关掉这两个进程,注意PID根据实际的选择
sudo lsof -i :8902
sudo lsof -i :12800
kill -9 +PID
6、Skywalking-agent代理Java服务
1.下载Skywalking-agent
Downloads | Apache SkyWalkinghttps://skywalking.apache.org/downloads/
2.下载后解压进服务器
cd /www/wwwroot/skywalking
tar -zxvf apache-skywalking-java-agent-9.4.0.tgz
3.修改代理配置 agent.config
可以通过ctrl+F定位到这两个配置:
agent.service_name
collector.backend_service
修改服务名称
我会起有具体意义的名称
4.准备java服务
这个就是我自己的jar服务,进行配置代理检测
nohup /www/server/java/jdk-17.0.8/bin/java \
-Xmx1024M \
-Xms256M \
-javaagent:/www/wwwroot/skywalking/skywalking-agent/skywalking-agent.jar \
-DSW_SERVICE_NAME=quick-server \
-jar /www/wwwroot/quick_pickup_java/quick-server-0.0.1-SNAPSHOT.jar \
> /www/wwwroot/quick_pickup_java/app.log 2>&1 &
AI解释:
5.启动Java服务
启动服务后出现:
至此完成部署。
7、使用教程
等摸索熟悉后,后续会进行补充
8、参考
参考这位大佬的文章: