Ad Widget

Collapse

RESTful monitoring

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • domfox
    Junior Member
    • Feb 2009
    • 1

    #1

    RESTful monitoring

    I have a question about whether Zabbix can be configured or extended to monitor a "resource" that is identified by a URL (e.g.
    http://my.company.com/path/to/resource) rather than a "host" identified by an IP address or a domain name. (There's a little more to it than just seeing whether the URL responds to an HTTP hit, which I'll discuss below). If the idea is feasible but development work is necessary, we'd be interested in sponsoring some development and releasing the results back into the community.

    A "resource" in this case might be an application which got moved around from host to host, or distributed across several hosts. We would be interested in things like the number of transactions it had processed in the last 15 minutes, the number of concurrent transactions (average and peak) during that time, and things like that. The application itself might be responsible for gathering data at a high granularity, and returning summary values when polled by the monitoring system, together with details of the time window they summarised.

    The mechanism I imagine is that an HTTP hit to URL would return a structured response representing the state of the resource. We wouldn't just be monitoring connection time and response code to test the health of a web site: the server which handled the HTTP hit would behave more like the Zabbix agent, collecting data for a number of test points on the resource and returning the test results (e.g. as a JSON document).

    I have two questions about this approach:

    i) Is it incompatible with Zabbix's rather host-centric data model, or can URL-identified resources be first-class citizens in that model?
    ii) Can Zabbix be configured or extended to support the collection of data through RESTful exchange of structured documents over HTTP?

    Some further questions, related to question ii): If it's a question of extending Zabbix, what would the method be (e.g. a plug-in)? Has anyone else already tried to do this?

    Best wishes,
    Dominic Fox
    Developer, Digital Mail Limited
Working...