配置项概述 #
传输追踪配置控制哪些传输层操作被记录到追踪日志中。通过配置包含和排除模式,可以精确控制需要追踪的网络操作。
| 配置项 | 默认值 | 说明 |
|---|---|---|
transport.tracer.include | [] | 包含的操作模式列表 |
transport.tracer.exclude | [内部操作] | 排除的操作模式列表 |
配置说明 #
transport.tracer.include #
配置项作用:指定需要被追踪的传输操作模式列表。只有匹配这些模式的操作才会被记录。
默认值:[](空列表,表示包含所有操作,除非被排除)
配置类型:动态配置
配置格式:
# 包含所有索引管理操作
transport.tracer.include:
- "indices:admin*"
# 包含所有数据写入操作
transport.tracer.include:
- "indices:data/write*"
# 包含多个类型的操作
transport.tracer.include:
- "indices:data*"
- "cluster:monitor*"
transport.tracer.exclude #
配置项作用:指定不需要被追踪的传输操作模式列表。匹配这些模式的操作不会被记录,即使它们匹配 include 模式。
默认值:
transport.tracer.exclude:
- "internal:discovery/zen/fd*"
- "internal:coordination/fault_detection/*"
- "cluster:monitor/nodes/liveness"
配置类型:动态配置
配置格式:
# 排除所有内部操作
transport.tracer.exclude:
- "internal:*"
# 排除统计收集操作
transport.tracer.exclude:
- "indices:monitor/stats"
- "cluster:monitor/nodes/stats"
# 排除设置更新操作
transport.tracer.exclude:
- "indices:admin/settings*"
模式匹配语法 #
支持的通配符 #
*:匹配任意数量的字符- 模式不使用完整正则表达式,而是简单的通配符匹配
模式示例 #
| 模式 | 匹配的操作 | 不匹配的操作 |
|---|---|---|
indices:admin* | indices:admin/aliasesindices:admin/create | indices:data/write |
indices:data/write* | indices:data/write/bulkindices:data/write/index | indices:data/read/search |
*mapping* | indices:admin/mappings/putindices:admin/get/mappings | indices:admin/aliases |
indices:admin/aliases | indices:admin/aliases(精确匹配) | indices:admin/aliases/get |
操作命名规范 #
传输操作名称遵循分层命名约定:
索引操作 #
indices:admin/ # 索引管理
indices:admin/aliases # 别名管理
indices:admin/create # 创建索引
indices:admin/delete # 删除索引
indices:admin/mappings # 映射管理
indices:admin/settings # 设置管理
indices:data/ # 数据操作
indices:data/read # 读取操作
indices:data/read/search # 搜索
indices:data/write # 写入操作
indices:data/write/bulk # 批量写入
indices:data/write/index # 单文档写入
indices:monitor/ # 监控操作
indices:monitor/stats # 统计信息
集群操作 #
cluster:admin/ # 集群管理
cluster:admin/health # 健康检查
cluster:admin/state # 集群状态
cluster:admin/reroute # 分片路由
cluster:monitor/ # 集群监控
cluster:monitor/nodes # 节点监控
cluster:monitor/health # 健康监控
内部操作 #
internal: # 内部操作
internal:discovery/ # 发现操作
internal:coordination/ # 协调操作
internal:transport/ # 传输操作
使用场景 #
1. 调试网络连接问题 #
# 追踪所有集群级别的操作
transport.tracer.include:
- "cluster:*"
transport.tracer.exclude:
- "cluster:monitor/stats"
- "cluster:monitor/nodes/liveness"
2. 性能分析 #
# 追踪数据写入操作
transport.tracer.include:
- "indices:data/write*"
transport.tracer.exclude: []
3. 安全审计 #
# 追踪所有管理操作
transport.tracer.include:
- "indices:admin*"
- "cluster:admin*"
# 排除高频统计操作
transport.tracer.exclude:
- "*monitor*"
4. 减少日志噪音 #
# 只追踪关键操作
transport.tracer.include:
- "indices:data/write/bulk"
- "indices:data/read/search"
# 排除所有内部操作
transport.tracer.exclude:
- "internal:*"
组合使用示例 #
场景 1:只追踪数据操作 #
transport.tracer.include:
- "indices:data*"
transport.tracer.exclude:
- "indices:data/write/bulk*" # 排除批量操作以减少日志
场景 2:追踪所有操作但排除内部操作 #
transport.tracer.include: [] # 包含所有
transport.tracer.exclude:
- "internal:*"
- "*monitor*"
场景 3:精确追踪特定操作 #
transport.tracer.include:
- "indices:admin/aliases"
- "indices:admin/mappings*"
- "cluster:admin/reroute"
transport.tracer.exclude: []
HTTP 追踪配置 #
类似的配置也适用于 HTTP 层:
# HTTP 追踪配置
http.tracer.include:
- "REST_*"
http.tracer.exclude:
- "REST_MONITOR*"
推荐配置 #
开发环境 #
# 追踪所有操作便于调试
transport.tracer.include: []
transport.tracer.exclude:
- "internal:discovery/zen/fd*"
- "internal:coordination/fault_detection/*"
生产环境 #
# 只追踪关键操作
transport.tracer.include:
- "indices:admin*"
- "cluster:admin*"
transport.tracer.exclude:
- "internal:*"
- "*monitor*"
性能测试环境 #
# 追踪数据操作
transport.tracer.include:
- "indices:data*"
transport.tracer.exclude:
- "internal:*"
注意事项 #
- 动态配置:可以动态更新,无需重启
- 性能影响:追踪所有操作会影响性能
- 日志量:谨慎配置,避免产生过多日志
- 日志位置:追踪日志写入单独的
.tracer日志器 - 优先级:exclude 优先级高于 include





