Meet Watchdog; Hotels.ng’s in-house open source application monitor

Application and server monitoring FTW!

Remember how in my article about creating a Slackbot for Bank alerts I talked about how we like to create most of the tech we use? Well it was not a joke.

We created Watchdog, an application monitoring tool that can be used by pretty much anyone to monitor their applications.

The need for a monitor

When you are the biggest online hotel booking agency, you have to keep your services running always. As with all things technical, though, there are occasional hiccups.

Watchdog, our application monitor, is made to watch all our in-house applications. It makes sure everything is 💯. It does not just watch the main site, it also watches our private APIs, and in future iterations, it will watch automated backups and slow SQL queries.

Sample Watchdog notification on Slack

How it works

Well it’s nothing too complicated. In its very bare form, Watchdog uses a Laravel schedule and each time the schedule runs, it fires services that subscribe to that schedule.

Where Watchdog really shines is that fact that it can be easily plugged into. There is a plugin folder that has two services already, a Slack service and a HTTP service.

If you are thinking, there are services out there that do this same thing. You disgust me.

Moving forward

Right now it’s still an in-house tool and though it’s open source, you can easily tell it was made for an in-house team. Moving forward, features that decouples it would be added while bolstering up the documentation for developers and contributors.

Plans to add a Daemon service that watches crons, loggers and more are coming gradually. In the end, Watchdog should be able to monitor everything quickly and efficiently. What?!! Thats crazy.

Contributions

Yes, as with all open source products, we accept contributions to the project. So go ahead fork the repo and send a pull request.

Repository: https://github.com/neoighodaro/watchdog

Contributors