访问数据库的网站开发语言,网页设计制作教程,各地好的深圳影视广告,李沧做网站第五篇 基于nacos搭建分布式项目 分布式系统日志#xff08;skywalkinges#xff09; 项目所需 maven nacos java8 idea git mysql redis skywalking es 本文主要从客户下单时扣减库存的操作#xff0c;将链路日志模拟出来#xff0c;网关系统/用户系统/商品系统/订…
第五篇 基于nacos搭建分布式项目 分布式系统日志skywalkinges 项目所需 maven nacos java8 idea git mysql redis skywalking es 本文主要从客户下单时扣减库存的操作将链路日志模拟出来网关系统/用户系统/商品系统/订单系统
上文只介绍了skywalking的使用使用的默认配置与h2存储本文补充为es查询。 基于nacos搭建分布式项目 分布式系统日志 es与kibana版本建议配置信息eskibana 启动验证 skywalking 配置更改es存储重启前需要先关闭之前启动的skywalking启动命令校验是否与es建立连接第一步检查skywalking与es连接第二步查看有没有自动创建es索引第三步启动所有项目验证 第四步查看日志有没有存储到es第五步查看skywalking页面是否正常 结尾 es与kibana
安装与配置本文就不写了往上都有需要注意的是版本使用问题。 本文使用的6.8.23
版本建议 Elasticsearch 5.x 和 6.x 版本与 Java 8 兼容性最好 Elasticsearch 7.x 需要 Java 11但某些早期 7.x 版本仍支持 Java 8 kibana与es版本保持一致即可
# 检查系统架构
uname -mwget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.23.tar.gzwget https://artifacts.elastic.co/downloads/kibana/kibana-6.8.23-linux-x86_64.tar.gz
配置信息
es
需要修改的信息
/opt/elasticsearch/config/elasticsearch.yml
network.host: 0.0.0.0kibana
需要修改的信息
/opt/kibana/config/kibana.yml
server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: [http://localhost:9200]
kibana.index: .kibana启动验证
http://192.168.99.104:9200
http://192.168.99.104:5601skywalking 配置更改es存储
重启前需要先关闭之前启动的skywalking
# 第一步先删除上一次的日志信息 方便排查启动问题
cd /youfileName/apache-skywalking-apm-bin/logsrm -rf skywalking-oap-server.log# 修改配置文件
vim /youfileName/apache-skywalking-apm-bin/config/application.yml
# 默认为h2 修改为elasticsearch 默认配置中的端口都是配置好的如果你修改了es的用户名和密码 记得修改
selector: ${SW_STORAGE:elasticsearch}
启动命令
因为上次已经启动部署过了没有关闭。修改配置文件需要先关闭重启。如果直接重启配置文件不会生效。
# 先查看有没有 skywalking 的程序在跑
ps aux | grep -i skywalking
# 关闭所有关于skywalking的应用
sudo pkill -f skywalking
# 重新启动
sh ./oapService.sh
SkyWalking OAP started successfully!原神启动校验是否与es建立连接
第一步检查skywalking与es连接
cd /youfielName/apache-skywalking-apm-bin/logs
cat skywalking-oap-server.log
# 看看日志中有没有获取到es版本信息
2025-06-15 15:14:40,077 - org.apache.skywalking.library.elasticsearch.ElasticSearch - 146 [armeria-eventloop-epoll-4-2] INFO [] - ElasticSearch version is: ElasticSearch 6.8第二步查看有没有自动创建es索引
curl http://192.168.99.104:9200/_cat/indices?v
# 默认情况下 skywalking会在es中创建sw_log-20250615 看查询出来的索引信息中有没有 http://192.168.99.104:9200/sw_log-*/_mapping?pretty
# 查看skywalking索引有没有创建成功第三步启动所有项目
这里我演示的是客户下单时扣减库存的操作启动之后请求登陆然后下单。
# 这个是order服务请求
http://192.168.99.104:8070/order/goods/get?productId1TID: [SegmentId].[SpanId].[Timestamp] TID:af7d7480fd8a4f4eb1273b0949ce11b6.58.17499719070320001 这个就是skywalking默认注入的tid同一链路会通过请求头传递 SegmentId唯一标识一个服务实例的调用链段 SpanId标识当前调用环节在调用链中的位置 Timestamp纳秒级时间戳
验证
order-service 在8070 goods-service在8090
第四步查看日志有没有存储到es
GET /sw_log-20250615/_search?scroll1mpretty
{size: 100,query: {match_all: {}}
}第五步查看skywalking页面是否正常
通过同一链路id可以查询到当前链路下的所有日志
小结 之后楼主会解锁更多适合初学者关于分布式系统的文章更新自己的技术库如果有不明白的欢迎评论留言这里谢谢大家阅读。
结尾
第一篇快速部署一套分布式服务
第二篇 基于nacos搭建分布式项目 网关
第三篇 搭建分布式项目 分布式事务分布式锁事务
第四篇 搭建分布式项目日志 skywalking初体验
希望本文可以帮到你。