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

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.dtcms.com/a/295743.html

相关文章:

  • 基于Qt和OpenCV的图片与视频编辑器
  • 完整指南:使用Apache htpasswd为Chronograf配置基础认证及功能详解
  • 响应式前端设计:CSS 自适应布局与字体大小的最佳实践
  • spring boot h2数据库无法链接问题
  • 数学基础弱能学好大数据技术吗?
  • JimuReport 积木报表 v2.1.1 版本发布,免费开源的报表和大屏
  • 基于定制开发开源AI智能名片S2B2C商城小程序源码的立减/立得类活动创新设计与应用研究
  • 2025年计算机网络与教育科学国际会议(ICCNES 2025)
  • Spring MVC中常用注解_笔记
  • Kafka入门指南:从零开始掌握分布式消息队列
  • uniapp vue3版本中使用pinia 以及持久化处理
  • 【自用】NLP算法面经(6)
  • TCP重传率优化在云服务器网络协议栈的调优实践
  • MySQL高可用部署
  • 深度分析Android多线程编程
  • aml1-eto 移植后多长时间转阴
  • Android跨进程通信完全教程:从基础到实战
  • 从0开始学习R语言-Day56--空间变系数模型
  • 进阶向:基于Python的轻量级Markdown笔记管理器
  • git鉴权失败问题每次clone 都要输入用户名密码问题
  • Two Knights(数学归纳)
  • 本地部署Jupyter服务,没有公网IP如何用内网穿透工具实现外网远程访问?
  • 人形机器人_双足行走动力学:Maxwell模型及在拟合肌腱特性中的应用
  • Linux 下安装Python指定版本(可离线安装)
  • Java学习----工厂方法模式
  • 线程通信模型
  • 中国西北典型绿洲区土壤水分特征(2018-2019年)
  • [火了]-----FastGPT 插件系统架构演进:从 Monorepo 到独立生态
  • Spring MVC 统一响应格式:ResponseBodyAdvice 从浅入深
  • 快速将前端得依赖打为tar包(yarn.lock版本)并且推送至nexus私有依赖仓库(笔记)