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.

What's next for phalanx

Built With

Share this project:

Updates