📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项概述 #

传输追踪配置控制哪些传输层操作被记录到追踪日志中。通过配置包含和排除模式,可以精确控制需要追踪的网络操作。

配置项默认值说明
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/aliases
indices:admin/create
indices:data/write
indices:data/write*indices:data/write/bulk
indices:data/write/index
indices:data/read/search
*mapping*indices:admin/mappings/put
indices:admin/get/mappings
indices:admin/aliases
indices:admin/aliasesindices: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:*"

注意事项 #

  1. 动态配置:可以动态更新,无需重启
  2. 性能影响:追踪所有操作会影响性能
  3. 日志量:谨慎配置,避免产生过多日志
  4. 日志位置:追踪日志写入单独的 .tracer 日志器
  5. 优先级:exclude 优先级高于 include