Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Detailed explanation of zabbix server configuration and empirical parameters

2025-02-14 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/03 Report--

Zabbix server-side optimization

In addition to ensuring the normal operation of the service, the parameters of zabbix will also affect the performance of the server. If the setting is unreasonable, it may lead to a serious decline in the performance of the server. It is often too high for CPU or too high for IO. Recently, a similar situation has occurred in our monitoring system. Database load and IO read and write are particularly high, so here I have a detailed understanding of the zabbix_server configuration file again. And the configuration parameters are modified and optimized. The details are as follows:

# Option: ListenPort

# Listen port for trapper.

/ / this parameter is used to specify the listening port of the server, which is used to listen for connection requests of Proxy or Agent.

# ListenPort=10051

# Option: SourceIP

# Source IP address for outgoing connections.

/ / this parameter is used to specify the IP address of the server.

# SourceIP=

# Option: LogType

# log type of Specifies where log messages are written to://zabbix

# system-syslog / / write to Syslog

# file-file specified with LogFile parameter / / write to the specified file

# console-standard output / / write to standard output

# Mandatory: no

# Default:

# LogType=file

# Option: LogFile

# Log file name for LogType 'file' parameter.

/ / the storage path of the log file

# Mandatory: no

# Default:

# LogFile=

LogFile=/var/log/zabbix/zabbix_server.log

# Option: LogFileSize

# Maximum size of log file in MB.

# 0-disable automatic log rotation.

/ / specify the size of the log file in MB. 0 means log rotation is disabled

# Mandatory: no

# Range: 0-1024

# Default:

# LogFileSize=1

# Option: DebugLevel

# Specifies debug level: / / specify debug level

# 0-basic information about starting and stopping of Zabbix processes / / basic information about process start and stop

# 1-critical information / / key Information

# 2-error information / / error message

# 3-warnings / / warning

# 4-for debugging (produces lots of information) / / debugging information

# 5-extended debugging (produces even more information)

# Mandatory: no

# Range: 0-5

# Default:

# DebugLevel=3

# Option: PidFile

# Name of PID file.

/ / pid file name

# Mandatory: no

# Default:

# PidFile=/tmp/zabbix_server.pid

# Option: DBHost

# Database host name.

# If set to localhost, socket is used for MySQL.

# If set to empty string, socket is used for PostgreSQL.

/ / Database hostname. If set to localhost,mysql, you must use socket to connect, otherwise use ip to connect. If this parameter is empty, PostgreSQL is connected by default.

# Mandatory: no

# Default:

# DBHost=localhost

# Option: DBName

# Database name.

# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.

/ / Database name. For SQLite3, the path to the data file must be provided, and the DBUser and DBPassword parameters can be ignored

# Mandatory: yes

# Default:

# DBName=

# Option: DBSchema

# Schema name. Used for IBM DB2 and PostgreSQL.

/ / pattern name. For DB2 or PostgreSQL databases

# Mandatory: no

# Default:

# DBSchema=

# Option: DBUser

# Database user. Ignored for SQLite.

/ / user name to connect to the database. This parameter is ignored by SQLite.

# Mandatory: no

# Default:

# DBUser=

# Option: DBPassword

# Database password. Ignored for SQLite.

# Comment this line if no password is used.

/ / password to connect to the database. This parameter is ignored by SQLite.

# Mandatory: no

# Default:

# DBPassword=

# Option: DBSocket

# Path to MySQL socket.

/ / the path to the socket file

# Mandatory: no

# Default:

# DBSocket=/tmp/mysql.sock

# Option: DBPort

# Database port when not using local socket. Ignored for SQLite.

/ / Database listening port, which is ignored by SQLite

# Mandatory: no

# Range: 1024-65535

# Default (for MySQL):

# DBPort=3306

# ADVANCED PARAMETERS #

# Option: StartPollers

# Number of pre-forked instances of pollers.

/ / the number of pre-allocated child processes during system initialization. The more the number is, the stronger the server's throughput capacity is and the greater the consumption of system resources is.

# Mandatory: no

# Range: 0-1000

# Default:

# StartPollers=5

# Option: StartIPMIPollers

# Number of pre-forked instances of IPMI pollers.

/ / the number of pre-allocated processes that use the ipmi protocol to obtain the hardware status of the host during system initialization.

# Mandatory: no

# Range: 0-1000

# Default:

# StartIPMIPollers=0

# Option: StartPollersUnreachable

