Aaron Rosenfeld / 19 posts / 49 comments / feed / comments feed

phpWatch 2.0 Development

phpWatch has become a much greater success than I anticipated.  Going by the hits to the version-check file, there are about 600 active users on a day to day basis.  I get a few e-mails per week with suggestions and criticism that has been invaluable in the development of phpWatch.  After aggregating a list of possible features and changes for version 1.0.9, I’ve decided to re-write the system from the ground up as version 2.0.

The list of a few features you can expect in 2.0:

  1. Redesigned Frontend: The frontend has been completely re-written for W3C validation and visual appeal.  This portion of the project is almost complete and I’ll have some screenshots up soon.
  2. Smarty: The Smarty template engine will be used to separate implementation from presentation rather than mixing HTML and PHP.
  3. JavaScript Rewrite: The JavaScript used in current versions of phpWatch is scattered throughout multiple pages and does not follow any specific convention.  2.0 will feature re-written, organized JavaScript relying on jQuery for all functionality including Ajax requests.
  4. Statistics: One of the most requested features from users is the ability to plot and analyze uptime information.  2.0 will feature extensive use of pChart to graph different user-defined uptime metrics.
  5. Backend: The backend of phpWatch 2.0 will be significantly more organized than current versions.  Additionally, all server-specific PHP syntax (i.e. short tags) have been standardized to the PHP default configuration to decrease the number of errors reported.
  6. SMS Integration: I have re-worked the SMS system based on my php|architect article to provide additional functionality such as user-specified gateways.  Additionally, the formatting of SMS and E-mail messages will be much easier to edit than they are in current versions.
  7. New DBAL: I’m planning on using ADOdb for 2.0 rather than the existing Database class.  This should make pages load faster as well as make code more readable.

At the moment I don’t have a release date but I’ll be sure to post any major milestones.

Also, I’m still looking for more suggestions and feature requests from existing and prospective users.  If you have ideas, please let me know either by commenting here or by sending an e-mail to aaron [at] aaron-rosenfeld.com.

8 Comments

  1. solomongaby — May 13, 2009 #

    Hello,

    I really like phpWatch 2.0 and have a few sugestions for 2.0:
    - i wouldnt use smarty as a template engine since that will slow things down a bit.
    - maybe an implementation of a IM client notification would be nice or even a direct message on twitter

  2. anakein — May 19, 2009 #

    phpwatch 2.0 have future.

    now one sugestions.
    clusters options. I think for good system uptime control i need some phpwatch in some hosting and comunication for , xmlrpc?. and then if one hosting down with phpwatch you have other control point.

  3. Jose — July 17, 2009 #

    Glad to hear the rewrite is in the works. Should punt this from good to great.
    Using it the last months I had a few suggestions:
    * Allow for machine reboot - presently all sites show downtime when the monitoring server was down. This is misleading.
    * Use the Google Charts API so that people don’t need the pChart API installed. Simpler, faster, and easier to install. Many great PHP examples out there and good doc.
    * Allow a server’s monitoring to be paused. Presently I have to delete it if it is down for work.
    * Allow server aliases so my boss can know it is the DB server, not 6a-9f-bb.somthing.com

    Best luck! Look forward to seeing the metamorphosis.

  4. Amelie Rencontres — July 22, 2009 #

    I heard about phpwatch that the purpose of this system is two-fold: it allows administrators to easily check the status of many different services running on any number of servers and also allows developers to interface with the query and notification APIs.

  5. JOSE — July 25, 2009 #

    Me again,

    Timezone tracking is also of great use and very simple to implement. My monitor server is in LA, but my production and engineering facilities are in New York. Though simple, converting from PDT to EDT is always a pain. But, PHP has a built in faculty for this. I just added the following line to pages/monitors.php:

    date_default_timezone_set(’US/Eastern’);

    You can store TZ as a option from the config page, or since you are pulling from req.php via AJAX on page load, you can use this JS script to dynamically get the user location.

    http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/

  6. ArleyM — September 29, 2009 #

    Bring it on!

  7. Warwick — October 11, 2009 #

    Hi Aaron,

    Great Product, I have a couple of suggestions for improvements

    1) Check server has connectivity before alerting/logging down time
    Check 3 sites (eg google.com, microsoft.com and redhat.com) having the sites user configurable would be best.
    If all 3 sites are down/appear to be down it is assumed there is a problem with the servers connectivity and an alert to this effect is sent/attempted to be sent and downtime/alerts are not logged against individual sites.

    2) Escalating alerting levels eg
    1 missed poll - Log only
    2 missed polls (consecutive) - Send Email
    5 missed polls (consecutive) - Send Email to different address/addresses.

    3) Service Restored Emails

    Where an email has been sent advising the service is down an email should be sent advising when it is restored

  8. Mako Web Design — April 4, 2010 #

    Reiterating Escalating alert levels, very important
    I love the fact you are developing on Smarty, I use it all the time.

    It should look for key words not just ping. This would make sure a database is running or even that domain name had not expired.

Leave a comment