LinuxCommandLibrary

zabbix_server

Runs Zabbix monitoring server

TLDR

Start the server with the default configuration file

$ zabbix_server
copy

Start the server with a custom configuration file
$ zabbix_server [[-c|--config]] [path/to/zabbix_server.conf]
copy

Run the server in foreground
$ zabbix_server [[-c|--config]] [path/to/zabbix_server.conf] [[-f|--foreground]]
copy

Test the configuration file and exit
$ zabbix_server [[-c|--config]] [path/to/zabbix_server.conf] [[-T|--test-config]]
copy

Reload configuration cache (runtime control)
$ zabbix_server [[-c|--config]] [path/to/zabbix_server.conf] [[-R|--runtime-control]] config_cache_reload
copy

Execute the housekeeper (runtime control)
$ zabbix_server [[-c|--config]] [path/to/zabbix_server.conf] [[-R|--runtime-control]] housekeeper_execute
copy

Increase or decrease log level for all processes (runtime control)
$ zabbix_server [[-c|--config]] [path/to/zabbix_server.conf] [[-R|--runtime-control]] log_level_[increase|decrease]
copy

Display help
$ zabbix_server [[-h|--help]]
copy

SYNOPSIS

zabbix_server [-V] [-h] [-c config_file] [-f] [-R runtime_control_option] [-d level] [-t]

PARAMETERS

-c, --config <file>
    Path to the configuration file. Default: /etc/zabbix/zabbix_server.conf

-f, --foreground
    Do not daemonize process, run in foreground

-R, --runtime-control=<option>
    Perform runtime control actions like loglevel_inc, usermacro_reload, housekeeper_execute, services_reload

-V, --version
    Print program version and exit

-h, --help
    Display help message and exit

-d, --debug <level>
    Set debug level (1-4, 1=errors, 4=full debug)

-t, --test-config
    Test configuration file syntax and exit

DESCRIPTION

The zabbix_server is the central daemon of the open-source Zabbix monitoring platform, responsible for collecting performance data from agents, proxies, SNMP traps, and other sources. It processes incoming data, performs calculations for items and triggers, stores metrics in a backend database (MySQL, PostgreSQL, Oracle, or SQLite), executes actions like sending alerts via email/SMS/scripts, and supports distributed monitoring architectures.

Key functions include active/passive checks, low-level discovery, network discovery, housekeeping to manage data retention, and value caching for efficient trigger evaluation. The server scales to monitor hundreds of thousands of metrics, with features like encryption, high availability via proxies, and API access.

Typically deployed on Linux, it requires a frontend web interface for configuration and visualization. Run as a systemd service or manually, it logs to files or syslog and uses a single configuration file for all settings.

CAVEATS

Requires database setup and Zabbix user privileges. High CPU/memory usage on large-scale monitoring. Config file must have secure permissions (640, owned by zabbix). Not for interactive use; use systemd for production.

RUNTIME CONTROL EXAMPLES

-R loglevel_inc[trapper] increases log level for trapper processes.
-R proxy_config_download forces proxy config sync.

DEFAULT PATHS

Config: /etc/zabbix/zabbix_server.conf
Lock/PID: /var/run/zabbix
Log: /var/log/zabbix/zabbix_server.log

HISTORY

Created by Alexei Vladishev in 2001 for internal use at a Latvian telecom. First public release 1.0 in 2005. Evolved to version 7.0 (2024) with cloud-native support, machine learning, and geo-maps.

SEE ALSO

zabbix_agentd(8), zabbix_proxy(8), zabbix_sender(1), zabbix_get(1)

Copied to clipboard