Go/NoGo Dashboard for System Health

Summary

The idea for this project was to create a “Health” dashboard similar to Amazon or Azure. In our environment, we don’t seem to have a problem getting emails when things fail.

Our problem was that were not getting notified about events that should have happened but did not. For example, if the process to import a file normally runs every morning, but it does not run one morning, we didn’t know about it. Since it didn’t run, it did not send an email about any problem.

Another benefit of a health dashboard is for a quick “sanity check” when a problem is reported. As a first step, we can check the dashboard to see the overall health of the system.

Screens

Home Page

The main page allows the user to quickly filter the checks by the environment (Prod, Test, Dev).
Gng01

Home Page – Dark

I am not a designer (I can barely match a pair of socks). However, I do like options. Bootstrap/BootSwatch made it easy to do that. I allow the user to pick the theme they like, simply by clicking the links in the lower right of the screen.
Gng01b

Dashboard filtered by tag

The system supports tags to make it easy to group related checks. For example, all tasks running on a specific server may be tagged with that server name.
Gng02

Edit Task & Tags

Example of screen to edit task description and tags along with any notes for the specific check.
Gng03

Show Triggers

Each check can have multiple triggers. This allows some pretty flexible scheduling as shown in this example.
Gng04

Edit Trigger

Clicking a trigger in the list brings up the modal edit dialog. I tried to use buttons to make it easy and visual for the user to “see” the schedule.
Gng05

View Actions

Gng06

Edit SQL Action

Example dialog to edit the Sql used for the check.
Gng07

History Tab

The helps determine how often a check is failing. It also includes any notes that were added about a failure.
Gng08

Edit Event Note

Clicking the pencil in the far right column allows the user to enter a note about a specific event. This can be helpful to explain why some event failed.
Gng09

Export to Excel

This serves two purposes.

  1. Backup of existing configuration.
  2. I didn’t complete this piece, but the idea was to be able to add checks to the spreadsheet and import it back into the system.

Gng10

WebAPI Generated Doc

Here is an example of the API Doc we get for free with WebAPI.
Gng11

Trello Punch List

Trello screenshot showing a portion of the project punch list.
Gng12

Technology / Tools

  • C#
  • WebApi
  • AngularJS
  • Bootstrap/BootSwatch
  • Windows Service
Print Friendly

Leave a Reply