Agent集成

背景

ShardingSphere-Agent 是独立自主设计,基于Bytebuddy字节码增加的项目,基于插件化的设计,可以无缝隙的与ShardingSphere集成,

目前有提供 Log, metrics, APM 等可观测性功能。

使用方法

本地构建

  1. > cd shardingsphere/shardingsphere-agent
  2. > mvn clean install

远程下载(暂未发布)

  1. > weget http://xxxxx/shardingsphere-agent.tar.gz
  2. > tar -zxvcf shardingsphere-agent.tar.gz

启动时添加参数

  1. -javaagent:\absolute path\shardingsphere-agent.jar

Agent配置

在本地打包目录和解压缩目录下找到: agent.yaml

  1. applicationName: shardingsphere-agent # 应用名称
  2. ignoredPluginNames: #忽略的插件集合,表示集合里面的插件不生效
  3. - Opentracing
  4. - Jaeger
  5. - Zipkin
  6. - Prometheus
  7. - OpenTelemetry
  8. - Logging
  9. plugins:
  10. Prometheus:
  11. host: "localhost" #prometheus暴露的host
  12. port: 9090 #prometheus暴露的端口
  13. props:
  14. JVM_INFORMATION_COLLECTOR_ENABLED : "true"
  15. Jaeger:
  16. host: "localhost" #jaeger服务的host
  17. port: 5775 #jaeger服务的端口
  18. props:
  19. SERVICE_NAME: "shardingsphere-agent"
  20. JAEGER_SAMPLER_TYPE: "const"
  21. JAEGER_SAMPLER_PARAM: "1"
  22. JAEGER_REPORTER_LOG_SPANS: "true"
  23. JAEGER_REPORTER_FLUSH_INTERVAL: "1"
  24. Zipkin:
  25. host: "localhost" #zipkin服务的host
  26. port: 9411 #zipkin服务的prot
  27. props:
  28. SERVICE_NAME: "shardingsphere-agent"
  29. URL_VERSION: "/api/v2/spans" #zipkin服务的抓取span的uri
  30. Opentracing:
  31. props:
  32. OPENTRACING_TRACER_CLASS_NAME: "org.apache.skywalking.apm.toolkit.opentracing.SkywalkingTracer"
  33. OpenTelemetry:
  34. props:
  35. otel.resource.attributes: "service.name=shardingsphere-agent" #opentelemetry的Resource信息,多个配置可用','分隔
  36. otel.traces.exporter: "zipkin" #traces数据的导出器
  37. Logging:
  38. props:
  39. LEVEL: "INFO" #打印的日志级别

以上为agent的所有配置,注意:当配置 ignoredPluginNames时候,表示集合里面的插件会被忽略!