Ryan Greenhall

Thoughts on Software Development

Introducing Insight: A Dashboard to Collate Status information from Multiple Application Instances

without comments

The goal of insight is to help teams have greater visibility of the state of the software they are deploying. Insight makes it easy to answer questions such as: are all nodes running the same version? Are all nodes pointing at the correct database? Are all the instances running? In short, being able to answer these questions takes a lot of the stress out of performing a release.  I was introduced to this style of dashboard by Sam Newman and have used them extensively ever since.

insight dashboard

Configuration

Insight relies on web applications exposing their configuration properties as a resource represented as JSON.  For example, a request to http://mywebapp:8080/internal/status.json responds with:

{
    "username" : {
        "value": "user",
        "type" : "property"
    },
    "end.point": {
        "value" : "http://end.point.i.need.to.talk.to",
        "type" : "integration"
    },
    "number.of.requests.in.last.hour": {
        "value": "1678",
        "type" : "event"
    }
}

I started the project over a year ago as a breakable toy in order to learn Node.  It has proved useful at Forward and a recent facelift by Luke Williams has prompted me to advertise it for use by others.

Feedback most welcome.

Written by Ryan Greenhall

August 21st, 2011 at 3:28 pm

Posted in Uncategorized