Almost 2 years ago I had need for a monitoring system, that monitored servers ping times, databases and various other metrics, but also things things like my email inboxes (for unread email), my game servers, webservers, and lots various other stuff. Nagios was the only system I'd used seriously, I liked it's architecture a lot (add a check with a python, bash, ruby, perl script, etc), but hated many things like the interface, the lack of decent remote check support and one of the biggest things was having to restart the service after any configuration change.
I Googled around a bit for other solutions, but as a developer, I didn't spend enough time Googling and found it easy to open up my IDE and start writing code for a new solution.
After a few hours I had something I thought was promising, had something functional in a few days and after a week or two I released The Upsilon Project (http://upsilon-project.co.uk). I've invested a few evenings and weekends over the last 2 years, but I've got a system that is totally perfect for me. It turned out better than I could have ever expected and I'm mostly happy with the technical functionality (respectable web interface, online configuration reloads, far better scheduler).
Now the next stage is pretty simple, it has been open source since the beginning (naturally), so I posted it around a few sites, once including reddit, and got some interesting feedback.
- "Yet another monitoring solution"
- "Ugh, it's Java and XML"
- $X already does that (in particular, Sensu - http://sensuapp.org/ is eerily similar in architecture and objective)
So, I guess the last point is what bugged me the most, but it should not have come as a surprise, I didn't do my research I suppose because writing code is more fun! Now, I'm suppposed to be asking a question, so here it comes;
The Upsilon Project hasn't been a waste of time for me, because of this;
- I've learnt a lot, mostly about the process of open sourcing a project (news, how difficult it can be to get interest, a community)
- Stable, effective build pipelines are _ seriously hard_.
- Effective, comprehensive documentation sucks to write.
- Negative feedback really hurts, but it seems a good motivator to improve.
- I've got a perfect system that works for me.
But it now could be a waste of time if I invest more into it;
- Nobody is using my project, and many other solutions (Sensu in particular) are further along and have a community.
- Any features now are surplus to my personal immediate requirements.
- My contributions into other projects could help more, rather than further developing another tool.
My question to you is, do I continue with the Upsilon Project?