SkyWalking集成Kafka实现日记异步采集履历总结

打印 上一主题 下一主题

主题 861|帖子 861|积分 2583

 SkyWalking日记异步采集架构


【重点知识】

1、【Agent】kafka-reporter-plugin-x.x.x.jar包放plugins目录后必走kafka(kafka没有精确配置就会报错)
2、【Agent】异步如不开启数据压缩,日记数据较大,pod多、业务大时容易造成网络拥堵
3、【Agent】SW_AGENT_INSTANCE_NAME默认:UUID@hostname,发起调解为:nodeip@podip
4、【Agent】官方说:利用Kafka时skywalking.collector.backend_service参数依然要配置
5、【APM】SkyWalking OAP配置启用kafka并配置好后,OAP启动时会自动创建Topic

环境及帮助文件

SkyWalking-OAP官方下载地址
SkyWalking-OAP帮助文档  -- 配置说明
SkyWalking-Agent官方下载地址
SkyWalking-Agent帮助文档 -- 配置说明
Agent is available for JDK 8 - 21
Oracle JDK8u202(Oracle JDK8末了一个非商业版本)   下载地址:Oracle JDK8u202
skywalking-OAP服务

启用kafka配置
编辑oap配置文件 ${skywalking-apm}/config/application.yml配置
  
  1. # line 323 apache-skywalking-apm-9.6.0
  2. kafka-fetcher:
  3.   selector: ${SW_KAFKA_FETCHER:default}
  4.   default:
  5.     # 多个使用逗到分隔
  6.     bootstrapServers: ${SW_KAFKA_FETCHER_SERVERS:localhost:9092}
  7.     namespace: ${SW_NAMESPACE:""}
  8.     # 默认3,几个消费者就配几
  9.     partitions: ${SW_KAFKA_FETCHER_PARTITIONS:3}
  10.     # 不能超过kafka集群机器的数量,默认2
  11.     replicationFactor: ${SW_KAFKA_FETCHER_PARTITIONS_FACTOR:2}
  12.     enableNativeProtoLog: ${SW_KAFKA_FETCHER_ENABLE_NATIVE_PROTO_LOG:true}
  13.     enableNativeJsonLog: ${SW_KAFKA_FETCHER_ENABLE_NATIVE_JSON_LOG:true}
  14.     consumers: ${SW_KAFKA_FETCHER_CONSUMERS:1}
  15.     kafkaHandlerThreadPoolSize: ${SW_KAFKA_HANDLER_THREAD_POOL_SIZE:-1}
  16.     kafkaHandlerThreadPoolQueueSize: ${SW_KAFKA_HANDLER_THREAD_POOL_QUEUE_SIZE:-1}
  17. ...
复制代码
skywalking-agent服务

履历

-》 kafka-reporter-plugin-x.x.x.jar 这个包放plugins目录后必走kafka,如果kafka没有精确配置就会报错
-》 不压缩的环境下,一次请求约1KB日记
-》SW_AGENT_INSTANCE_NAME  默认:UUID@hostname,发起:host_ip@pod_ip
-》利用Kafka时skywalking.collector.backend_service参数依然要配置(官方说的)
开启Kafka


  • 将${skywalking-agent}/optional-reporter-plugins/kafka-reporter-plugin-x.x.x.jar 拷贝到 ${skywalking-agent}/plugins
开启消息数据压缩

# optional-reporter-plugins下面任选一种(lz4、snappy、zstd-jni)压缩实现包即可

  • 将${skywalking-agent}/optional-reporter-plugins/zstd-jni-x.x.x.jar 拷贝到 ${skywalking-agent}/plugins
Springboot应用增加jvm参数

应用启动参数,多个kafka地址利用逗号分割
  
  1. # myApp 改为你的包名
  2. java \
  3. -javaagent:/usr/local/agent/skywalking-agent.jar \
  4. -Dskywalking.agent.service_name=myApp \
  5. -Dskywalking.collector.backend_service=aigoServer:11800 \
  6. -Dskywalking.plugin.kafka.bootstrap_servers=10.81.**.14:9092 \
  7. -Xmx1g \
  8. myApp.jar
复制代码
Tomcat应用增加jvm参数

应用启动参数,多个kafka地址利用逗号分割
  
  1. #  myApp 改为实际应用名
  2. JAVA_OPTS="$JAVA_OPTS --javaagent:/usr/local/agent/skywalking-agent.jar \
  3. -Dskywalking.agent.service_name=myApp \
  4. -Dskywalking.collector.backend_service=aigoServer:11800 \
  5. -Dskywalking.plugin.kafka.bootstrap_servers=10.81.**.14:9092"
复制代码
说明:
利用Kafka时skywalking.collector.backend_service参数依然要配置(官方说的)

附件

附件一: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形式
  1. # 客户端参数两种key形式
  2. -Dskywalking.agent.service_name=smet-rpc-service
  3. -javaagent:/app/saashealth/skywalking-agent/skywalking-agent-9.2.0/skywalking-agent.jar
  4. -Dskywalking.plugin.kafka.bootstrap_servers=10.130.***.92:19092
  5. -Dskywalking.collector.backend_service=10.130.***.92:11801
复制代码
# 大写变量形式
  1. -DSW_AGENT_NAME=smet-rpc-service \
  2. -javaagent:/app/saashealth/skywalking-agent/skywalking-agent-9.2.0/skywalking-agent.jar \
  3. -DSW_KAFKA_BOOTSTRAP_SERVERS=10.130.***.92:19092 \
  4. -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=10.130.***.92:11801 \
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天津储鑫盛钢材现货供应商

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表