配置项作用 #
rollup.search.max_count 配置项用于控制Rollup 搜索时的最大任务数量。
该配置定义了在执行 Rollup 搜索时最多可以搜索多少个 Rollup 任务,用于限制搜索范围,防止查询过多的 Rollup 索引导致性能问题。
配置项属性 #
- 配置路径:
rollup.search.max_count - 数据类型:
Integer(整数) - 默认值:
2 - 是否可选: 是
- 作用域: NodeScope(节点级别)
- 动态更新: 是(可以动态更新,无需重启)
配置项详解 #
工作机制 #
最大搜索数量控制
搜索请求处理:
├── 识别查询涉及的 Rollup 任务
├── 任务数量 > max_count?
│ ├── 是 → 只搜索前 max_count 个任务 ⚠️
│ └── 否 → 搜索所有匹配任务 ✅
└── 执行搜索
max_count = 2 示例:
场景 1: 匹配 3 个任务
├── 任务列表: [job1, job2, job3]
├── max_count: 2
├── 实际搜索: [job1, job2]
└── job3 被跳过 ⚠️
场景 2: 匹配 1 个任务
├── 任务列表: [job1]
├── max_count: 2
├── 实际搜索: [job1]
└── 全部搜索 ✅
任务匹配逻辑 #
Rollup 任务匹配
查询请求:
POST /metrics-*/_search
{
"aggs": {
"avg_cpu": { "avg": { "field": "cpu" } }
}
}
│
├── 查找匹配的 Rollup 任务
│ ├── 检查任务索引模式
│ ├── 检查任务字段
│ └── 检查聚合类型
│
├── 匹配结果:
│ ├── job_hourly (匹配)
│ ├── job_daily (匹配)
│ ├── job_weekly (匹配)
│ └── 共 3 个任务
│
├── 应用 max_count
│ ├── max_count = 2
│ └── 只取前 2 个
│
└── 执行搜索:
├── job_hourly ✅
└── job_daily ✅
与 search_all_jobs 配合 #
配合 search_all_jobs 使用
search_all_jobs: false + max_count: 2
├── 只搜索匹配的任务
├── 最多搜索 2 个
└── 可能遗漏部分任务
search_all_jobs: true + max_count: 2
├── 搜索所有任务
├── 最多搜索 2 个
└── 仍然受 max_count 限制
推荐配置:
├── search_all_jobs: false
├── max_count: 5-10
└── 根据实际任务数量调整
配置建议 #
默认配置 #
rollup:
search:
max_count: 2 # 默认值
建议: 适用于 Rollup 任务较少的场景。
多任务环境 #
rollup:
search:
max_count: 10 # 增加限制
建议: 有多个 Rollup 任务时使用。
少量任务 #
rollup:
search:
max_count: 1 # 减少限制
建议: 只有 1-2 个 Rollup 任务时使用。
动态更新 #
PUT /_cluster/settings
{
"transient": {
"rollup.search.max_count": 5
}
}
代码示例 #
基础配置 #
rollup:
search:
max_count: 2
完整 Rollup 搜索配置 #
rollup:
search:
enabled: true
max_count: 5
search_all_jobs: false
backoff_count: 5
backoff_millis: 1000
高性能场景 #
rollup:
search:
enabled: true
max_count: 3
search_all_jobs: false
建议: 性能敏感场景限制搜索数量。
兼容性场景 #
rollup:
search:
enabled: true
max_count: 10
search_all_jobs: true
建议: 需要覆盖所有任务时使用。
相关配置 #
| 配置项 | 作用 | 默认值 |
|---|---|---|
search.max_count | 最大搜索数量 | 2 |
search.enabled | 搜索功能开关 | false |
search.search_all_jobs | 搜索所有任务 | false |
注意事项 #
默认值: 默认值为
2,适用于大多数场景。动态更新: 支持动态更新。
任务限制: 超过限制的任务将被忽略。
性能影响: 数值越大,查询可能越慢。
合理设置: 根据实际 Rollup 任务数量设置。
数据完整性: 设置过小可能导致数据不完整。
监控建议: 监控被跳过的任务数量。
测试验证: 调整后验证查询结果完整性。
优先级: 任务按匹配顺序选择,优先选择前面的任务。
配置调整: 根据 Rollup 任务数量变化动态调整。





