Skip to content

Latest commit

 

History

History
 
 

sumologicexporter

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Sumo Logic Exporter

Stability level: Deprecated

This extension is deprecated in favor of the Sumo Logic exporter that lives in the OpenTelemetry Collector Contrib repository.

This exporter supports sending logs and metrics data to Sumo Logic.

We strongly recommend to use this exporter with sumologicextension.

Configuration is specified via the yaml in the following structure:

exporters:
  # ...
  sumologic:
    # unique URL generated for your HTTP Source, this is the address to send data to
    # deprecated, please use sumologicextension to manage your endpoints
    # if sumologicextension is not being used, the endpoint is required
    endpoint: <HTTP_Source_URL>
    # Compression encoding format, empty string means no compression, default = gzip
    # DEPRECATION NOTICE: compress_encoding (reason: use compression)
    compress_encoding: {gzip, deflate, ""}
    # Compression encoding format, empty string means no compression, default = gzip
    compression: {gzip, zstd, deflate, ""}
    # max HTTP request body size in bytes before compression (if applied),
    # NOTE: this limit does not apply to data sent in otlp format,
    #   to limit size of otlp requests, please use the batch processor:
    #   https://github.com/open-telemetry/opentelemetry-collector/tree/v0.103.0/processor/batchprocessor
    # default = 1_048_576 (1MB)
    max_request_body_size: <max_request_body_size>

    # format to use when sending logs to Sumo Logic, default = otlp,
    # NOTE: only `otlp` is supported when used with sumologicextension
    log_format: {json, text, otlp}

    # format to use when sending metrics to Sumo Logic, default = otlp,
    # NOTE: only `otlp` is supported when used with sumologicextension
    metric_format: {otlp, prometheus}

    # Decompose OTLP Histograms into individual metrics, similar to how they're represented in Prometheus format.
    # The Sumo OTLP source currently doesn't support Histograms, and they are quietly dropped. This option produces
    # metrics similar to when metric_format is set to prometheus.
    # default = false
    decompose_otlp_histograms: {true, false}

    # format to use when sending traces to Sumo Logic,
    # currently only otlp is supported
    trace_format: {otlp}

    # timeout is the timeout for every attempt to send data to the backend,
    # maximum connection timeout is 55s, default = 30s
    timeout: <timeout>

    # defines client name used for Sumo Logic statistics
    # default = "otelcol"
    client: <client name>

    # instructs sumologicexporter to use an edpoint automatically generated by
    # sumologicextension;
    # to use direct endpoint, set it `auth` to `null` and set the endpoint configuration
    # option;
    # see sumologicextension documentation for details
    # default = sumologic
    auth:
      authenticator: <sumologicextension_name>

    # for below described queueing and retry related configuration please refer to:
    # https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md#configuration

    retry_on_failure:
      # default = true
      enabled: {true, false}
      # time to wait after the first failure before retrying;
      # ignored if enabled is false, default = 5s
      initial_interval: <initial_interval>
      # is the upper bound on backoff; ignored if enabled is false, default = 30s
      max_interval: <max_interval>
      # is the maximum amount of time spent trying to send a batch;
      # ignored if enabled is false, default = 120s
      max_elapsed_time: <max_elapsed_time>

    sending_queue:
      # default = false
      enabled: {true, false}
      # number of consumers that dequeue batches; ignored if enabled is false,
      # default = 10
      num_consumers: <num_consumers>
      # when set, enables persistence and uses the component specified as a storage extension for the persistent queue
      # make sure to configure and add a `file_storage` extension in `service.extensions`.
      # default = None
      storage: <storage_name>
      # maximum number of batches kept in memory before data;
      # ignored if enabled is false, default = 1000
      #
      # user should calculate this as num_seconds * requests_per_second where:
      # num_seconds is the number of seconds to buffer in case of a backend outage,
      # requests_per_second is the average number of requests per seconds.
      queue_size: <queue_size>

    # defines if sticky session support is enable
    # more details about sticky sessions for ALB could be found here:
    # https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html
    # default = false
    sticky_session_enabled: {true, false}

Metrics

The Sumo Logic Exporter exposes the following metrics:

  • otelcol_exporter_requests_bytes (counter) - total size of HTTP requests (in bytes)
  • otelcol_exporter_requests_duration (counter) - duration of HTTP requests (in milliseconds)
  • otelcol_exporter_requests_records (counter) - total size of HTTP requests (in number of records)
  • otelcol_exporter_requests_sent (counter) - number of HTTP requests

All of the above metrics have the following dimensions:

  • endpoint - endpoint address
  • exporter - exporter name
  • pipeline - pipeline name (logs, metrics or traces)
  • status_code - HTTP response status code (0 in case of error)

Example Configuration

Example with sumologicextension

extensions:
  sumologic:
    installation_token: <token>
    collector_name: my_collector

receivers:
  hostmetrics:
    collection_interval: 30s
    scrapers:
      load:

exporters:
  sumologic:

processors:
  source:
    source_category: "custom category"
    source_name: "custom name"
    source_host: "%{k8s.pod.name}"

service:
  extensions: [sumologic]
  pipelines:
    metrics:
      receivers: [hostmetrics]
      processors: [source]
      exporters: [sumologic]

Example without sumologicextension

exporters:
  sumologic:
    endpoint: http://localhost:3000
    compress_encoding: "gzip"
    max_request_body_size: "1_048_576"  # 1MB
    log_format: "text"
    metric_format: "prometheus"
processors:
  source:
    source_category: "custom category"
    source_name: "custom name"
    source_host: "custom host"

Example with persistent queue

exporters:
  sumologic:
    endpoint: http://localhost:3000
    metric_format: prometheus
    sending_queue:
      enabled: true
      storage: file_storage

extensions:
  file_storage:
    directory: .

receivers:
  hostmetrics:
    collection_interval: 3s
    scrapers:
      load:

service:
  extensions:
  - file_storage
  pipelines:
    metrics:
      exporters:
      - sumologic
      receivers:
      - hostmetrics