# Number of pre-forked instances of pollers for unreachable hosts (including IPMI and Java).

# At least one poller for unreachable hosts must be running if regular, IPMI or Java pollers

# are started.

/ / during system initialization, the number of processes pre-allocated to detect some unreachable hosts (including IPMI and JAVA). If there is a proxy in the usage scenario, it is recommended to keep it by default. If there are too many Agent, you can adjust them according to the circumstances.

# Mandatory: no

# Range: 0-1000

# Default:

# StartPollersUnreachable=1

# Option: StartTrappers

# Number of pre-forked instances of trappers.

# Trappers accept incoming connections from Zabbix sender, active agents and active proxies.

# At least one trapper process must be running to display server availability and view queue

# in the frontend.

/ / the process pre-allocated to receive data submitted by zabbix sender when the system is initialized.

# Mandatory: no

# Range: 0-1000

# Default:

# StartTrappers=5

# Option: StartPingers

# Number of pre-forked instances of ICMP pingers.

/ / the number of pre-allocated icmp ping processes during system initialization. If more than 500 machines are managed by a single agent, it is recommended to increase this number.

# Mandatory: no

# Range: 0-1000

# Default:

# StartPingers=1

# Option: StartDiscoverers

# Number of pre-forked instances of discoverers.

/ / the number of pre-allocated threads for automatically discovering hosts when the system is initialized. If more than 500 machines are managed by a single agent, you can consider increasing this number (for AGENT scenarios only)

# Mandatory: no

# Range: 0-250

# Default:

# StartDiscoverers=1

# Option: StartHTTPPollers

# Number of pre-forked instances of HTTP pollers.

/ / the number of WEB monitoring processes pre-allocated by the system, which can be increased or decreased depending on the specific situation.

#

# Mandatory: no

# Range: 0-1000

# Default:

# StartHTTPPollers=1

# Option: StartTimers

# Number of pre-forked instances of timers.

# Timers process time-based trigger functions and maintenance periods.

# Only the first timer process handles the maintenance periods.

/ / number of timers for each instance

# Mandatory: no

# Range: 1-1000

# Default:

# StartTimers=1

# Option: StartEscalators

# Number of pre-forked instances of escalators.

# Mandatory: no

# Range: 0-100

# Default:

# StartEscalators=1

# Option: StartVMwareCollectors

# Number of pre-forked vmware collector instances.

/ / the number of processes used to monitor VMWARE Esxi host instances. If 0 is used, it is not enabled. If you want to monitor ESXI hosts, this value is at least 1. Set the corresponding value depending on the number of monitoring ESXI

# Mandatory: no

# Range: 0-250

# Default:

# StartVMwareCollectors=0

# Option: VMwareFrequency

# How often Zabbix will connect to VMware service to obtain a new data.

/ / the frequency at which Zabbix connects to WMware service to get new data

# Mandatory: no

# Range: 10-86400

# Default:

# VMwareFrequency=60

# Option: VMwarePerfFrequency

# How often Zabbix will connect to VMware service to obtain performance data.

# Mandatory: no

# Range: 10-86400

# Default:

# VMwarePerfFrequency=60

# Option: VMwareCacheSize

# Size of VMware cache, in bytes.

# Shared memory size for storing VMware data.

# Only used if VMware collectors are started.

/ / shared memory for caching VMware data

# Mandatory: no

# Range: 256K-2G

# Default:

# VMwareCacheSize=8M

# Option: VMwareTimeout

# Specifies how many seconds vmware collector waits for response from VMware service.

# Mandatory: no

# Range: 1-300

# Default:

# VMwareTimeout=10

# Option: SNMPTrapperFile

# Temporary file used for passing data from SNMP trap daemon to the server.

# Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file.

# Mandatory: no

# Default:

# SNMPTrapperFile=/tmp/zabbix_traps.tmp

# Option: StartSNMPTrapper

# If 1, SNMP trapper process is started.

/ / whether to enable the snmptrapper feature. By default, it is not enabled = 0, enabled = 1

# Mandatory: no

# Range: 0-1

# Default:

# StartSNMPTrapper=0

# Option: ListenIP

# List of comma delimited IP addresses that the trapper should listen on.

# Trapper will listen on all network interfaces if this parameter is missing.

# Mandatory: no

# Default:

# ListenIP=0.0.0.0

# ListenIP=127.0.0.1

# Option: HousekeepingFrequency

# How often Zabbix will perform housekeeping procedure (in hours).

# Housekeeping is removing outdated information from the database.

