Saturday, January 26, 2008

Using Google Calendar to Monitor Software, Part 1

I monitor things: builds, dumps, releases, automated tests. These are tasks that run periodically, from cron jobs, unattended. I don't need to intervene, but I do need a record of what happened, and an ability to see how things have been going, at a glance.

It's a lot to watch. I could use Nagios, or text logs, or spreadsheets, but none of these has the right feel for date-and-time data.

Date and time data belong on a calendar.

Somewhere, long forgotten, I saw a post by folks who'd used Java to turn system administration data into Google calendar entries. Google calendar has an API, so I tried it myself.

Google calendar means I can share it with other folks who care -- like my boss.

Google calendar means I can make little calendars for each thing -- each its own color -- and watch them all at once.

Google calendar means I can search it. It's my "to-did" list.

I used Perl because it's familiar. I've used it for years and so I can cobble stuff together, fast.

In the next couple of posts, I'll
  • show how to set up the calendar(s)
  • offer up the code, which makes entries from the command-line
  • show how to set up Firefox to watch the entries in a sidebar
The last one's just a convenience. Me, I mostly just go right to my calendar.

No comments: