Uploaded image for project: 'OpenShift Logging'
  1. OpenShift Logging
  2. LOG-8003

[release-6.2] OTLP URL validation for ClusterLogForwarder is to restrictive for some receivers

XMLWordPrintable

    • Incidents & Support
    • False
    • Hide

      None

      Show
      None
    • False
    • NEW
    • NEW
    • Before this change the ClusterLogForwarder API required the URL for OTLP endpoints to terminate with `v1/logs`. This relaxes that validation to allow any URL that specifies an http or https protocol
    • Bug Fix
    • Moderate

      Proposed title of this feature request

      Allow customized otlp URL endpoint for ClusterLogForwarder 

      What is the nature and description of the request?

      The vector logforwarder in our OpenShift should be configurable to send data to an external otlp endpoint which doesn't follow the strict and expected syntax for the endpoint /v1/logs.

       

      oc explain clusterlogforwarder.spec.outputs.otlp.url
      GROUP:      observability.openshift.io
      KIND:       ClusterLogForwarder
      VERSION:    v1
      
      FIELD: url <string>
      
      
      DESCRIPTION:
          URL to send log records to.
          
          An absolute URL, with a valid http scheme. Must terminate with `/v1/logs`
          
          Basic TLS is enabled if the URL scheme requires it (for example 'https').
          The 'username@password' part of `url` is ignore 

       

      We need the flexibility to configure the endpoint in the ClusterLogForwarder by our needs.The OTLP/HTTP Request spec suggests the `/v1/logs` as a default path but not as a hard requirement.

      The default URL path for requests that carry log data is /v1/logs and the request body is a Protobuf-encoded ExportLogsServiceRequest message.

      Many logging system receivers allow the configuration of the otlp endpoint. Which in turn means OpenShift cannot work with logging solutions built to receive this data.

      Why does the customer need this? (List the business requirements)

      External log management and analysis tool (LogScale) in place. LogScale requires the otlp endoint to be `${HOST}:${PORT}/api/v1/ingest/otlp`, see further LogScale docs.

      All logs from all applications and infrastructure (not only OCP) should be sent into this tool. It's used for security reporting, monitoring and log management as well. OpenShift does not offer the required flexibility.

      This is not only a LogScale topic, because each system which does not force you to the `/v1/logs` endpoint will be incompatible with OpenShift for the OTLP protocol. The only system which forces you to use `/v1/logs` is Elasticsearch as far as we can tell, see Elastic docs.

      List any affected packages or components.

      OpenShift Logging ClusterLogForwarder and OpenTelemetry output

              Unassigned Unassigned
              rhn-support-ankimaha Ankit Mahajan
              Anping Li Anping Li
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated: