Ejecutar múltiples pipelines en un host

Este producto no es compatible con el sitio Datadog seleccionado. ().

Información general

Si quieres ejecutar múltiples pipelines en un único host para enviar logs desde diferentes fuentes, necesitas añadir manualmente los archivos de Worker para cualquier Worker adicional. Este documento explica qué archivos necesitas añadir y modificar para ejecutar esos Workers.

Requisitos previos

Configura el primer pipeline e instala el Worker en tu host.

Crear un pipeline adicional

Configura otro pipeline para el Worker adicional que quieras ejecutar en el mismo host. Cuando estés en la página Instalar, sigue los siguientes pasos para ejecutar el Worker para ese pipeline.

Ejecutar el Worker del pipeline adicional

Cuando hayas instalado el primer Worker, por defecto tendrás:

  • Un servicio binario: /usr/bin/observability-pipelines-worker
  • Un archivo de definición de servicio similar a:

    /lib/systemd/system/observability-pipelines-worker.service

        [Unidad]
        Description="Observability Pipelines Worker"
        Documentation=https://docs.datadoghq.com/observability_pipelines/
        After=network-online.target
        Wants=network-online.target
    
        [Servicio]
        User=observability-pipelines-worker
        Group=observability-pipelines-worker
        ExecStart=/usr/bin/observability-pipelines-worker run
        Restart=always
        AmbientCapabilities=CAP_NET_BIND_SERVICE
        EnvironmentFile=-/etc/default/observability-pipelines-worker
    
        [Instalar]
        WantedBy=multi-user.target
        
  • Un archivo de entorno similar a:

    /etc/default/observability-pipelines-worker

        DD_API_KEY=<datadog_api_key>
        DD_SITE=<dd_site>
        DD_OP_PIPELINE_ID=<pipeline_id>
        
  • Un directorio de datos: /var/lib/observability-pipelines-worker

Configurar el Worker adicional

Para este ejemplo se creó otro pipeline con la fuente Fluent. Para configurar un Worker para este pipeline:

  1. Ejecuta el siguiente comando para crear un nuevo directorio de datos, sustituyendo op-fluent por un nombre de directorio que se ajuste a tu caso de uso:

    sudo mkdir /var/lib/op-fluent
    
  2. Ejecuta el siguiente comando para cambiar el propietario del directorio de datos a observability-pipelines-worker:observability-pipelines-worker. Asegúrate de actualizar op-fluent con el nombre de tu directorio de datos.

    sudo chown -R observability-pipelines-worker:observability-pipelines-worker /var/lib/op-fluent/
    
  3. Crea un archivo de entorno para el nuevo servicio systemd, como /etc/default/op-fluent, donde op-fluent se sustituye por tu nombre de archivo específico. Ejemplo del contenido del archivo:

    /etc/default/op-fluent

        DD_API_KEY=<datadog_api_key>
        DD_OP_PIPELINE_ID=<pipeline_id>
        DD_SITE=<dd_site>
        <destintation_environment_variables>
        DD_OP_SOURCE_FLUENT_ADDRESS=0.0.0.0:9091
        DD_OP_DATA_DIR=/var/lib/op-fluent
        
    En este ejemplo:

    • DD_OP_DATA_DIR está configurado como /var/lib/op-fluent. Sustituye /var/lib/op-fluent por la ruta a tu directorio de datos.
    • DD_OP_SOURCE_FLUENT_ADDRESS=0.0.0.0:9091 es la variable de entorno necesaria para la fuente Fluent de este ejemplo. Sustitúyela por la variable de entorno de tu fuente.

    Además, asegúrate de sustituir:

  4. Crea una nueva entrada de servicio systemd, como /lib/systemd/system/op-fluent.service. Ejemplo de contenido de la entrada:

    /lib/systemd/system/op-fluent.service

        [Unidad]
        Description="OPW for Fluent Pipeline"
        Documentation=https://docs.datadoghq.com/observability_pipelines/
        After=network-online.target
        Wants=network-online.target
    
        [Servicio]
        User=observability-pipelines-worker
        Group=observability-pipelines-worker
        ExecStart=/usr/bin/observability-pipelines-worker run
        Restart=always
        AmbientCapabilities=CAP_NET_BIND_SERVICE
        EnvironmentFile=-/etc/default/op-fluent
    
        [Instalar]
        WantedBy=multi-user.target
        
    En este ejemplo:

    • El nombre del servicio es op-fluent, ya que el pipeline está utilizando la fuente Fluent. Sustituye op-fluent.service por un nombre de servicio para tu caso de uso.
    • La Description es OPW for Fluent pipeline. Sustituye OPW for Fluent pipeline por una descripción para tu caso de uso.
    • EnvironmentFile se configura como -/etc/default/op-fluent. Sustituye -/etc/default/op-fluent por el archivo de variables de entorno del servicio systemd que creaste para tu Worker.
  5. Ejecuta este comando para volver a cargar systemd:

    sudo systemctl daemon-reload
    
  6. Ejecuta este comando para iniciar el nuevo servicio:

    sudo systemctl enable --now op-fluent
    
  7. Ejecuta este comando para comprobar que el servicio se está ejecutando:

    sudo systemctl status op-fluent
    

Además, puedes utilizar el comando sudo journalctl -u op-fluent.service para ayudarte a corregir cualquier problema.

Desplegar el pipeline

  1. Ve a la página Instalar del pipeline adicional.
  2. En la sección Deploy your pipeline (Desplegar tu pipeline), deberías ver tu Worker adicional detectado. Haz clic en Deploy (Desplegar).

Referencias adicionales