Edge Delta Datadog Source

Ingest logs from Datadog.

Overview

The Datadog Agent Source node enables the agent to ingest data types such as logs, metrics, and traces from the Datadog agent.

Example Configuration

In this example, the port parameter indicates the network port on which the node will listen for incoming data. This port needs to be open and available for the node to accept incoming connections from Datadog agents. The read_timeout specifies the maximum duration the node will wait for incoming data before timing out. This helps manage timeouts and ensures that the node doesn’t hang indefinitely if no data arrives. The tls block contains configurations related to Transport Layer Security (TLS), which is used for securing connections: the ignore_certificate_check parameter indicates whether SSL/TLS certificate verification should be disabled. It is set to false, which means that the node will verify certificates as part of securing the connection. This is important for ensuring a secure data transfer channel.

nodes:
  - name: my_datadog_source
    type: datadog_agent_input
    port: 3421
    read_timeout: 1m
    tls:
      ignore_certificate_check: false

Required Parameters

name

A descriptive name for the node. This is the name that will appear in Visual Pipelines and you can reference this node in the YAML using the name. It must be unique across all nodes. It is a YAML list element so it begins with a - and a space followed by the string. It is a required parameter for all nodes.

nodes:
  - name: <node name>
    type: <node type>

type: datadog_agent_input

The type parameter specifies the type of node being configured. It is specified as a string from a closed list of node types. It is a required parameter.

nodes:
  - name: <node name>
    type: <node type>

Port

The port parameter specifies the port number to listen on. It is specified as an integer and is required.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>

Optional Parameters

listen

The listen parameter specifies the address to listen on for incoming traffic. The default value is 0.0.0.0, and it is optional.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    listen: <host>

read_timeout

The read_timeout parameter indicates how long to wait for incoming data before timing out. It is specified as a duration and is optional.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    read_timeout: <duration>

tls

The tls parameter is a dictionary type that enables a number of TLS options to be set using sub-parameters.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      <tls options>: 

ca_file The ca_file parameter is a child of the tls parameter. It specifies the CA certificate file. It is specified as a string and is optional.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      ca_file: /certs/ca.pem  

ca_path The ca_path parameter is a child of the tls parameter. It specifies the location of the CA certificate files. It is specified as a string and is optional.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      ca_path: <path>

client_auth_type The client_auth_type parameter is a child of the tls parameter. It specifies the authentication type to use for the connection. It is specified as a string from a closed list and is optional.

The following authentication methods are available:

  • noclientcert indicates that no client certificate should be requested during the handshake, and if any certificates are sent they will not be verified.
  • requestclientcert indicates that a client certificate should be requested during the handshake, but does not require that the client send any certificates.
  • requireanyclientcert indicates that a client certificate should be requested during the handshake, and that at least one certificate is required from the client, but that certificate is not required to be valid.
  • verifyclientcertifgiven indicates that a client certificate should be requested during the handshake, but does not require that the client sends a certificate. If the client does send a certificate it is required to be valid.
  • requireandverifyclientcert indicates that a client certificate should be requested during the handshake, and that at least one valid certificate is required to be sent by the client
nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      client_auth_type: <auth type>

crt_file The crt_file parameter is a child of the tls parameter. It specifies the certificate file. It is specified as a string and is optional.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      crt_file: /certs/server-cert.pem  

ignore_certificate_check The ignore_certificate_check parameter is a child of the tls parameter. When set to true, it ignores certificate checks for the remote endpoint. It is specified as a Boolean value and the default is false, indicating that TLS verification will be performed. This is an optional parameter.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      ignore_certificate_check: true

key_file The key_file parameter is a child of the tls parameter. It specifies the private key file. It is specified as a string and is optional.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      key_file: /certs/server-key.pem

key_password The key_password parameter is a child of the tls parameter. It specifies the key password. When the private key_file location is provided, this file can also be provided to get the password of the private key. It is specified as a string and is optional.

nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      key_password: <password>

max_version The max_version parameter is a child of the tls parameter. It specifies the maximum version of TLS to accept. It is specified as a string and is optional.

You can select one of the following options:

  • TLSv1_0
  • TLSv1_1
  • TLSv1_2
  • TLSv1_3
nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      max_version: <TLS version>

min_version The min_version parameter is a child of the tls parameter. It specifies the minimum version of TLS to accept. It is specified as a string and is optional. The default is TLSv1_2.

You can select one of the following options:

  • TLSv1_0
  • TLSv1_1
  • TLSv1_2
  • TLSv1_3
nodes:
  - name: <node name>
    type: datadog_agent_input
    port: <port number>
    tls:
      min_version: <TLS version>