The following HowTo describes setting up Zenoss to monitor webpages, defined by domain name and url, with HttpMonitor. You will setup needed devices, create a performance template based on HttpMonitor, and combine them to utilize graphs and thresholds of page load times. With a minimal amount of setup, you can have graphs of page load time, page size, alerts on uptime, and more for important websites.
Enterprise customers are strongly advised to use ZenWebTX instead of HttpMonitor.
ZenWebTx extends Zenoss’ web monitoring capabilities beyond the simple uptime, load time, and size checks available in the Core version.
With ZenWebTx you can have Zenoss navigate through your entire web application checking for compliance at each step. Multiple timers can be set along the way to measure response time for each operation of the synthetic transaction as well as the total time for the entire transaction to complete.
For more information, please contact our client services team.
Monitoring a website with the HttpMonitor ZenPack is as simple as monitoring any other sort of node, such as a server. Lets start by setting up a device specific for our use.
-
Under the dropdown
table menu for ‘Sub-Devices’,
click ‘Add New Organizer...’
Input the name of the new
organizer. It is suggested to
name it “Web”
Navigate to the device you created
Under the dropdown page menu for /Devices/Web/mycooldomain.com (next to ‘Status’ tab), click ‘More’ > ‘zProperties’
Fill the settings as follows:
Click ‘Save’
Next we will actually encounter HttpMonitor when setting up a Performance Template. It is useful in most cases to create a general Performance Template on the /Devices/Web class, and apply that to devices you add (i.e. each site). Then for special cases, like sites requiring authentication, you can create specific Performance Templates on those devices.
Navigate to the /Devices/Web class
Click the ‘Templates’ tab
Under the dropdown table menu for ‘Available Performance Templates’, click ‘Add Template...’
Enter a helpful name for the performance template in the ID field, such as “webPageChecker”
Click on the new Performance Template ‘webPageChecker’
Under the dropdown table menu for ‘Data Sources’, click ‘Add DataSource...’
Fill the pop-up as follows:
Click OK, and you now can configure the specifics of your new Data Source
Fill out the options as follows:
Severity: “Error”
Url: “/”
The Url is what the check will hit. “/” is default, and this path is appended to the id of the device it is applied to. Thus in the example case, it would hit “mycooldomain.com/”. This would be appropriate to monitor your homepage.
For details about the various options that HttpMonitor provides, visit
httpmonitor
Click ‘Save’
Now you need to bind your new Performance Template to the /Devices/Web class you added. This allows any new device added to the /Devices/Web class to inherit the performance template settings that you created above.
Navigate to the /Devices/Web class
Click on the ‘Templates’ tab
Under the dropdown table menu for ‘Available Performance Templates’, click ‘Bind Templates...’
Select ‘webPageChecker’, the Performance Template you just added
Make sure to unselect the one that is selected by default (hold CTRL). The reason you unbind the default is that it monitors uptime with ping, which you do not want for monitoring a website.
This will bind your Performance Template to the class you are currently on, in this case /Devices/Web
All website devices you create under /Devices/Web will inherit the ‘webPageChecker’ Performance Template, and therefore be monitored using HttpMonitor!
Now you have all the pieces in place to begin USING HttpMonitor! We will setup a graph and threshold based on page load time. Having page size and load time graphs can be helpful ways to quickly see whether your site is responding slowly for users over time, when, etc.
Navigate to the performance template that you created, ‘webPageChecker’
Under the dropdown table menu for ‘Graph Definitions’, click ‘Add Graph...’
Fill the ID as something like ex: “responseTime”
Fill out the settings as follows:
Units: “seconds”
All rest: defaults
Click ‘Save’
Under the dropdown table menu for ‘Graph Points’, click ‘Add DataPoint...’
Fill the pop-up as follows:
Now, for any device you add in /Devices/Web (or whichever class you bound the template to), you will have this graph available under the Perf tab.
Aside from just knowing if your site is up or down, it is also helpful to know when it is performing outside of ranges you find acceptable. For example, if your homepage takes around 2 seconds to load, you may wish to set a threshold of 4 seconds. Then you could get alerts when your site is taking abnormally long to load and go find out why.
Navigate to the performance template that you created, ‘webPageChecker’
Under the dropdown table menu for ‘Thresholds’, click ‘Add Threshold...’
Fill the pop-up as follows:
Fill out the settings as follows:
Click ‘Save’
Now whenever your page takes longer than the max, it will throw an warning event!
To get a threshold to throw an event, right now, you can change your threshold to be very low
See the above part on threshold settings, and change Max Value: ‘.1’ or something very low
Navigate to a device that has this performance template bound to it, say /Devices/Web/mycooldomain.com
Wait for Orange or Red Events to happen, denoted by non-zero #’s.
should I do this?
Pertaining to webserver vs website monitoring... how to setup both at same time. Also, how to setup multiple website monitors that resolve to the same IP.
Someone made a comment about this, in particular, on the old how to.