Skip to content

HTTP Monitor

ZenPacks.zenoss.HttpMonitor

The ZenPacks.zenoss.HttpMonitor ZenPack monitors the response times of HTTP server connection requests, and determines whether specific content exists on a Web page.

HttpMonitor features include:

  • Monitors HTTP response time
  • Monitors HTTP page size
  • Monitors HTTP response code
  • Monitors HTTP through Proxy server
  • Monitors HTTP with Basic access authentication
  • Monitors HTTP specific content on the Web page

Open Source

This ZenPack is developed and supported by Zenoss Inc. Contact Zenoss to request more information regarding this or any other ZenPacks. Click here to view all available Zenoss Open Source ZenPacks.

Releases

Version 3.1.3-Download

  • Released on 2026/07/28
  • Requires PythonCollector ZenPack
  • Compatible with Virtana Service Observability (formerly Zenoss Cloud), Virtana Resource Manager 6.9.0

Version 3.1.2-Download

Version 3.1.1-Download

Support

This ZenPack is part of Zenoss Core. Open Source users receive community support for this ZenPack via our online forums. Enterprise support for this ZenPack is provided to Zenoss customers with an active subscription.

Enable monitoring

To collect web server metrics from a device, bind the HttpMonitor template to that device:

  1. In the navigation bar, click Infrastructure.
  2. In the device list, click the device name.

    The device overview page appears.

  3. In the left panel, expand Monitoring Templates, and then select Device.

  4. From the Action menu, select Bind Templates.

    The Bind Templates dialog appears.

  5. Add the HttpMonitor template to the list of selected templates, and then click Submit.

The HttpMonitor template appears in the list of monitoring templates for the device, and collection of web server metrics begins.

Note

You can bind more than one HttpMonitor data source to a single device. Place the data sources under one template or under separate templates. To distinguish the events that each data source generates, enter a unique value in the Component field of each data source.

Check for a specific URL or specify security settings

By default, the HttpMonitor template checks the root URL (/) of the web server. To check a different URL, or to specify SSL and authentication settings for a single device, override the template locally and then edit its data source:

  1. In the navigation bar, click Infrastructure.
  2. In the device list, click the device name.

    The device overview page appears.

  3. At the bottom of the panel, click the gear icon, and then select Override Template Here.

  4. Select the HttpMonitor (/) template, and then click Submit.

    A local copy of the default HttpMonitor template is created for this device only. Other devices continue to use the default template.

  5. Select the new HttpMonitor (Locally Defined) template.

  6. Select the HttpMonitor data source, and then from the Action menu, select View and Edit Details.

    The Edit Data Source dialog appears.

  7. Change the data source options as needed, and then click Save.

HttpMonitor Content Checking Data Source Options

Option Description
Port The port to connect to HTTP server (default 80).
Use SSL Use SSL for the connection (default False).
URL Address of the web page (default /).
Basic Auth User If the website requires credentials, specify the username here (default None).
Basic Auth Password Password for the user (default None).
Redirect Behavior If the web site returns an HTTP redirect, should the probe follow the redirect or create an event? (default follow)
ok - Do not follow the redirect and return a positive response
fail - Do not follow the redirect and return a negative response
follow - Follow redirection
stickyhost - Use original hostname (or IP address) on redirect
stickyhostport - Use original hostname and port on redirect
Event class (default /Status/HTTP)

Tuning for Site Responsiveness

  • Select Infrastructure from the navigation bar.
  • Click the device name in the device list. The device overview page appears.
  • Select the 'Gear' icon on the bottom panel and select the "Override Template Here" option.
  • Choose "HttpMonitor (/)" template and select "Submit". This will create a local copy of the default HttpMonitor template for only this device.
  • Select the newly created "HttpMonitor (Locally Defined)" template.
  • Select the HttpMonitor data source, and then select View and Edit Details from the Action menu. The Edit Data Source dialog appears.
  • Change data source options as needed, and then click Save.
Option Description
Timeout (seconds) Seconds before connection times out (default: 60)
Cycle Time (seconds) Number of seconds between collection cycles (default: 300 or five minutes)

Check for Specific Content on the Web Page

