Stashboard is a status dashboard for APIs and software services. It's similar to the Amazon AWS Status Page or the Google Apps Status Page. Stashboard was originally written by Twilio to provide status information on its Voice and SMS APIs. Stashboard is designed to provide a generic status dashboard for any hosted service or API. The code can be downloaded, customized, and run on any Google App Engine account.
Stashboard is written in Python and hosted on Google App Engine.
Head over to stashboard.appspot.com to play with the latest version.
If you are unfamiliar with App Engine, make sure to check out the Getting Started guide.
First, install the App Engine SDK for Python, available here. The SDK makes it easy to run Stashboard locally or deploy it to appspot.com
Next, download and extract Stashboard to your computer. The source is availble for download from Github.
Open the SDK, choose File > Add Existing Application..., select the stashboard folder you downloaded above and choose a port. Press Run and navigate to http://localhost:{port}
to see your Stashboard installation.
Before you can deploy Stashboard, you will need to create an application on App Engine. Google has a simple tutorial for registering applications with App Engine.
Once your application is registered, open app.yaml
in the Stashboard directory and change application-id
to the name of your newly created application.
Hit the 'Deploy' button, wait a couple of seconds, and then navigate to http://{app-name}.appspot.com
to enjoy your new status dashboard
Stashboard can live at http://status.your-company.com. Simply log into Google Apps to manage your domains. Learn more here.
Full documentation of the REST API can be found at http://readthedocs.org/docs/stashboard/en/latest/restapi
The Stashboard REST API is broken down into three resources: Services, Events, and Statuses.
Services are the basic unit of Stashboard. A service is any web service that can be consumed, and more importantly, can fail. Using Stashboard, you can easily inform your users of the current service status. To handle system status, Stashboard uses the concept of events.
A service has a list of events, listed in reverse chronological order, which represent the state of that service. To track the state of a web service, an administrator creates events for a given service.
For example, if a service is currently down, create an event with a "DOWN" status, explaining why the service isn't working. Once the service is up again, simply create a new event with an attached "UP" status.
A status represents the state of a web service. Instead of being directly attached to services, a status is attached to a service event (described above). Therefore, the current system status is simply the status attached to the most recent event.
All Stashboard development and discussion happens in the Stashboard google group.
To keep up to date, you can follow @stashboard on Twitter or join the #stashboard channel on freenode.
You can download this project in either zip or tar formats.
Stashboard was created at Twilio.
Stashboard is licensed under the MIT License