Project GoalsMy goals with this project are simple:
- Provide a custom layer between my monitoring things and an outward-facing status dashboard.
- Provide a RESTful interface to all of my monitoring things so that any(one|thing) can communicate status about applications (and their dependencies) using any programming language or command-line utility. Extensibility is key.
Design ChoicesTo get this project off the ground, I made specific design choices. The following is from the project's README:
Perl DancerThis project uses Perl Dancer. I'm best at Perl. Perl Dancer is based on the Sinatra project.
SQLiteSQLite is fast and simple, two things I really want this project to be.
Table NamesThe table names I selected are singular. I usually prefer plural table names in designing tables (the content makes up a collection of the thing the table is named for), but I also like simple code. So, to serve the latter, I use singular table names to make my code simpler.
TodoI have much work to do. The current state of this project is very alpha. It's not ready for production and isn't being delivered via a web server (like Apache or Nginx) just yet. I may also port this to Ruby and take advantage of Sinatra.
In the meantime, I'll continue to build on the project and update it as often as I can.
Finally, at this time, I plan to use Stashboard, by Twilio, to display application status information. That may change in the future.