# To prevent Housekeeper from being overloaded, no more than 4 times HousekeepingFrequency

# hours of outdated information are deleted in one housekeeping cycle, for each item.

# To lower load on server startup housekeeping is postponed for 30 minutes after server start.

# With HousekeepingFrequency=0 the housekeeper can be only executed using the runtime control option.

# In this case the period of outdated information deleted in one housekeeping cycle is 4 times the

# period since the last housekeeping cycle, but not less than 4 hours and not greater than 4 days.

/ / how many hours does it take to clean up the history, alert, and alarms data of the database

#

# Mandatory: no

# Range: 0-24

# Default:

# HousekeepingFrequency=1

# Option: MaxHousekeeperDelete

# The table "housekeeper" contains "tasks" for housekeeping procedure in the format:

# [housekeeperid], [tablename], [field], [value].

# No more than 'MaxHousekeeperDelete' rows (corresponding to [tablename], [field], [value])

# will be deleted per one task in one housekeeping cycle.

# SQLite3 does not use this parameter, deletes all corresponding rows without a limit.

# If set to 0 then no limit is used at all. In this case you must know what you are doing!

/ / the data deleted by housekeeping at a time cannot be greater than MaxHousekeeperDelete

#

# Mandatory: no

# Range: 0-1000000

# Default:

# MaxHousekeeperDelete=5000

# Option: SenderFrequency

# How often Zabbix will try to send unsent alerts (in seconds).

/ / specify the interval of seconds before attempting to send an alarm for sending

# Mandatory: no

# Range: 5-3600

# Default:

# SenderFrequency=30

# Option: CacheSize

# Size of configuration cache, in bytes.

# Shared memory size for storing host, item and trigger data.

/ / how much shared memory is allocated to store configuration information and HOST,ITEM,TRIGGER data, depending on the number of monitoring hosts and monitoring items, it is recommended to adjust it to 32m or greater. Before version 2.2.3, the maximum support is 2GB and before 3.x, the maximum is 8G. Generally, it does not use much.

# Mandatory: no

# Range: 128K-8G

# Default:

# CacheSize=8M

# Option: CacheUpdateFrequency

# How often Zabbix will perform update of configuration cache, in seconds.

/ / update the system CACHE frequency. If the operation of the management page is not frequent, you can consider increasing the parameter value.

#

# Mandatory: no

# Range: 1-3600

# Default:

# CacheUpdateFrequency=60

# Option: StartDBSyncers

# Number of pre-forked instances of DB Syncers.

/ / the number of threads that synchronize the collected data from CACHE to the database, depending on the busy situation of the database server and the database write capacity. The higher the number, the stronger the writing ability. The greater the pressure on the database server Ibig O.

#

# Mandatory: no

# Range: 1-100

# Default:

# StartDBSyncers=4

# Option: HistoryCacheSize

# Size of history cache, in bytes.

# Shared memory size for storing history data.

/ / set how much shared memory is used to store collected historical data. The higher this value, the less the database read pressure.

#

# Mandatory: no

# Range: 128K-2G

# Default:

# HistoryCacheSize=16M

# Option: HistoryIndexCacheSize

# Size of history index cache, in bytes.

# Shared memory size for indexing history cache.

/ / Historical data index cache

#

# Mandatory: no

# Range: 128K-2G

# Default:

# HistoryIndexCacheSize=4M

# Option: TrendCacheSize

# Size of trend cache, in bytes.

# Shared memory size for storing trends data.

/ / used to set how much shared memory is allocated to store calculated trend data. This parameter value can affect the database read pressure to some extent.

# Mandatory: no

# Range: 128K-2G

# Default:

# TrendCacheSize=4M

# Option: ValueCacheSize

# Size of history value cache, in bytes.

# Shared memory size for caching item history data requests.

# Setting to 0 disables value cache.

/ / 0 means disabled, history value cache size. When the cache exceeds the limit, it will be recorded in the server log every 5 minutes.

# Mandatory: no

# Range: 0128K-64G

# Default:

# ValueCacheSize=8M

# Option: Timeout

# Specifies how long we wait for agent, SNMP device or external check (in seconds).

/ / timeout setting for communicating with AGNET, SNMP devices and other external devices (in seconds). If the collected data is incomplete or the network is busy, or if you find that the client status changes frequently from the management page, you can consider increasing this value. Note that if this value increases, you should consider whether the parameter StartPollers is necessary to increase accordingly.

# Mandatory: no

