diff --git a/gdi/opentelemetry/components.rst b/gdi/opentelemetry/components.rst index 8ab41e221..c3bfaf542 100644 --- a/gdi/opentelemetry/components.rst +++ b/gdi/opentelemetry/components.rst @@ -25,6 +25,8 @@ Components components/logging-exporter components/mongodb-atlas-receiver components/oracledb-receiver + components/otlp-exporter + components/otlphttp-exporter components/postgresql-receiver components/prometheus-receiver components/receiver-creator-receiver @@ -62,7 +64,7 @@ The Splunk Distribution of OpenTelemetry Collector includes and supports the fol .. list-table:: - :widths: 25 50 15 + :widths: 25 55 20 :header-rows: 1 :width: 100% @@ -188,7 +190,7 @@ The Splunk Distribution of OpenTelemetry Collector includes and supports the fol .. list-table:: - :widths: 25 50 25 + :widths: 25 55 20 :header-rows: 1 :width: 100% @@ -249,7 +251,7 @@ The Splunk Distribution of OpenTelemetry Collector includes and supports the fol .. list-table:: - :widths: 25 50 25 + :widths: 25 55 20 :header-rows: 1 :width: 100% @@ -265,12 +267,12 @@ The Splunk Distribution of OpenTelemetry Collector includes and supports the fol * - :ref:`logging-exporter` (``logging``) - Exports data to the console. By default, ``logging`` doesn't send its output to Windows Event Viewer. Run the Splunk Distribution of OpenTelemetry Collector directly from the PowerShell terminal to send output to the Windows Event Viewer. - Metrics, logs, traces - * - ``otlp`` + * - :ref:`otlp-exporter` (``otlp``) - Exports data through gRPC using the OTLP format. By default, this exporter requires TLS and provides queued retry capabilities. - - Metrics, traces - * - ``otlphttp`` - - Exports traces and metrics in OTLP format over the HTTP protocol. - - Metrics, traces + - Metrics, logs, traces + * - :ref:`otlphttp-exporter` (``otlphttp``) + - Exports data in OTLP format over the HTTP protocol. + - Metrics, logs, traces * - :ref:`splunk-apm-exporter` (``sapm``) - Allows the Splunk Distribution of OpenTelemetry Collector to export traces from multiple nodes or services in a single batch. - Traces diff --git a/gdi/opentelemetry/components/otlp-exporter.rst b/gdi/opentelemetry/components/otlp-exporter.rst new file mode 100644 index 000000000..49081ae1a --- /dev/null +++ b/gdi/opentelemetry/components/otlp-exporter.rst @@ -0,0 +1,79 @@ +.. _otlp-exporter: + +************************* +OTLP exporter +************************* + +.. meta:: + :description: The OTLP exporter allows the OpenTelemetry Collector to send metrics, traces, and logs through gRPC using the OTLP format. Read on to learn how to configure the component. + +The OTLP exporter sends metrics, traces, and logs through gRPC using the OTLP format. See :ref:`otel-data-processing` for more information. + +By default, this exporter requires TLS and provides queued retry capabilities. + +For information on the OTLP/HTTP exporter, see :ref:`otlphttp-exporter`. + +Get started +====================== + +The OTLP exporter is included in the Splunk Distribution of OpenTelemetry Collector default configuration in host monitoring (agent) mode for all data pipelines: ``metrics``, ``traces``, and ``logs``. Learn more in :ref:`otel-configuration-ootb` and :ref:`otel-deployment-mode`. + +The following settings are required: + +* ``endpoint``. Address to which the exporter is going to send OTLP data, using the gRPC protocol. + + * No default value. + * gRPC supports DNS as the default name-system. To learn more about the valid name syntax, see :new-page:`gRCP Name Resolution ` in GitHub. + * If you're using a scheme of ``https``, then client transport security is enabled and overrides the ``insecure`` setting. + +* ``tls``. See :ref:`TLS Configuration Settings ` in this document for the full set of available options. + + * By default, ``tls: insecure`` is set to ``true``. + * Mutual TLS (mTLS) is also supported. See more at :new-page:`TLS/mTLS configuration ` in GitHub. + +Sample configurations +-------------------------------- + +This is a sample configuration for the exporter: + +.. code-block:: yaml + + exporters: + otlp: + endpoint: otelcol2:4317 + tls: + cert_file: file.cert + key_file: file.key + otlp/2: + endpoint: otelcol2:4317 + tls: + insecure: true + +Configure gzip compression +-------------------------------- + +By default, gzip compression is enabled. To turn it off, use the following configuration: + +.. code-block:: yaml + + exporters: + otlp: + ... + compression: none + +.. _otlp-exporter-settings: + +Settings +====================== + +The following table shows the configuration options for the OTLP exporter: + +.. raw:: html + +
+ + +Troubleshooting +====================== + +.. include:: /_includes/troubleshooting-components.rst diff --git a/gdi/opentelemetry/components/otlphttp-exporter.rst b/gdi/opentelemetry/components/otlphttp-exporter.rst new file mode 100644 index 000000000..382b7033a --- /dev/null +++ b/gdi/opentelemetry/components/otlphttp-exporter.rst @@ -0,0 +1,121 @@ +.. _otlphttp-exporter: + +************************* +OTLP/HTTP exporter +************************* + +.. meta:: + :description: The OTLP/HTTP exporter allows the OpenTelemetry Collector to send metrics, traces, and logs via HTTP using the OTLP format. Read on to learn how to configure the component. + +The OTLP/HTTP exporter sends metrics, traces, and logs via HTTP using the OTLP format (``application/x-protobuf`` content-type). See :ref:`otel-data-processing` for more information. + +For information on the OTLP exporter, see :ref:`otlp-exporter`. + +Get started +====================== + +The OTLP/HTTP exporter is not included in the default configuration of the Splunk Distribution of the OpenTelemetry Collector. + +If you want to add it, the following settings are required: + +* ``endpoint``. The target base URL to send data to, for example ``https://example.com:4318``. No default value. + + * Each type of signal is added to this base URL. For example, for traces, ``https://example.com:4318/v1/traces``. + +The following settings are optional: + +* ``logs_endpoint``. The target URL to send log data to. + + * For example, ``https://example.com:4318/v1/logs``. + * If this setting is present, the endpoint setting is ignored for logs. + +* ``metrics_endpoint``. The target URL to send metric data to. + + * For example, ``https://example.com:4318/v1/metrics``. + * If this setting is present, the endpoint setting is ignored for metrics. + +* ``traces_endpoint``. The target URL to send trace data to. + + * For example, ``https://example.com:4318/v1/traces``. + * If this setting is present, the endpoint setting is ignored for traces. + +* ``tls``. See :ref:`TLS Configuration Settings ` in this document for the full set of available options. + +* ``timeout``. ``30s`` by default. HTTP request time limit. For details see :new-page:`https://golang.org/pkg/net/http/#Client`. + +* ``read_buffer_size``. ``0`` by default. ReadBufferSize for HTTP client. + +* ``write_buffer_size``. ``512 * 1024`` by default. WriteBufferSize for the HTTP client. + +Sample configurations +-------------------------------- + +This is a sample configuration for the exporter: + +.. code-block:: yaml + + exporters: + otlphttp: + endpoint: https://example.com:4318 + +Detailed sample configuration +-------------------------------- + +This is a detailed configuration example: + +.. code-block:: yaml + + endpoint: "https://1.2.3.4:1234" + tls: + ca_file: /var/lib/mycert.pem + cert_file: certfile + key_file: keyfile + insecure: true + timeout: 10s + read_buffer_size: 123 + write_buffer_size: 345 + sending_queue: + enabled: true + num_consumers: 2 + queue_size: 10 + retry_on_failure: + enabled: true + initial_interval: 10s + randomization_factor: 0.7 + multiplier: 1.3 + max_interval: 60s + max_elapsed_time: 10m + headers: + "can you have a . here?": "F0000000-0000-0000-0000-000000000000" + header1: 234 + another: "somevalue" + compression: gzip + +Configure gzip compression +-------------------------------- + +By default, gzip compression is enabled. To turn it off, use the following configuration: + +.. code-block:: yaml + + exporters: + otlphttp: + ... + compression: none + +.. _otlphttp-exporter-settings: + +Settings +====================== + +The following table shows the configuration options for the OTLP/HTTP exporter: + +.. raw:: html + +
+ + +Troubleshooting +====================== + +.. include:: /_includes/troubleshooting-components.rst