Changes between Version 5 and Version 6 of HealthMonitoring


Ignore:
Timestamp:
Mar 25, 2012, 11:10:34 PM (12 years ago)
Author:
jesseeichar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HealthMonitoring

    v5 v6  
    3434The Metrics library (http://metrics.codahale.com/) by Yammer has excellent support for monitoring the performance and health of a system.  It provides a consistent API for developers to register some vital statistics of an application.  For example in Geonetwork we might want to have a monitor system (like nagios or collectd) check the health of the system which would include checking the database connection, ability to open files, check the index, etc...  In addition we might want to attach a Metrics appended to the logging to track the number of errors being logged and the monitor system would be able to warn of a potentially unstable system based on the number of errors being logged.
    3535
    36 Metrics has 2 Apis, one for configuring the health checks and another for performing the configured health checks.  The 'out' Apis include JMX, JSON as well as HTML pages that could be integrated into the admin user interface.
     36Metrics has 2 Apis, one for configuring the health checks and another for performing the configured health checks.  The 'out' Apis include JMX and JSON.  For this proposal 4 new servlet mappings will be defined for accessing the monitor information:
     37  - /ping - returns pong if server is still working
     38  - /metrics?pretty=(true|false) - returns a json response with all of the registered metrics
     39  - /threads - returns a text representation of the stack dump at the moment of the call
     40  - /healthcheck - returns 200 if all checks pass or 500 Internal Service Error if one fails (and human readable response of the failures)
     41
     42A link will be made from the Admin/config.info page will be made to these servlets so a administrator can easily access this data.  In a future implementation we can possible add a more attractive UI for viewing the information.
    3743
    3844It is important to realize that metrics is not exactly the same as statistics in my use case.  While it could be used in some capacity for statistics, in this proposal metrics will be used as a standard API and utilities for creating a monitoring subsystem that is flexible, extensible and can interoperate with many existing monitoring systems.
     
    4854=== Backwards Compatibility Issues ===
    4955
    50 A new dependency and update to web.xml optionally
     56A new dependency and new ma
    5157
    5258== Risks ==