4 Proxy

    Overview

    Deploying a proxy is optional, but may be very beneficial to distribute the load of a single Zabbix server. If only proxies collect data, processing on the server becomes less CPU and disk I/O hungry.

    A Zabbix proxy is the ideal solution for centralized monitoring of remote locations, branches and networks with no local administrators.

    Zabbix proxy requires a separate database.

    Note that databases supported with Zabbix proxy are SQLite, MySQL and PostgreSQL. Using Oracle is at your own risk and may contain some limitations as, for example, in of low-level discovery rules.

    See also: Using proxies in a distributed environment

    Running proxy

    If installed as package

    Zabbix proxy runs as a daemon process. The proxy can be started by executing:

    This will work on most of GNU/Linux systems. On other systems you may need to run:

    1. shell> service zabbix-proxy stop
    2. shell> service zabbix-proxy restart
    3. shell> service zabbix-proxy status
    Start up manually

    If the above does not work you have to start it manually. Find the path to the zabbix_proxy binary and execute:

    You can use the following command line parameters with Zabbix proxy:

    1. -c --config <file> path to the configuration file
    2. -f --foreground run Zabbix proxy in foreground
    3. -R --runtime-control <option> perform administrative functions
    4. -h --help give this help
    5. -V --version display version number

    Examples of running Zabbix proxy with command line parameters:

    1. shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
    2. shell> zabbix_proxy -V
    Runtime control

    Runtime control options:

    Example of using runtime control to reload the proxy configuration cache:

    Examples of using runtime control to gather diagnostic information:

    1. Gather all available diagnostic information in the proxy log file:
    2. shell> zabbix_proxy -R diaginfo
    3. Gather history cache statistics in the proxy log file:
    4. shell> zabbix_proxy -R diaginfo=historycache

    Example of using runtime control to reload the SNMP cache:

    Examples of using runtime control to change log level:

    1. Increase log level of all processes:
    2. shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase
    3. Increase log level of second poller process:
    4. shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2
    5. Increase log level of process with PID 1234:
    6. shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234
    7. Decrease log level of all http poller processes:
    8. shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
    Process user

    Zabbix proxy is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run proxy as any non-root user without any issues.

    If you will try to run it as ‘root’, it will switch to a hardcoded ‘zabbix’ user, which must be present on your system. You can only run proxy as ‘root’ if you modify the ‘AllowRoot’ parameter in the proxy configuration file accordingly.

    Configuration file

    See the options for details on configuring zabbix_proxy.

    Proxy process types

    • availability manager - process for host availability updates
    • configuration syncer - process for managing in-memory cache of configuration data
    • discoverer - process for discovery of devices
    • heartbeat sender - proxy heartbeat sender
    • - process for handling calculated, aggregated and internal checks requiring a database connection
    • history syncer - history DB writer
    • housekeeper - process for removal of old historical data
    • http poller - web monitoring poller
    • icmp pinger - poller for icmpping checks
    • ipmi manager - IPMI poller manager
    • ipmi poller - poller for IPMI checks
    • java poller - poller for Java checks
    • odbc poller - poller for ODBC checks
    • poller - normal poller for passive checks
    • preprocessing manager - manager of preprocessing tasks
    • preprocessing worker - process for data preprocessing
    • self-monitoring - process for collecting internal server statistics
    • snmp trapper - trapper for SNMP traps
    • task manager - process for remote execution of tasks requested by other components (e.g. close problem, acknowledge problem, check item value now, remote command functionality)
    • trapper - trapper for active checks, traps, proxy communication
    • unreachable poller - poller for unreachable devices
    • - VMware data collector responsible for data gathering from VMware services

    The proxy log file can be used to observe these process types.

    Various types of Zabbix proxy processes can be monitored using the zabbix[process,<type>,<mode>,<state>] internal .

    Supported platforms

    Zabbix proxy runs on the same list of as Zabbix server.

    Locale