Skip to content

Azureblob Exporter not getting recognised #39272

@ShashankV-Atlan

Description

@ShashankV-Atlan

Component(s)

exporter/azureblob

What happened?


Description

Starting this thread to discuss an issue we're facing with exporting Keycloak OTEL logs to Azure Blob Storage.

With the release of opentelemetry-collector-contrib:0.122.1, support for the azureblob exporter has been added. Following this, we updated our collector to use this version and configured the azureblob exporter as follows:

exporters:
  azureblob:
    url: "https://$(AZURE_STORAGE_ACCOUNT).blob.core.windows.net/"
    container:
      logs: "log-events"
    auth:
      type: "connection_string"
      connection_string: "DefaultEndpointsProtocol=https;AccountName=$(AZURE_STORAGE_ACCOUNT);AccountKey=$(AZURE_STORAGE_ACCESS_KEY);EndpointSuffix=core.windows.net"

However, we’re encountering an issue where the collector fails to recognize azureblob as a valid exporter type.

Steps to Reproduce

  1. Use opentelemetry-collector-contrib:0.122.1 as the base image.
  2. Add the above azureblob exporter configuration.
  3. Deploy the updated collector and try to start the service.

Expected Result

The collector starts successfully and begins exporting logs to Azure Blob Storage as defined in the configuration.

Actual Result

The collector fails to start with the following error:

Error: failed to get config: cannot unmarshal the configuration: decoding failed due to the following error(s):

error decoding 'exporters': unknown type: "azureblob" for id: "azureblob/1" 
(valid values: [googlemanagedprometheus loadbalancing logicmonitor sapm splunk_hec otlp alibabacloud_logservice clickhouse coralogix elasticsearch sumologic zipkin datadog doris honeycombmarker kafka opensearch otelarrow debug nop awscloudwatchlogs awskinesis awsxray cassandra file opencensus awss3 influxdb logzio sentry signalfx syslog carbon googlecloudpubsub awsemf mezmo pulsar rabbitmq otlphttp azuredataexplorer azuremonitor bmchelix dataset prometheus prometheusremotewrite tencentcloud_logservice googlecloud])

This suggests that despite being on a version that should support azureblob, the collector does not seem to recognize it.


Let me know if you want to include info on how you're building the image or injecting the config.

Collector version

opentelemetry-collector-contrib:0.122.1

Environment information

Environment

Running base Docker image

OpenTelemetry Collector configuration

Log output

Error: failed to get config: cannot unmarshal the configuration: decoding failed due to the following error(s):

error decoding 'exporters': unknown type: "azureblob" for id: "azureblob" 
(valid values: [googlemanagedprometheus loadbalancing logicmonitor sapm splunk_hec otlp alibabacloud_logservice clickhouse coralogix elasticsearch sumologic zipkin datadog doris honeycombmarker kafka opensearch otelarrow debug nop awscloudwatchlogs awskinesis awsxray cassandra file opencensus awss3 influxdb logzio sentry signalfx syslog carbon googlecloudpubsub awsemf mezmo pulsar rabbitmq otlphttp azuredataexplorer azuremonitor bmchelix dataset prometheus prometheusremotewrite tencentcloud_logservice googlecloud])

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions