当前位置: 首页 > web >正文

SkyWalking异步采集spring gateway日志

 SkyWalking异步采集spring gateway日志架构

 
环境及帮助文件

SkyWalking-OAP官方下载地址

SkyWalking-OAP帮助文档  -- 配置说明

SkyWalking-Agent官方下载地址

SkyWalking-Agent帮助文档 -- 配置说明

Agent is available for JDK 8 - 21

Oracle JDK8u202(Oracle JDK8最后一个非商业版本)   下载地址:Oracle JDK8u202

【重点知识】

异步采集相关通用配置见:

SkyWalking集成Kafka实现日志异步采集经验总结_skywalking kafka-CSDN博客

下面重点列出gateway集成上的差异

一、拷贝对应版本的gateway插件到插件目录

1、确认自己使用的gateway版本

如:下面是3.1.9

1、${skywalking-agent}/apm-spring-cloud-gateway-3.x-plugin-9.4.0.jar 拷贝到 ${skywalking-agent}/plugins

二、拷贝数据压缩插件到插件目录

说明:集成其他应用或组件同样适用

${skywalking-agent}/optional-reporter-plugins/zstd-jni-1.4.3-1.jar拷贝到 ${skywalking-agent}/plugins

zstd相比snappy-java-1.1.7.3.jar更耗CPU,但它的压缩比非常大,过万个pod的大型系统推荐使用。

三、拷贝链路过滤插件到插件目录

说明:集成其他应用或组件同样适用

${skywalking-agent}/optional-reporter-plugins/apm-trace-ignore-plugin-9.4.0.jar拷贝到 ${skywalking-agent}/plugins

并在agent的config目录创建文件:apm-trace-ignore-plugin.config,内容如下:

#  忽略路径数据上传
#  路径匹配规则
#  /path/?   单个字符
#  /path/*   多个字符
#  /path/**  多个字符和多级路径
#  多个规则使用逗号“,”分割
# 注意: 有些路径需要带要协议名称,是否需要带上参考sw-ui页面采集到的url数据
trace.ignore_path=${SW_AGENT_TRACE_IGNORE_PATH:GET:/actuator/**,/eureka/**}

常见问题

Q1:报NullPointer,打印堆栈异常与fastjson有关

A:这个CPU指标采样插件不要用:trace-sampler-cpu-policy-plugin-9.4.0.jar(其他几个低些的版本也一样),当然,如果你没报这个错,用了就用了也不用删除。

附件

附件一:lz4压缩算法

lz4压缩算法  --- 压缩速度快

GitHub - lz4/lz4: Extremely Fast Compression algorithm

附件二:snappy压缩工具

snappy压缩算法  --- 压缩速度快

GitHub - google/snappy: A fast compressor/decompressor

附件三:Zstd压缩算法

Zstd压缩算法  --- 压缩比高,CPU比较富裕时此算法

GitHub - facebook/zstd: Zstandard - Fast real-time compression algorithm

附件四:Kafka可视化管理工具

-) Kafka Map  -- 国产、开源,通过配置kafka地址实现管理(作者使用)

kafka-map: 一个美观简洁且强大的kafka web管理工具。

-) kafka CMAK -- 通过配置zookeeper地址实现管理(作者使用)

GitHub - yahoo/CMAK: CMAK is a tool for managing Apache Kafka clusters

-) kafka-monitor  -- 开源

https://github.com/linkedin/kafka-monitor/wiki

-) kafka-eagle   -- 商业软件(收费)

EFAK

等等

附件五:客户端配置示例

# 客户端参数两种key形式

# 客户端参数两种key形式
-Dskywalking.agent.service_name=smet-rpc-service
-javaagent:/app/saashealth/skywalking-agent/skywalking-agent-9.2.0/skywalking-agent.jar
-Dskywalking.plugin.kafka.bootstrap_servers=10.130.***.92:19092
-Dskywalking.collector.backend_service=10.130.***.92:11801

# 大写变量形式

-DSW_AGENT_NAME=smet-rpc-service \
-javaagent:/app/saashealth/skywalking-agent/skywalking-agent-9.2.0/skywalking-agent.jar \
-DSW_KAFKA_BOOTSTRAP_SERVERS=10.130.***.92:19092 \
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=10.130.***.92:11801 \

附件六:SkyWalking-OAP配置最佳实践

这里只对几个关键的参数进行说明,这些参数经常是成功实施的关键所在:

1、SW_STORAGE_ES_FLUSH_INTERVAL 默认5秒,这里设置10s

2、SW_STORAGE_ES_CONCURRENT_REQUESTS 默认4,这里设置为2

3、SW_STORAGE_ES_INDEX_SHARDS_NUMBER  -- 这个有资料显示用ES节点数*2,但作者告诉你,你只要设置为2就行了,这个2将是图中这个2,另外几个索引是10(2*5)个分区

注意

  •  修改oap配置需要在重启oap后删除ES索引,oap会自动按新分区数重建
  • 上图几个G只是30分钟的数据(因为作者30分钟前有删除所有索引数据)

4、SW_STORAGE_ES_INDEX_REPLICAS_NUMBER  ES 副本数量设置为0即可

5、SW_KAFKA_FETCHER_CONSUMERS  默认2,不变

6、SW_KAFKA_FETCHER_PARTITIONS  单个消费者消费多少个分区:这里设5,那么2个消费都一共消费10个分区。实际kafka10个分区,这里所有pod(3个集群,每个集群4个oap的pod,共12个oap的pod)都消费所有分区。下图可以看到kafka topic的分区数量

7、SW_KAFKA_FETCHER_PARTITIONS_FACTOR   -- 分区因子,可以是kafka topic的总分区数,也可以是小数,比如:0.2 (表示消费的topic的数量占总数量的比例) 。作者设置为10

总之,读者在实际项目中根据上面的信息结合实际理论上可以优化出一套可行的配置。保证7*24小时不挂

http://www.xdnf.cn/news/16245.html

相关文章:

  • jax study notes[19]
  • 【C++】简单学——list类
  • uniapp写app做测试手机通知栏展示内容
  • 暑期算法训练.7
  • VR全景制作的流程?VR全景制作可以用在哪些领域?
  • 最短路算法
  • 美林数据用大模型重构电能质量评估,让隐蔽合规问题无所遁形
  • es 和 lucene 的区别
  • 比例谐振控制器(PR控制器)在交流系统中的应用原理详细解析
  • 【OpenCV篇】OpenCV——03day.图像预处理(2)
  • AI大模型各类概念扫盲
  • 汽车需求管理的关键要素及适合汽车行业的最佳需求管理解决方案Jama Connect
  • 《设计模式之禅》笔记摘录 - 9.责任链模式
  • 4️⃣字典(dict)速查表
  • 阶段1--域名服务器
  • Java开发岗面试记录合集
  • 一二章笔记总结
  • Ubuntu系统下FFmpeg源码编译安装
  • 【Pytorch】数据集的加载和处理(二)
  • 纯CPU场景下C++的分布式模型训练框架设计思路
  • 刷完jetpack后无法打开安装的浏览器的解决办法useful
  • Linux dd命令 数据备份、转换与磁盘操作的终极工具
  • 分布式任务调度实战:XXL-JOB与Elastic-Job深度解析
  • OpenLayers 快速入门(六)Interaction 对象
  • 模拟实现消息队列项目
  • 7月23日星期三今日早报简报微语报早读
  • C基础 07_综合案例《猜拳游戏》
  • Android NDK与JNI深度解析
  • HarmonyOS Flutter Boost完全接入手册:爬完所有坑的实战指南
  • 双写缓冲区 Redo Log