Skip to content

Add Vector & update Kubewatch configuration - #663

Merged
pydis-ff-bot[bot] merged 5 commits into
mainfrom
jb3/vector
May 25, 2026
Merged

pydis-ff-bot[bot] merged 5 commits into
mainfrom
jb3/vector

Conversation

@jb3

@jb3 jb3 commented May 24, 2026

Copy link
Copy Markdown
Member

This PR introduces Vector for log shipping amongst other QoL changes for our monitoring stack.

Vector is a very lightweight (~50mb) logging agent that can accept logs from a range of sources (similar to Alloy) and ship them to a range of sinks (in our case Loki).

We have switched Kubewatch from a custom deployment that sent data to Discord to a Helm deployment that will send structured JSON to Vector which will in turn push it into the Loki sink.

This allows us to keep track of events within our Kubernetes cluster over the long term in a more structured and useful fashion than just pumping information into a Discord channel.

Closes #347.

@python-discord-policy-bot
python-discord-policy-bot Bot requested a review from a team May 24, 2026 20:26
@github-actions github-actions Bot added the group: kubernetes Issues and pull requests related to the Kubernetes setup label May 24, 2026
@jb3 jb3 changed the title Jb3/vector Add Vector & update Kubewatch configuration May 24, 2026
@jchristgit

Copy link
Copy Markdown
Contributor

Just to make sure I understand this, the path for lines of text in our system is now:

(Process who is emitting logs) -> Vector -> Loki -> S3 server -> disk.

Is this correct?

@jb3

jb3 commented May 25, 2026

Copy link
Copy Markdown
Member Author

Sort of.

I can add some documentation to our docs site as part of this to show it.

We have Loki as a final aggregation stage and sink, this will in turn write to S3 for long term storage.

Anything can write into Loki, in our case we have three things writing:

  • Alloy as a daemonset (which ships Kubernetes logs)
  • Alloy on our Ansible machines (which ships the system journal and tails any files we configure ourselves, like PostgreSQL logs)
  • Vector as a single instance within Kubernetes to pick up bits we do not otherwise cover, by exposing things like a HTTP API that allows us to remap and transform data.

Vector does not replace Alloy, it's just a very lightweight translation layer for data which cannot otherwise run through Alloy.

In theory Vector supports the same features as Alloy so we could standardise on that as a solution across our nodes, but for now it sits well as a tiny container that just exposes a good-old HTTP API.

@ChrisLovering ChrisLovering left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@github-project-automation github-project-automation Bot moved this from Up next to In Progress in Infrastructure May 25, 2026
@jb3

jb3 commented May 25, 2026

Copy link
Copy Markdown
Member Author

/merge

@pydis-ff-bot

pydis-ff-bot Bot commented May 25, 2026

Copy link
Copy Markdown

✅ Successfully fast-forwarded commits from python-discord:jb3/vector onto main

@pydis-ff-bot
pydis-ff-bot Bot merged commit 19f4bde into main May 25, 2026
10 checks passed
@pydis-ff-bot
pydis-ff-bot Bot deleted the jb3/vector branch May 25, 2026 18:32
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Infrastructure May 25, 2026
@github-actions

Copy link
Copy Markdown

Thanks!

@jchristgit

Copy link
Copy Markdown
Contributor

Thanks. I am glad to announce that in the year of 2026, I no longer comprehend the """state of the art""" in logging stacks. Hopefully I am no longer on this planet by the time systemd-journald is implemented as a microservice.

This branch was previously deployed

1 inactive deployment
github-pages — 19f4bde7 Deployed May 25, 2026 by pydis-ff-bot[bot] via deploy #526
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

group: kubernetes Issues and pull requests related to the Kubernetes setup

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Retire the #dev-ops-notifications channel

3 participants