Description
The purpose and use-cases of the new component
A connector that routes data based on the current health status of a downstream component, typically an exporter.
I have heard several users ask for the ability to send data to a backup exporter, if a primary exporter fails. I believe this could be implemented as a routing connector.
The user would specify at least one pipeline to which data would typically be routed. Additionally, the user must specify at least one backup pipeline or pipelines which would be used when an error is encountered.
Initially, I think the trigger for routing to a backup pipeline could be based on backpropogated errors, though this is not yet very robust (See open-telemetry/opentelemetry-collector#7460). At a later time, I imagine this could be based on the health status of an exporter (See open-telemetry/opentelemetry-collector#6344).
Example configuration for the component
receivers:
foo:
exporters:
bar/main:
bar/backup:
connectors:
failover:
primary: logs/main
secondary: logs/backup
service:
pipelines:
logs/in:
receivers: [foo]
exporters: [failover]
logs/main:
receivers: [failover]
exporters: [bar/main]
logs/backup:
receivers: [failover]
exporters: [bar/backup]
Telemetry data types supported
traces->traces
metrics->metrics
logs->logs
Is this a vendor-specific component?
- This is a vendor-specific component
- If this is a vendor-specific component, I am proposing to contribute this as a representative of the vendor.
Sponsor (optional)
No response
Additional context
No response