What it does
It gathers metrics, logfiles and alerts from supported platforms. At present the only "host" adaptor provided is a generic "Linux" one (i.e. literally just the box you're on) but I wanted to add, e.g. a "Docker" one that allows discovery of services within Docker containers, etc. etc.
It's supposed to be simple to set up - it has very few dependencies, just Go (on some server somewhere!) and Postgres, unlike some reporting stacks which are quite complex to put together. I like to think I kept to that.
How I built it
Literally just me! I decided it might be interesting to see how far I could get trying to work on the app alone, full-stack.
I fleshed out the backend collection agent first, which was a ton of fun. I think the first code that went in was the code that interacts with DBus to gather some interesting data about the number of packages installed on your system.
Challenges I ran into
It's actually quite hard to do everything alone :o) but I knew that going in, anyway.
Accomplishments that I'm proud of
The backend supports shuttling logs upwards, and the architecture is designed such that you can chain nodes together.
The provisioning system is super neat as well - you end up with (eventually, once the server support is there) a binary containing a one-time use, embedded certificate which can be used for generating proper key material on the target server.
What I learned
Red Bull sugar free tastes like death.
Log in or sign up for Devpost to join the conversation.