如何使用摄取节点管道添加自定义索引?
How to add custom index using ingest node pipeline?
是否可以使用摄取节点管道创建条件索引?我觉得这可以由脚本处理器完成,但有人能告诉我这是否可行吗?
我处在一个场景中,我应该决定哪种方式是进行自定义索引的更好方式。我可以在 metricbeat.yml /filebeat.yml 文件中提及条件来完成此操作。但这是进行自定义索引的最佳方式吗?我的弹性堆栈中没有 logstash
output.elasticsearch:
indices:
- index: "metricbeat-dev-%{[agent.version]}-%{+yyyy.MM.dd}"
when.equals:
kubernetes.namespace: "dev"
这就是我现在在 metric/filebeat 中实现自定义索引的方式。我的 Kubernetes 集群中有 20 多个命名空间。请帮助建议是否可以通过摄取节点管道来完成
是的,您可以通过摄取管道集处理器来实现此目的。摄取管道支持 accessing of metadata fields,您可以使用 _index 字段名称访问/更新索引名称。
下面是示例 Ingest Pipeline,它将在命名空间为 dev 时更新索引名称:
[
{
"set": {
"field": "_index",
"value": "metricbeat-dev",
"if": "ctx.kubernetes?.namespace== 'dev'"
}
}
]
更新 1:将代理版本附加到索引名称。我已经将代理版本字段名称视为 agent.version
[
{
"set": {
"field": "_index",
"value": "metricbeat-dev-{{agent.version}}",
"if": "ctx.kubernetes?.namespace== 'dev'"
}
}
]
是否可以使用摄取节点管道创建条件索引?我觉得这可以由脚本处理器完成,但有人能告诉我这是否可行吗?
我处在一个场景中,我应该决定哪种方式是进行自定义索引的更好方式。我可以在 metricbeat.yml /filebeat.yml 文件中提及条件来完成此操作。但这是进行自定义索引的最佳方式吗?我的弹性堆栈中没有 logstash
output.elasticsearch:
indices:
- index: "metricbeat-dev-%{[agent.version]}-%{+yyyy.MM.dd}"
when.equals:
kubernetes.namespace: "dev"
这就是我现在在 metric/filebeat 中实现自定义索引的方式。我的 Kubernetes 集群中有 20 多个命名空间。请帮助建议是否可以通过摄取节点管道来完成
是的,您可以通过摄取管道集处理器来实现此目的。摄取管道支持 accessing of metadata fields,您可以使用 _index 字段名称访问/更新索引名称。
下面是示例 Ingest Pipeline,它将在命名空间为 dev 时更新索引名称:
[
{
"set": {
"field": "_index",
"value": "metricbeat-dev",
"if": "ctx.kubernetes?.namespace== 'dev'"
}
}
]
更新 1:将代理版本附加到索引名称。我已经将代理版本字段名称视为 agent.version
[
{
"set": {
"field": "_index",
"value": "metricbeat-dev-{{agent.version}}",
"if": "ctx.kubernetes?.namespace== 'dev'"
}
}
]