11/21/13, 4:25 PM Zabbix Manual [Zabbix]
Page 1 of 1 https://www.zabbix.com/documentation/2.0/manual
Zabbix Manual
Welcome to the user manual for Zabbix 2.0 software. These pages are created to help our users successfully manage their monitoring tasks with Zabbix, from the simple to the more complex.
2.0/manual.txt · Last modified: 2012/05/23 11:27 by martins-v
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported [http://creativecommons.org/licenses/by-nc-sa/3.0/]
12/5/13, 1:30 PM 8. Web monitoring [Zabbix]
Page 1 of 5 https://www.zabbix.com/documentation/2.0/manual/web_monitoring
8. Web monitoring
Overview
With Zabbix you can check several availability aspects of web sites.
To perform web monitoring Zabbix server must be initially configured with cURL (libcurl) support.
To activate web monitoring you need to define web scenarios. A web scenario consists of one or several HTTP requests or “steps”. The steps are periodically executed by Zabbix server in a pre-defined order.
The following information is collected in any web scenario:
average download speed per second for all steps of whole scenario failed step number
last error message
The following information is collected in any web scenario step: download speed per second
response time response code
Zabbix can also check if a retrieved HTML page contains a pre-defined string. It can execute a simulated login and follow a path of simulated mouse clicks on the page.
Zabbix web monitoring supports both HTTP and HTTPS. When running a web scenario, Zabbix always follows redirects. All cookies are preserved during the execution of a single scenario.
To use HTTP proxy, set the http_proxy environment variable for Zabbix server user. For example,
http_proxy=http://proxy_ip:proxy_port.
To perform HTTPS checks with the proxy, set the additional HTTPS_PROXY environment variable. For example,
HTTPS_PROXY=http://proxy_ip:proxy_port.
More details are available by running a shell command # man curl.
Data collected from executing web scenarios is kept in the database. The data is automatically used for graphs, triggers and notifications. See also: Web monitoring items.
Configuring a scenario
The first step of creating a web scenario is creating a suitable application (unless you already have one). Web scenarios are linked to applications for grouping.
12/5/13, 1:30 PM 8. Web monitoring [Zabbix]
Page 2 of 5 https://www.zabbix.com/documentation/2.0/manual/web_monitoring
Then, to configure a web scenario: Go to: Configuration → Web
Click on Create scenario to the right (or on the scenario name to edit an existing scenario) Enter parameters of the scenario in the form
The Scenario tab allows you to configure the general parameters of a web scenario.
General parameters:
Parameter Description
Application Select an application the scenario will belong to. The application must exist. Name Unique scenario name.
Authentication
Authentication options.
None - no authentication used.
Basic authentication - basic authentication is used.
NTLM authentication - NTLM (Windows NT LAN Manager) [http://en.wikipedia.org/wiki/NTLM] authentication is used.
Selecting an authentication method will provide two additional fields for entering a user name and password. Update interval
(in sec) How often the scenario will be executed, in seconds.
Agent Select a client agent.Zabbix will pretend to be the selected browser. This is useful when a website returns different content for different browsers.
Variables
List of variables (macros) for use in scenario steps (URL, Post variables). They have the following format:
{macro1}=value1 {macro2}=value2
For example: {username}=Alexei {password}=kj3h5kJ34bd
The macros can then be referenced in the steps as {username} and {password}. Zabbix will automatically replace them with actual values.
Note: Variables are not URL-encoded.
12/5/13, 1:30 PM 8. Web monitoring [Zabbix]
Page 3 of 5 https://www.zabbix.com/documentation/2.0/manual/web_monitoring
The Steps tab allows you to configure the web scenario steps.
Configuring steps
To add a web scenario step, click on Add in the Steps tab of a scenario form.
Step parameters: Parameter Description
Name Unique step name.
URL
URL to connect to and retrieve data. For example: http://www.zabbix.com
https://www.google.com
GET variables can be passed in the URL parameter.
Post
HTTP POST variables, if any. For example:
id=2345&userid={user}
If {user} is defined as a macro of the web scenario, it will be replaced by its value when the step is executed. The information will be sent as is, variables are not URL-encoded.
Timeout
Zabbix will not spend more than the set amount of seconds on processing the URL. Actually this parameter defines maximum time for making connection to the URL and maximum time for performing an HTTP request. Therefore, Zabbix will not spend more than 2 x Timeout seconds on the step.
For example: 15
Required
Required regular expressions pattern.
Unless retrieved content (HTML) matches required pattern the step will fail. If empty, no check is performed. For example:
12/5/13, 1:30 PM 8. Web monitoring [Zabbix]
Page 4 of 5 https://www.zabbix.com/documentation/2.0/manual/web_monitoring
Welcome.*admin
Note: Referencing regular expressions created in the Zabbix frontend is not supported in this field. Status
codes
List of expected HTTP status codes. If Zabbix gets a code which is not in the list, the step will fail. If empty, no check is performed.
For example: 200,201,210-299
Any changes in web scenario steps will only be saved when the whole scenario is saved. See also a real-life example of how web monitoring steps can be configured.
Display
To view detailed data of defined web scenarios, go to Monitoring → Web or Latest data. Click on the scenario name to see more detailed statistics.
12/5/13, 1:30 PM 8. Web monitoring [Zabbix]
Page 5 of 5 https://www.zabbix.com/documentation/2.0/manual/web_monitoring
2.0/manual/web_monitoring.txt · Last modified: 2013/11/29 10:50 by martins-v
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported [http://creativecommons.org/licenses/by-nc-sa/3.0/]
12/5/13, 1:31 PM 1 Web monitoring items [Zabbix]
Page 1 of 2 https://www.zabbix.com/documentation/2.0/manual/web_monitoring/items
1 Web monitoring items
Overview
Some new items are automatically added for monitoring when web scenarios are created.
Scenario items
As soon as a scenario is created, Zabbix automatically adds the following items for monitoring, linking them to the selected application.
Item Description
Download speed for scenario <Scenario>
This item will collect information about the download speed (bytes per second) of the whole scenario, i.e. average for all steps.
Item key: web.test.in[Scenario,,bps] Type: Numeric(float)
Failed step of scenario <Scenario>
This item will display the number of the step that failed on the scenario. If all steps are executed successfully, 0 is returned.
Item key: web.test.fail[Scenario] Type: Numeric(unsigned) Last error message of scenario
<Scenario> This item returns the last error message text of the scenario.Item key: web.test.error[Scenario]
The actual scenario name will be used instead of “Scenario”.
Web monitoring items are added with a 30 day history and a 90 day trend retention period. These items can be used to create triggers and define notification conditions.
Example 1
To create a “Web scenario failed” trigger, you can define a trigger expression:
{host:web.test.fail[Scenario].last(0)}#0
Make sure to replace 'Scenario' with the real name of your scenario. Example 2
To create a “Web application is slow” trigger, you can define a trigger expression:
{host:web.test.in[Scenario,,bps].last(0)}<10000
Make sure to replace 'Scenario' with the real name of your scenario.
Scenario step items
As soon as a step is created, Zabbix automatically adds the following items for monitoring, linking them to the selected application.
12/5/13, 1:31 PM 1 Web monitoring items [Zabbix]
Page 2 of 2 https://www.zabbix.com/documentation/2.0/manual/web_monitoring/items
Download speed for step <Step> of scenario <Scenario>
This item will collect information about the download speed (bytes per second) of the step. Item key: web.test.in[Scenario,Step,bps]
Type: Numeric(float) Response time for step
<Step> of scenario <Scenario>
This item will collect information about the response time of the step in seconds. Response time is counted from the beginning of the request until all information has been transferred.
Item key: web.test.time[Scenario,Step] Type: Numeric(float)
Response code for step <Step> of scenario <Scenario>
This item will collect response codes of the step. Item key: web.test.rspcode[Scenario,Step] Type: Numeric(unsigned)
Actual scenario and step names will be used instead of “Scenario” and “Step” respectively. Web monitoring items are added with a 30 day history and a 90 day trend retention period.
These items can be used to create triggers and define notification conditions. For example, to create a “Zabbix GUI login is too slow” trigger, you can define a trigger expression:
{zabbix:web.test.time[ZABBIX GUI,Login].last(0)}>3
2.0/manual/web_monitoring/items.txt · Last modified: 2012/06/27 12:08 by martins-v
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported [http://creativecommons.org/licenses/by-nc-sa/3.0/]
12/5/13, 1:31 PM 2 Real life scenario [Zabbix]
Page 1 of 6 https://www.zabbix.com/documentation/2.0/manual/web_monitoring/example
2 Real life scenario
Overview
This section presents a step-by-step real-life example of how web monitoring can be used.
Let's use Zabbix Web monitoring to monitor the web interface of Zabbix. We want to know if it is available, provides the right content and how quickly it works. To do that we also must log in with our user name and password.
Scenario
Step 1
Add a new host application.
Go to Configuration → Hosts, then click on Applications next to the host you want to use for web monitoring. In the application section click on Create application.
This step is not required if you already have a suitable application. You may also want to create a host if one does not exist.
Step 2
Add a new web scenario.
We will add a scenario to monitor the web interface of Zabbix. The scenario will execute a number of steps. Go to Configuration → Web, select the host in the dropdown, then click on Create scenario.
12/5/13, 1:31 PM 2 Real life scenario [Zabbix]
Page 2 of 6 https://www.zabbix.com/documentation/2.0/manual/web_monitoring/example
In the new scenario form, click on Select next to the Application field to choose the application we just created. Note that we also create two macros, {user} and {password}.
Step 3
Define steps for the scenario.
Click on Add button in the Steps tab to add individual steps.
Web scenario step 1
We start by checking that the first page responds correctly, returns with HTTP response code 200 and contains text “SIA Zabbix”.
12/5/13, 1:31 PM 2 Real life scenario [Zabbix]
Page 3 of 6 https://www.zabbix.com/documentation/2.0/manual/web_monitoring/example
Web scenario step 2
We continue by logging in to the Zabbix frontend, and we do so by reusing the macros (variables) we defined on the scenario level, {user} and {password}.
Note that Zabbix frontend uses JavaScript redirect when logging in, thus first we must log in, and only in further steps we may check for logged-in features. Additionally, the login step must use full URL to index.php file.
All the post variables must be on a single line and concatenated with & symbol. Example string for logging into Zabbix frontend:
name=Admin&password=zabbix&enter=Sign in
If using the macros as in this example, login string becomes:
name={user}&password={password}&enter=Sign in
Web scenario step 3
Being logged in, we should now verify the fact. To do so, we check for a string that is only visible when logged in - for example, Profile link appears in the upper right corner.
12/5/13, 1:31 PM 2 Real life scenario [Zabbix]
Page 4 of 6 https://www.zabbix.com/documentation/2.0/manual/web_monitoring/example
Web scenario step 4
Now that we have verified that frontend is accessible and we can log in and retrieve logged-in content, we should also log out - otherwise Zabbix database will become polluted with lots and lots of open session records.
Complete configuration of steps
12/5/13, 1:31 PM 2 Real life scenario [Zabbix]
Page 5 of 6 https://www.zabbix.com/documentation/2.0/manual/web_monitoring/example
Step 4
Save the finished web monitoring scenario.
The list of applications and linked scenarios will appear in Monitoring → Web:
12/5/13, 1:31 PM 2 Real life scenario [Zabbix]
Page 6 of 6 https://www.zabbix.com/documentation/2.0/manual/web_monitoring/example
2.0/manual/web_monitoring/example.txt · Last modified: 2012/07/16 11:02 by martins-v
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported [http://creativecommons.org/licenses/by-nc-sa/3.0/]