Home

keithlarson edited this page Apr 26, 2013 · 21 revisions

This is a LAMP stack monitoring application that is built with you in mind. The “on-call” users of today of course most likely have a smart phone, and there is no need to "turn up the volume on the smart phone so an overnight txt will wake me up."

When custom set thresholds are reach for failed events this application will call the scheduled user with a voice message. The voice service is done through Twilio.com.

  • The message starts with a quick introduction and then goes into more details about the error and times failed.
    • It starts with an introduction to give the person time to wake up
  • It then asks the user to press one to confirm that they will handle the error or press two to say unavailable.
  • This application logs all interactions and will continue notifications based on who all is on call or default back to the ADMIN contact via the config file.
  • This application also allows you more flexibility when monitoring different entities. This evaluates the result not just a status.
    • If you check a HTML page this checks the content not just a 200 status.
    • If you check a SQL Stored Procedure we check the results
    • You set the command , you can set what is a valid result quickly and easily.

Voice notifications are starting to catch on and others are starting to use similar services:

Currently alterations for web servers other than APACHE on LINUX are up to you. This application is designed for an Intranet. If you would like to place this on the public web I would recommend HTTP Password protection. Apache Virtual Host suggestions are available at the end of the install.

The application does the following:

  • --Schedules on call rotations for users.
  • --Notifications via email
  • --Notifications via a phone call
    • --So you do not sleep through another txt message overnight
  • --Notifications via a txt message
  • --Allows dynamic cron creation for dynamic monitoring options.
  • --Monitor MySQL connections
  • --Monitor MySQL performance
  • --Monitor HTTP results
  • --Monitor HTTP results
  • --Monitor results via SSH command
  • --Monitor results via MySQL query
  • --Monitor results from shell command

Download & review the repo from this location or just download a zip file from here.

The install.pl script is designed to install via modules. So if you need to reinstall a certain aspect you can rerun the script and just execute the desired section.

To begin: ./install.pl

Documentation is available via txt files in the docs folder, within the dashboard and also available online: https://github.com/keithlarson/sqlhjalp_oncall/ it was previously available here: https://code.launchpad.net/~klarson/+junk/sqlhjalp_monitor

My TO-DO List for coming soon features

Side Notes:

  • I would suggest setting date.timezone field in your php.ini file.
    • The jpgraphs use strtotime() and could fill your logs with warnings.