# Range: 1-30

# Default:

# Timeout=3

# Option: TrapperTimeout

# Specifies how many seconds trapper may spend processing new data.

/ / enable the trapper feature, which is used to set the process wait timeout.

# Mandatory: no

# Range: 1-300

# Default:

# TrapperTimeout=300

# Option: UnreachablePeriod

# After how many seconds of unreachability treat a host as unavailable.

/ / when the Agent is unavailable, try to reconnect after an interval of how many seconds. It is recommended to set it according to the specific situation. Note that if this value is too small, if the Agent business system is busy, it may cause false alarms.

# Mandatory: no

# Range: 1-3600

# Default:

# UnreachablePeriod=45

# Option: UnavailableDelay

# How often host is checked for availability during the unavailability period, in seconds.

/ / when the Agent end is unavailable, how many seconds after the interval, the status check is performed. If the data can be collected normally, but the AGENT status of the management page is abnormal, or if the network and ports are unobstructed, the AGENT status is still abnormal, you can consider increasing this value.

# Mandatory: no

# Range: 1-3600

# Default:

# UnavailableDelay=60

# Option: UnreachableDelay

# How often host is checked for availability during the unreachability period, in seconds.

/ / when the Agent is in an unreachable state, after a delay of how many seconds, try again. It is recommended to keep the default. During the debugging phase of AGENT connection, you can consider reducing this value.

# Mandatory: no

# Range: 1-3600

# Default:

# UnreachableDelay=15

# Option: AlertScriptsPath

# Full path to location of custom alert scripts.

# Default depends on compilation options.

/ / Custom alarm scripts are stored in the full path

# Mandatory: no

# Default:

# AlertScriptsPath=$ {datadir} / zabbix/alertscripts

# Option: LogSlowQueries

# How long a database query may take before being logged (in milliseconds).

# Only works if DebugLevel set to 3, 4 or 5.

# 0-don't log slow queries.

/ / for slow query of server database (in milliseconds). If there is a need for the server database to monitor slow queries, you can adjust this number according to the specific situation.

# Mandatory: no

# Range: 1-3600000

# Default:

# LogSlowQueries=0

# Option: TmpDir

# Temporary directory.

/ / specify temporary directory path

# Mandatory: no

# Default:

# TmpDir=/tmp

# Option: StartProxyPollers

# Number of pre-forked instances of pollers for passive proxies.

/ / how many child processes are enabled to communicate with the agent. If there are more agents, you can consider increasing this value.

# Mandatory: no

# Range: 0-250

# Default:

# StartProxyPollers=1

# Option: ProxyConfigFrequency

# How often Zabbix Server sends configuration data to a Zabbix Proxy in seconds.

# This parameter is used only for proxies in the passive mode.

/ / the frequency at which the Zabbix server synchronizes profile data to the agent, which is only applicable when the agent is in passive mode

# Mandatory: no

# Range: 1-360024007

# Default:

# ProxyConfigFrequency=3600

# Option: ProxyDataFrequency

# How often Zabbix Server requests history data from a Zabbix Proxy in seconds.

# This parameter is used only for proxies in the passive mode.

/ / the frequency at which the Zabbix server requests the data collected by the agent, which is only applicable when the agent is in passive mode

# Mandatory: no

# Range: 1-3600

# Default:

# ProxyDataFrequency=1

# Option: AllowRoot

# Allow the server to run as' root'. If disabled and the server is started by 'root', the server

# will try to switch to the user specified by the User configuration option instead.

# Has no effect if started under a regular user.

# 0-do not allow

# 1-allow

/ / whether the server is allowed to run as root

# Mandatory: no

# Default:

# AllowRoot=0

# Option: User

# Drop privileges to a specific, existing user on the system.

# Only has effect if run as' root' and AllowRoot is disabled.

/ / the user who starts zabbix server is valid if the configuration forbids root to start and the current shell user is root. If the current user is abc, then the running user of zabbix server is abc

# Mandatory: no

# Default:

# User=zabbix

# Option: Include

# You may include individual files or all files in a directory in the configuration file.

# Installing Zabbix will create include directory in / usr/local/etc, unless modified during the compile time.

/ / in some cases, the parameter configuration file of the software is very long. In order to facilitate management, the configuration file is cut into N configuration files, but for the simplicity of the main configuration parameter file, the INCLUDE parameter is enabled to facilitate the program to read all configuration files in the specified directory.

# Mandatory: no

# Default:

# Include=

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report