阿里云日志服务(SLS)Jaeger 存储插件教程
aliyun-log-jaeger项目地址:https://gitcode.com/gh_mirrors/al/aliyun-log-jaeger
1. 项目目录结构及介绍
阿里云日志服务(SLS)Jaeger 存储插件的目录结构如下:
.
├── examples # 示例代码和配置
│ ├── docker-compose.yaml # Docker Compose配置文件,用于快速部署
│ └── ... # 其他示例文件
├── Dockerfile # Docker镜像构建文件
├── config.yaml.template # 配置模板文件
├── go.mod # Go语言模块依赖管理文件
├── go.sum # Go语言模块依赖校验文件
├── main.go # 主程序入口文件
└── ... # 其他源代码和资源文件
examples
: 提供了示例配置和部署脚本,便于快速启动和测试插件。Dockerfile
: 用于构建Docker镜像的文件,包含了运行插件所需的环境。config.yaml.template
: 存储插件的配置文件模版,可以据此修改配置。go.mod
和go.sum
: Go语言项目管理和依赖的文件,确保编译时使用的库版本一致。main.go
: 插件的主程序,负责加载配置并启动存储适配器。
2. 项目启动文件介绍
主要的启动文件是docker-compose.yaml
,这是一个Docker Compose配置文件,用于定义和启动Jaeger和SLS存储插件的服务。在examples
目录下,你可以找到该文件。在适当的地方替换默认配置,如访问阿里云的密钥、SLS的日志投递地址等,然后执行docker-compose up -d
来启动服务。
version: '3'
services:
...
jaeger-collector:
image: jaegertracing/jaeger-collector:latest
ports:
- "14267:14267" # thrift compact protocol (agent-to-collector)
- "14268:14268" # http json protocol (collector-to-backend)
jaeger-sls-store:
build: .
environment:
- ...
volumes:
- ./config.yaml:/app/config.yaml # mount custom config
这里,jaeger-collector
启动Jaeger的收集器服务,而jaeger-sls-store
则用于构建并运行SLS存储插件。
3. 项目配置文件介绍
配置文件是config.yaml.template
,用于设置Jaeger与SLS的连接参数以及插件行为。配置项可能包括:
AliyunLog:
endpoint: "<your-log-service-endpoint>"
accessKeyId: "<your-access-key-id>"
accessKeySecret: "<your-access-key-secret>"
project: "<your-project-name>"
logstore: "<your-logstore-name>"
topic: "<optional-topic-name>"
KindRewriteRules:
# 规则列表,用于转换span的kind属性
- <rule-definition>
endpoint
: 阿里云日志服务的Endpoint。accessKeyId
和accessKeySecret
: 阿里云账号的访问密钥。project
: 需要使用的SLS项目名称。logstore
: 存储Jaeger追踪数据的日志库名称。topic
: (可选)日志主题,用于区分不同的追踪数据流。KindRewriteRules
: (可选)规则列表,用于自定义span的kind
属性转换。
按照实际需求编辑config.yaml
文件,然后在Docker Compose中挂载到jaeger-sls-store
服务。这样,当服务启动时,会读取并应用这些配置。
通过以上步骤,你应该能够成功地理解并部署阿里云日志服务(SLS)Jaeger 存储插件,以便在Jaeger中利用SLS作为后端存储进行分布式追踪数据的持久化。
aliyun-log-jaeger项目地址:https://gitcode.com/gh_mirrors/al/aliyun-log-jaeger
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考