可观察性

    agent 包输出目录为 distribution/agent/target/apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz

    目录说明

    创建 agent 目录,解压 agent 二进制包到 agent 目录。

    1. tar -zxvf apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz -C agent
    2. cd agent
    3. tree
    4. ├── LICENSE
    5. ├── NOTICE
    6. └── agent.yaml
    7. ├── plugins
    8. ├── lib
    9. ├── shardingsphere-agent-metrics-core-${latest.release.version}.jar
    10. └── shardingsphere-agent-plugin-core-${latest.release.version}.jar
    11. ├── logging
    12. └── shardingsphere-agent-logging-file-${latest.release.version}.jar
    13. ├── metrics
    14. └── tracing
    15. ├── shardingsphere-agent-tracing-opentelemetry-${latest.release.version}.jar
    16. └── shardingsphere-agent-tracing-opentracing-${latest.release.version}.jar
    17. └── shardingsphere-agent-${latest.release.version}.jar

    Agent 日志输出位置在 agent/logs/stdout.log

    插件说明

    File

    目前 File 插件只有构建元数据耗时日志输出,暂无其他日志输出。

    Prometheus

    用于暴露监控指标

    • 参数说明

    OpenTelemetry

    OpenTelemetry 可以导出 tracing 数据到 Jaeger,Zipkin。

    • 参数说明
    • 编辑启动脚本

    配置 shardingsphere-agent-${latest.release.version}.jar 的绝对路径到 ShardingSphere-Proxy 的 start.sh 启动脚本中,请注意配置自己对应的绝对路径。

    1. nohup java ${JAVA_OPTS} ${JAVA_MEM_OPTS} \
    2. -javaagent:/xxxxx/agent/shardingsphere-agent-${latest.release.version}.jar \
    • 启动 ShardingSphere-Proxy

    正常启动后,可以在 ShardingSphere-Proxy 日志中找到 plugin 的加载信息,访问 Proxy 后,可以通过配置的监控地址查看到 MetricTracing 的数据。

    通过容器环境使用

    • 假设本地已完成如下的对应配置。

      • 包含 ShardingSphere-Agent 二进制包解压后的所有文件的文件夹 ./custom/agent/
      • 包含 server.yaml 等 ShardingSphere-Proxy 的配置文件的文件夹为 ./custom/conf/
    • 此时可通过环境变量 来配置 ShardingSphere-Agent 的使用。 以在 Docker Compose 环境下启动为例,合理的 docker-compose.yml 示例如下。
    1. version: "3.8"
    2. services:
    3. apache-shardingsphere-proxy:
    4. image: apache/shardingsphere-proxy:latest
    5. environment:
    6. JVM_OPTS: "-javaagent:/agent/shardingsphere-agent-${latest.release.version}.jar"
    7. PORT: 3308
    8. volumes:
    9. - ./custom/agent/:/agent/
    10. - ./custom/conf/:/opt/shardingsphere-proxy/conf/
    11. ports:
    12. - "13308:3308"