swarm-controller: get its otlp pushes past the collector, log failures
The collector's oidc/swarm authenticator verifies the bearer offline as a JWT. The controller's authelia client was registered without accessTokenSignedResponseAlg, so authelia mints it an opaque authelia_at_ handle, which that authenticator cannot verify: by config, no push from the vcs or jobq exporter can be accepted. Register it with RS256 like every other client whose token lands on an oidc/* receiver. The SDK logs a failed export at debug only, so a refused push never reached the journal. AuthenticatedHttpClient now warns on a failed token mint, a transport error, or a non-2xx answer (status plus a body snippet), once per kind of failure and again every 10 minutes with a count, and logs once when a push succeeds after failing. Refs #5393
This commit is contained in:
parent
8c948434ae
commit
1e8c398132
4 changed files with 381 additions and 21 deletions
|
|
@ -494,6 +494,13 @@ crate's own doc comment) — `swarm-controller` sets `service.name =
|
|||
swarm-controller` directly rather than reading it from the container
|
||||
environment, since it's a standalone daemon, not a per-agent harness process.
|
||||
|
||||
Both exporters push through `swarm-controller`'s own authenticated client,
|
||||
and the collector's `oidc/swarm` receiver checks the bearer. When a push
|
||||
fails, `swarm-controller` logs `otel export: push to the collector failed`
|
||||
at warn, with the kind of failure (`token`, `transport` or `status <code>`)
|
||||
and the start of the response body. It repeats a persisting failure every
|
||||
10 minutes with a count, and logs once at info when pushes succeed again.
|
||||
|
||||
## Agent-emitted custom metrics (`hive-metric`)
|
||||
|
||||
Agents can push arbitrary labeled metrics to the same OTEL collector via the
|
||||
|
|
|
|||
Loading…
Reference in a new issue