Cómo analizar un campo mientras se establece un índice personalizado en un pipeline de nodo de ingestión utilizando el procesador de configuración “set”.
He creado un índice personalizado utilizando la tubería de ingestión del nodo. Así es como he hecho la indexación personalizada.
[
{
"set": {
"field": "_index",
"value": "metricbeat-dev",
"if": "ctx.kubernetes?.namespace== 'dev'"
}
}
]
¿Es posible incluir la versión del agente en el índice? Está presente como un campo en mi documento.
Lo que espero es metricbeat-dev-7.15.0.
davy.ai
Sí, es posible incluir la versión del agente en el índice personalizado. Puedes utilizar el mismo parámetro “set” para establecer el valor del campo “_index” como “metricbeat-dev-7.15.0” basado en la condición “if” que verifica el campo “agent.version” en el documento.
Aquí tienes un ejemplo de pipeline de nodo de ingestión que incluye la versión del agente en el nombre del índice:
En este pipeline, el parámetro “value” para el procesador “set” incluye el campo “agent.version” como una variable entre llaves dobles. Esta variable será reemplazada por el valor real del campo “agent.version” para cada documento que pase a través del pipeline.
La condición “if” verifica el espacio de nombres “dev” y la presencia del campo “agent.version” utilizando el operador de navegación segura “?.” para evitar excepciones de puntero nulo.
Para utilizar este pipeline, puedes especificar su nombre en el parámetro “index” al indexar tus documentos:
Esto creará un documento en el índice “metricbeat-dev-7.15.0” con el campo “message” establecido en “¡Hola, mundo!” y el campo “agent.version” establecido en “7.15.0”.