See www.zabbix.com for the official Zabbix site.

Docs/specs/ZBXNEXT-308

From Zabbix.org
Jump to: navigation, search

Web monitoring through http proxy

ZBXNEXT-308

Status: v1.0

Owner: Alexei, Sasha

Summary

Zabbix will support execution of web scenarios using HTTP proxy.

Specification

Details

  • Web scenario form will be extended to have a new input field HTTP proxy
    • maxlength=255 size=50
    • placeholder: http://[username[:password]@]proxy.example.com[:port]
    • The field will be located just after Agent
  • The field will accept user macros that can be placed everywhere in the new field
  • The field is empty by default
  • If the HTTP proxy is not set (empty) then web scenario will not use HTTP proxy
  • Zabbix server and proxies should use curl_easy_setopt() with option CURLOPT_PROXY.
  • Non-empty HTTP proxy will overwrite proxy related environment variables like HTTP_PROXY if used
  • Empty HTTP proxy will not overwrite proxy related environment variables like HTTP_PROXY
  • In case of an error executing WEB scenario, Zabbix server will add a new value for item web.test.error['Scenario'] with error details

API changes

  • WebCheck.get, WebCheck.update will support new field 'http_proxy'
    • There will be no specific validations except standard max length check
  • Editing of this field on WEB template level will overwrite it downstream

Translation changes

Strings added

1 new string will be added:

  • HTTP proxy

Database changes

  • Add a new field for table 'httptest'
    • FIELD |http_proxy |t_varchar(255) | |NOT NULL |ZBX_SYNC,ZBX_PROXY,ZBX_NODATA

Documentation

Test cases

  • Check that user macros are expanded correctly
  • If HTTP proxy is set, web scenario should use it
  • If HTTP proxy is not set, web scenario won't use any proxies

ChangeLog

  • N/A