swarm-otel: the operator chooses which signals go upstream
Adds services.hyperhive.otel.upstreamSignals, a list of "metrics" and/or "logs" naming the signals the swarm collector sends to otel.endpoint. The swarm's own stores always receive everything. The upstream exporter is only defined when at least one signal uses it, since otelcol refuses an exporter no pipeline references. On deploy: nothing changes until the option is set; the default is [ "metrics" "logs" ], today's behaviour. To stop the 404 flood from an upstream that has no /v1/logs, set services.hyperhive.otel.upstreamSignals = [ "metrics" ].
This commit is contained in:
parent
9a65643769
commit
2977dc91d1
4 changed files with 114 additions and 20 deletions
|
|
@ -313,7 +313,9 @@ read side stays open to any authenticated caller.
|
|||
|
||||
The swarm's collector receives from every hive's own collector and is the
|
||||
only process that decides where telemetry goes: it always writes the stores
|
||||
above, and exports to `otel.endpoint` as well when that's set. It holds
|
||||
above, and exports to `otel.endpoint` as well when that's set. Which signals
|
||||
go there is `otel.upstreamSignals` (default `[ "metrics" "logs" ]`); the stores
|
||||
always get both. It holds
|
||||
the upstream credential, which is why no hive and no agent needs one.
|
||||
|
||||
It runs in a `swarm-otel` container. Its `swarm.otel.port` defaults to
|
||||
|
|
|
|||
Loading…
Reference in a new issue