This procedure allows Zenoss platform to create an event if content at the web page does not match the expected output.

  • Select Infrastructure from the navigation bar.
  • Click the device name in the device list. The device overview page appears.
  • Select the 'Gear' icon on the bottom panel and select the "Override Template Here" option.
  • Choose "HttpMonitor (/)" template and select "Submit". This will create a local copy of the default HttpMonitor template for only this device.
  • Select the newly created "HttpMonitor (Locally Defined)" template.
  • Select the HttpMonitor data source, and then select View and Edit Details from the Action menu. The Edit Data Source dialog appears.
  • Change data source options as needed, and then click Save.

HttpMonitor Content Checking Data Source Options

Option Description
Regular Expression A Python regular expression to match text in the web page.
Case Sensitive Is the regular expression case-sensitive or not?
Invert Expression If you would like to test to see if the web page does not contain content matched by a regular expression, check this box.

Configuration to Monitor HTTP Through a Proxy Server

Example configuration of HttpMonitor to check a website through a Proxy Server when you have a proxy server with an IP address: 192.168.100.10 on port: 8080 and you have a device on /Devices/HTTP with a name google.com

Option Example value
HostName ${dev/id}
IP Address or Proxy Address 192.168.100.10
Port 8080
URL /
Proxy User (empty for if proxy anonymous)
Proxy Password (empty for if proxy anonymous)

Example configuration of HttpMonitor to check a website through a Proxy Server when you have a proxy server with an IP address: 192.168.100.10 on port: 8080 and you have a device on /Devices/HTTP with a name google.com and HTTP port 8888

Option Example value
HostName (empty)
IP Address or Proxy Address 192.168.100.10
Port 8080
URL http://google.com:8888/
Proxy User (empty if proxy anonymous)
Proxy Password (empty if proxy anonymous)

Example configuration of HttpMonitor to check a website through a Proxy Server when you have a proxy server with an IP address: 192.168.100.127 on port: 8080 and Username: proxy, Password: myproxypassword, and you have a device on /Devices/HTTP with a name example.org and HTTP port 8888

Option Example value
HostName (empty)
IP Address or Proxy Address 192.168.100.127
Port 8080
URL http://example.org:8081/
Proxy User proxy35
Proxy Password mypproxpassword

Proxy usage logic

HttpMonitor uses the address in the IP Address or Proxy Address field as a proxy server if the IP address for resolve in the field URL and Host Name and IP Address or Proxy Address do not match

Daemons

Type Name
Performance Collector zenpython

Changes

3.1.3

  • Replace deprecated base64.encodestring() with base64.b64encode() for compatibility with newer Twisted versions (ZPS-9310)
  • Tested with Virtana Service Observability (formerly Zenoss Cloud), Virtana Resource Manager 6.9.0

3.1.2

  • Improve compatibility with new Python libraries
  • Tested with Zenoss Cloud, Zenoss 6.6.0, Zenoss 6.7.0

3.1.1

  • Make use of value configured in Datasource "Component" field (ZPS-6133)
  • Tested with Zenoss Cloud, Zenoss 6.6.0, Zenoss 6.7.0

3.1.0

  • Fix infinity redirection in the case with not full URI path in header Location (ZPS-4904)
  • Fix issue when HttpMonitor doesn't check response and doesn't handle either (ZPS-4998)
  • Fix crashes of PythonCollector in the case with blank IP Address or Proxy Address fields (ZPS-4986)
  • Fix collection of datapoints for component-level datasources (ZPS-5550)
  • Provides details on Proxy usage with examples (ZPS-4912)
  • Tested with 6.3.2 and Zenoss Cloud

3.0.4

  • Fix issue with locally defined monitoring templates after upgrade (ZPS-3817)
  • Fix handles bad proxy hostnames (ZPS-3819)
  • Adds unittests for regular expression and redirect behavior
  • Adds Case sensitive/Invert Expression/Regular Expression properties into DataSource configuration (ZPS-3867)
  • Adds Redirect Behavior options ok/fail/follow/sticky/stickyport (ZPS-3867)
  • Tested with Zenoss Resource Manager 6.2.0, Zenoss Resource Manager 5.3.3

3.0.0

  • Removes Case sensitive/Invert Expression/Regular Expressions zProperties from DataSource configuration
  • Changes Redirect Behavior list to checkbox
  • Removes dependency library check_http from Nagios Plugins
  • Adds unittests