The following options are available for the opentelemetry() source.

auth()

The auth() option can be used to set the authentication of the driver. The default state of this option is insecure, as it is not defined.

The following sub-options are available for auth().

adc()

This option is an authentication method that is only available for destinations. For more information, see Application Default Credentials.

alts()

This option is an accessible authentication available for Google infrastructures. Service accounts can be listed with the nested target-service-account() option, to match these against the server.

Example: configure an opentelemetry() source using auth(alts())

source {
    opentelemetry(
      port(4317)
      auth(alts())
    );
  };

insecure()

This option can be used to disable authentication: auth(insecure()).

tls()

The tls() option accepts the following nested sub-options.

Example: configure an OpenTelemetry source using auth(tls())

destination {
    opentelemetry(
      url("your-otel-server:1234")
      auth(
        tls(
          ca-file("/path/to/ca.pem")
          key-file("/path/to/key.pem")
          cert-file("/path/to/cert.pem")
        )
      )
    );
  };

channel-args()

Type:  
Default:  

Description: The channel-args() option is available in gRPC-based drivers. The option accepts name-value pairs and sets channel arguments defined in the GRPC Core library documentation.

Example: channel-args() declaration

    channel-args(
        "grpc.loadreporting" => 1
        "grpc.minimal_stack" => 0
    )

concurrent-requests()

Type: integer
Default: 2

Description: This option configures the upper limit of in-flight gRPC requests per worker. It is advisd to set this value in the range of 10s or 100s when there are a high number of clients sending simultaneously. In an optimzed solution, the number of workers() and concurrent-requests() is greater than or equal to the number of clients. However, this can cause an increase in memory usage.

log-fetch-limit()

Type: number
Default: 100

Description: This option specifies the upper limit of messages received from a source during a single poll loop. The destination queues can fill up before flow-control could stop reading if the defined log-fetch-limit() is too high.

port()

Type: number
Default:  

Description: The port number of the .

workers()

Type: integer
Default: 1

Description: Specifies the number of worker threads (at least 1) that syslog-ng OSE uses to send messages to the server. Increasing the number of worker threads can drastically improve the performance of the destination.

CAUTION: Hazard of data loss! When you use more than one worker threads together with disk-based buffering, syslog-ng OSE creates a separate disk buffer for each worker thread. This means that decreasing the number of workers can result in losing data currently stored in the disk buffer files. Do not decrease the number of workers when the disk buffer files are in use.

If you are using load-balancing (that is, you have configured multiple servers in the url() option), increase the number of worker threads at least to the number of servers. For example, if you have set three URLs (url(“site1”, “site2”, “site3”)), set the workers() option to 3 or more.

Updated: