es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , ,

Answer

  1. Avatar for 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:

    PUT _ingest/pipeline/metricbeat-dev-pipeline
    {
      "processors": [
        {
          "set": {
            "field": "_index",
            "value": "metricbeat-dev-{{agent.version}}",
            "if": "ctx.kubernetes?.namespace == 'dev' && ctx.agent?.version != null"
          }
        }
      ]
    }
    

    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:

    POST metricbeat-dev-pipeline/_doc
    {
      "agent": {
        "version": "7.15.0"
      },
      "message": "¡Hola, mundo!"
    }
    

    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”.

Comments are closed.