Skip to content

New component: OCI Logging Analytics Exporter [exporter/ocilogginganalyticsexporter] #38244

Open
@naga-barri

Description

@naga-barri

The purpose and use-cases of the new component

The OCI Logging Analytics Exporter will transmit logs from the OpenTelemetry Collector to OCI Logging Analytics cloud service.
The exporter plugin uses OCI AuthN/AuthZ while exporting the data from customer environment into OCI Logging Analytics service.

Example configuration for the component

The following settings are required:

  • namespace (no default): The OCI tenancy namespace to which the collected log data will be uploaded.
  • log_group_id (no default): The log group OCID to which the log data will be mapped. This is mainly used for AuthZ purpose.
  • auth_type (default: config_file): The authentication type to use. Supported values are:
    • config_file: Use OCI configuration file for authentication.
    • instance_principal: Use OCI instance principal for authentication. Recommended when the collector is deployed inside OCI environment.
  • oci_config_file_path: Path to the OCI configuration file. If auth_type is config_file and this is not provided, the exporter will search for the configuration in the default location ($HOME/.oci/config or the location specified by the OCI_CONFIG_FILE environment variable).
  • config_profile (default: DEFAULT): The profile to be used in the OCI configuration file, if auth_type is config_file
  • oci_config (no default): An alternative way to provide the content of the OCI Config file, if auth_type is config_file. The following fields are required:
    • fingerprint (no default): The fingerprint of the OCI user.
    • private_key (no default): The private key of the OCI user.
    • tenancy (no default): The OCI tenancy OCID.
    • region (no default): The OCI region.
    • user (no default): The OCI user OCID.

NOTE: If both oci_config_file_path and oci_config are provided, the exporter will use oci_config over oci_config_file_path.

Example:

exporters:
  ocilogginganalytics:
    namespace: "my_namespace"
    log_group_id: "ocid1.loggroup.oc1..example"
    auth_type: "config_file"
    oci_config_file_path: "/path/to/oci/config"
    config_profile: "DEFAULT"

Optional Settings
The following settings can be optionally configured:

  • timeout (default: 5s): The maximum duration before a request times out.

  • sending_queue:

    • enabled (default: false): If true, logs will be buffered in a queue before being sent.
    • queue_size (default: 500): The number of logs that can be buffered before dropping.
    • blocking (default = false): If true, blocks the request until the queue has space otherwise returns immediately.
    • num_consumers (default: 10): The number of consumers that will process logs from the queue.
    • storage (default = none): When set, enables persistence and uses the component specified as a storage extension for the persistent queue. There is no in-memory queue when set.
  • retry_on_failure:

    • enabled (default: true): If true, failed requests will be retried.
    • initial_interval (default: 5s): The initial time to wait before retrying a failed request.
    • max_interval (default: 30s): The maximum time to wait between retries.
    • max_elapsed_time (default: 0): The maximum time allowed for all retries. If set to 0 (default value), the failed requests will be infinitely retried.

Example:

exporters:
  ocilogginganalytics:
    namespace: "my_namespace"
    log_group_id: "ocid1.loggroup.oc1..example"
    auth_type: "config_file"
    oci_config_file_path: "/path/to/oci/config"
    config_profile: "DEFAULT"
    timeout: 10s
    sending_queue:
      enabled: true
      queue_size: 1000
      num_consumers: 10
    retry_on_failure:
      enabled: true
      initial_interval: 5s
      max_interval: 30s
      max_elapsed_time: 0


Telemetry data types supported

logs

Code Owner(s)

naga-barri, Kalsaria-C, santhoshkvuda

Sponsor (optional)

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Sponsor NeededNew component seeking sponsor

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions