Zabbix server is the central process of Zabbix software.
The server performs the polling and trapping of data, it calculates triggers, sends notifications to users. It is the central component to which Zabbix agents and proxies report data on availability and integrity of systems. The server can itself remotely check networked services (such as web servers and mail servers) using simple service checks.
The server is the central repository in which all configuration, statistical and operational data is stored, and it is the entity in Zabbix that will actively alert administrators when problems arise in any of the monitored systems.
The functioning of a basic Zabbix server is broken into three distinct components; they are: Zabbix server, web frontend and database storage.
All of the configuration information for Zabbix is stored in the database, which both the server and the web frontend interact with. For example, when you create a new item using the web frontend (or API) it is added to the items table in the database. Then, about once a minute Zabbix server will query the items table for a list of the items which are active that is then stored in a cache within the Zabbix server. This is why it can take up to two minutes for any changes made in Zabbix frontend to show up in the latest data section.
Running server
If installed as package
Zabbix server runs as a daemon process. The server can be started by executing:
If your setup involves many service
status calculation rules
based on frequently discovered/undiscovered triggers, consider increasing the frequency of the trigger housekeeping procedure by adjusting the
ProblemHousekeepingFrequency
server configuration parameter.
Ignored if the trigger housekeeping procedure is currently in progress.
log_level_increase[=<
target
>]
Increase log level, affects all processes if target is not specified.
Not supported on
BSD
systems.
process type
- All processes of specified type (e.g., poller)
See all
server process types
.
process type,N
- Process type and number (e.g., poller,3)
pid
- Process identifier (1 to 65535). For larger values specify target as 'process type,N'.
log_level_decrease[=<
target
>]
Decrease log level, affects all processes if target is not specified.
Not supported on
BSD
systems.
prof_enable[=<
target
>]
Enable profiling.
Affects all processes if target is not specified.
Enabled profiling provides details of all rwlocks/mutexes by function name.
process type
- All processes of specified type (e.g. history syncer)
Supported process types as profiling targets: alerter, alert manager, availability manager, configuration syncer, discovery manager, escalator, history poller, history syncer, housekeeper, http poller, icmp pinger, ipmi manager, ipmi poller, java poller, lld manager, lld worker, odbc poller, poller, preprocessing manager, preprocessing worker, proxy poller, self-monitoring, service manager, snmp trapper, task manager, timer, trapper, unreachable poller, vmware collector
process type,N
- Process type and number (e.g., history syncer,1)
pid
- Process identifier (1 to 65535). For larger values specify target as 'process type,N'.
scope
-
rwlock
,
mutex
,
processing
can be used with the process type and number (e.g., history syncer,1,processing) or all processes of type (e.g., history syncer,rwlock)
prof_disable[=<
target
>]
Disable profiling.
Affects all processes if target is not specified.
process type
- All processes of specified type (e.g. history syncer)
Supported process types as profiling targets: see
prof_enable
process type,N
- Process type and number (e.g., history syncer,1)
pid
- Process identifier (1 to 65535). For larger values specify target as 'process type,N'.
Example of using runtime control to reload the server configuration cache:
If Zabbix server and
agent
are run on the same machine it is recommended to use a different user for running the server than for running the agent. Otherwise, if both are run as the same user, the agent can access the server configuration file and any Admin level user in Zabbix can quite easily retrieve, for example, the database password.
The scripts are used to automatically start/stop Zabbix processes during system's start-up/shutdown. The scripts are located under directory misc/init.d.
Server process types and threads
agent poller
- asynchronous poller process for passive checks with a worker thread
alert manager
- alert queue manager
alert syncer
- alert DB writer
alerter
- process for sending notifications
availability manager
- process for host availability updates
configuration syncer
- process for managing in-memory cache of configuration data
configuration syncer worker
- process for resolving and synchronizing user macro values in item names
connector manager
- manager process for connectors
connector worker
- process for handling requests from the connector manager
discovery manager
- manager process for discovery of devices
discovery worker
- process for handling discovery tasks from the discovery manager
escalator
- process for escalation of actions
ha manager
- process for managing high availability
history poller
- process for handling calculated checks requiring a database connection
history syncer
- history DB writer
housekeeper
- process for removal of old historical data
http agent poller
- asynchronous poller process for HTTP checks with a worker thread
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
lld manager
- manager process of low-level discovery tasks
lld worker
- worker process of low-level discovery tasks
odbc poller
- poller for ODBC checks
poller
- normal poller for passive checks
preprocessing manager
- manager of preprocessing tasks with preprocessing worker threads
preprocessing worker
- thread for data preprocessing
proxy poller
- poller for passive proxies
proxy group manager
- manager of proxy load balancing and high availability
report manager
- manager of scheduled report generation tasks
report writer
- process for generating scheduled reports
self-monitoring
- process for collecting internal server statistics
service manager
- process for managing services by receiving information about problems, problem tags, and problem recovery from history syncer, task manager, and alert manager
snmp poller
- asynchronous poller process for SNMP checks with a worker thread (
walk[OID]
and
get[OID]
items only)
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)
timer
- timer for processing maintenances
trapper
- trapper for active checks, traps, proxy communication
trigger housekeeper
- process for removing problems generated by triggers that have been deleted
unreachable poller
- poller for unreachable devices
vmware collector
- VMware data collector responsible for data gathering from VMware services
The server log file can be used to observe these process types.
Various types of Zabbix server processes can be monitored using the
zabbix[process,<type>,<mode>,<state>]
internal
item
.
Supported platforms
Due to the security requirements and mission-critical nature of server operation, UNIX is the only operating system that can consistently deliver the necessary performance, fault tolerance and resilience. Zabbix operates on market leading versions.
Zabbix server is tested on the following platforms:
Linux
Solaris
HP-UX
Mac OS X
FreeBSD
OpenBSD
NetBSD
SCO Open Server
Zabbix may work on other Unix-like operating systems as well.
Locale
Note that the server requires a UTF-8 locale so that some textual items can be interpreted correctly. Most modern Unix-like systems have a UTF-8 locale as default, however, there are some systems where that may need to be set specifically.
We appreciate your feedback! Our documentation writers will review your report and consider making suggested changes.
Please note that we cannot respond. If you would like to follow up on the progress or participate in the discussion,
please consider creating a documentation bug report at
https://support.zabbix.com/
We greatly appreciate your contribution! Our documentation writers will review the example and consider incorporating it into the page.
Please note that while we cannot provide a direct response, your input is highly valuable to us in improving our documentation.