As the deployment of zabbix, I will not talk about it here. There are a lot of documents on the Internet, but there are few instructions on the configuration file. Here I will list the detailed explanations of the zabbix_server configuration file on the server, thank you for your credit.
Zabbix server configuration file description
# This is a configuration file for zabbix server process
# To get more information about zabbix,
# Visit http://www.zabbix.com
########### General parameters #################
### Option: nodeid
# Unique nodeid in Distributed setup.
#0-standalone Server
#
# Mandatory: No
# Range: 0-999
# Default:
# Note: the ID of the server node. 0 indicates that only one server is available. It is mainly used for distributed deployment of the server. zabbix system architecture adjustment depends on the user design.
# Nodeid = 0
### Option: listenport
# Listen port for Trapper.
#
# Mandatory: No
# Range: 1024-32767
# Default:
# Note: the server listening port is used to receive data collected by the second-level proxy or directly connected agent.
# Listenport = 10051.
### Option: sourceip
# Source IP address for outgoing connections.
#
# Mandatory: No
# Default:
# Note: The server listens to IP addresses. We recommend that you specify
# Sourceip =
### Option: logfile
# Name of log file.
# If not set, syslog is used.
#
# Mandatory: No
# Default:
# Logfile =
# Description: zabbix server log path, which is specified according to the actual situation
Logfile =/SMP/sncmon/zabbix_server.log
### Option: logfilesize
# Maximum size of log file in MB.
#0-Disable Automatic IC log rotation.
#
# Mandatory: No
# Range: 0-1024
# Default:
# Note: if the value of this parameter is 0, the log will not be rotated, and the log will continue to grow. We recommend that you set this parameter to rotate.
# Logfilesize = 1
### Option: debuglevel
# Specifies debug level
#0-No debug no logs
#1-critical information disaster logs with less logs
#2-error information error level. The log volume is larger than the critical level.
#3-warnings warning level, with logs larger than the error level
#4-for debugging (produces lots of information) debugging level, with a larger log volume than warning
#
# Mandatory: No
# Range: 0-4
# Default:
# Note: The log level is 0 ~ 4. The number of logs generated per unit time is increasing.
# Debuglevel = 3
### Option: pidfile
# Name of PID file.
#
# Mandatory: No
# Default:
# Note: zabbix server PID path
# 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.
#
# Mandatory: No
# Default:
# Description: Specifies the database information. For MySQL, if it is set to localhost, MySQL uses Socket for connection (which must be used with the dbsocket parameter); otherwise, IP address for connection; if the dhhost value is null, connect to PostgreSQL by default
# Dbhost = localhost
### Option: dbname
# Database Name.
# For sqlite3 path to database file must be provided. dbuser and dbpassword are ignored.
#
# Mandatory: Yes
# Default:
# Dbname =
# Description: Database Name of the database connected to the server
Dbname = SMP
### Option: dbschema
# Schema name. Used for IBM db2.
#
# Mandatory: No
# Default:
# Note: connection information dedicated for IBM DB2 Databases
# Dbschema =
### Option: dbuser
# Database User. Ignored for SQLite.
#
# Mandatory: No
# Default:
# Note: database connection users
# Dbuser =
Dbuser = root
### Option: dbpassword
# Database Password. Ignored for SQLite.
# Comment this line if no password is used.
#
# Mandatory: No
# Default:
# Description: database connection password
Dbpassword = 123
### Option: dbsocket
# Path to MySQL socket.
#
# Mandatory: No
# Default:
# Description: specifying the sock connection path of MySQL
# Dbsocket =/tmp/MySQL. Sock
### Option: dbport
# Database port when not using local socket. Ignored for SQLite.
#
# Mandatory: No
# Range: 1024-65535
# Default (For MySQL ):
# Description: Specifies the port used to connect to the database.
Dbport = 3306
########### Advanced parameters ################
# Advanced Parameters
### Option: startpollers
# Number of pre-Forked instances of pollers.
#
# Mandatory: No
# Range: 0-1000
# Default:
# Note: during initialization, the number of promoter processes increases, and the server throughput increases, resulting in greater consumption of system resources.
# Startpollers = 5
### Option: startipmipollers
# Number of pre-Forked instances of IPMI pollers.
#
# Mandatory: No
# Range: 0-1000
# Default:
#
# Note: IPMI is used to obtain the hardware status. If no related metric item exists, we recommend that you set it to 0.
# Startipmipollers = 0
### Option: startpollersunreachable
# Number of pre-Forked instances of pollers for unreachable hosts (including IPMI ).
#
# Mandatory: No
# Range: 0-1000
# Default:
# Note: by default, zabbix enables the specified process to detect some inaccessible hosts (including IPMI scenarios). If the use scenario contains a proxy, we recommend that you keep the default value; if there are many direct agents, you can adjust them according to the actual situation.
# Startpollersunreachable = 1
### Option: starttrappers
# Number of pre-Forked instances of trappers.
# Trappers accept incoming connections from zabbix sender, active agents, active proxies and child nodes.
# At least one trapper process must be running to display server availability in the frontend.
#
# Mandatory: No
# Range: 0-1000
# Default:
Note: this parameter is used to set the number of receiving processes for data submitted in scenarios such as SNMP strapper. If there are many SNMP trapper technologies on the client, we recommend that you increase the value of this parameter.
# Starttrappers = 5
### Option: startpingers
# Number of pre-Forked instances of ICMP pingers.
#
# Mandatory: No
# Range: 0-1000
# Default:
# Note: this parameter is used to set the number of threads to be started when the ICMP protocol is enabled to ping the host. If the number of hosts managed by a single proxy exceeds 500, we recommend that you increase the value.
# Startpingers = 1
### Option: startdiscoverers
# Number of pre-Forked instances of discoverers.
#
# Mandatory: No
# Range: 0-250
# Default:
Note: this parameter is used to set the number of threads for automatically discovering hosts. If a single agent manages more than 500 hosts, you can increase the value (applicable only to direct agent scenarios)
# Startdiscoverers = 1
### Option: starthttppollers
# Number of pre-Forked instances of HTTP pollers.
#
# Mandatory: No
# Range: 0-1000
# Default:
# Note: this parameter is used to set the number of threads for Web Dial Test monitoring. This value can be increased or decreased depending on the actual situation.
# 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.
#
# Mandatory: No
# Range: 1-1000
# Default:
# Note: The number of timers for each instance. It is mainly used for triggers and hosts marked with maintenance marks. However, only the first timer is used to calculate the maintenance mark host.
# Starttimers = 1
### Option: javagateway
# IP address (or hostname) of zabbix Java gateway.
# Only required if Java pollers are started.
#
# Mandatory: No
# Default:
# Description: Used in javagateway scenarios
# Javagateway =
### Option: javagatewayport
# Port that zabbix Java gateway listens on.
#
# Mandatory: No
# Range: 1024-32767
# Default:
# Description: Used in javagateway scenarios
# Javagatewayport = 10052
### Option: startjavapolers
# Number of pre-Forked instances of Java pollers.
#
# Mandatory: No
# Range: 0-1000
# Default:
# Description: Used in javagateway scenarios
# Startjavapolers = 0
### Option: startvmwarecollectors
# Number of pre-Forked VMware collector instances.
#
# Mandatory: No
# Range: 0-250
# Default:
# Note: this parameter is used to set and monitor VMware esxi host instances. If it is set to 0, it is not enabled. To monitor esxi hosts, This value must be at least 1. The value is set based on the number of monitored esxi hosts.
# Startvmwarecollectors = 0
### Option: vmwarefrequency
# How often zabbix will connect to VMware service to obtain a new data.
#
# Mandatory: No
# Range: 10-86400
# Default:
# Description: The frequency of proxy access to VMware service. Unit: seconds.
# Vmwarefrequency = 60
### Option: vmwarecachesize
# Size of VMware cache, in bytes.
# Shared memory size for storing VMware data.
# Only used if VMware collectors are started.
#
# Mandatory: No
# Range: 256 k-2g
# Default:
# Note: How much shared memory is used to store VMware data?
# Vmwarecachesize = 8 m
### 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:
# Description: temporary file used when the SNMP trapper function is enabled on the proxy.
# Snmptrapperfile =/tmp/zabbix_traps.tmp
### Option: startsnmptrapper
# If 1, SNMP trapper process is started.
#
# Mandatory: No
# Range: 0-1
# Default:
# Note: whether to enable the snmptrapper function. The default value = 0 is disabled, and the value = 1 is enabled (used with the snmptrapperfile parameter)
# Startsnmptrapper = 0
### Option: listenip
# List of comma delimited IP addresses that the trapper shoshould listen on.
# Trapper will listen on all network interfaces if this parameter is missing.
#
# Mandatory: No
# Default:
Note: Enable the IP address listened by the receiver in snmptrapper. this parameter is used together with startsnmptrapper and snmptrapperfile.
# Listenip = 0.0.0.0
# Listenip = 127.0.0.1
### Option: housekeepingfrequency
# How often zabbix will perform housekeeping procedure (in hours ).
# Housekeeping is removing unnecessary information from history, alert, and alarms tables.
#
# Mandatory: No
# Range: 1-24
# Default:
# Note: how many hours does one clean up the history, alert, and alarms of the proxy database to keep the proxy database light? We recommend that you keep it by 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!
#
# Mandatory: No
# Range: 0-1000000
# Default:
# Maxhousekeeperdelete = 500
### Option: senderfrequency
# How often zabbix will try to Send unsent alerts (in seconds ).
#
# Mandatory: No
# Range: 5-3600
# Default:
# Description: The number of seconds after which the alarm message indicating failed sending is retried
# Senderfrequency = 30
### Option: cachesize
# Size of configuration cache, in bytes.
# Shared memory size for storing host, item and trigger data.
#
# Mandatory: No
# Range: 128 K-2g
# Default:
# Note: During zabbix initialization, the amount of system shared memory is used to store configuration information, host, item, and trigger data. It is recommended to adjust it to 32 MB or greater depending on the number of monitored hosts and metric items.
# Cachesize = 8 m
### Option: cacheupdatefrequency
# How often zabbix will perform update of configuration cache, in seconds.
#
# Mandatory: No
# Range: 1-3600
# Default:
# Note: zabbix updates the operating system cache frequency. If the operation on the Management page is not frequent, you can increase the parameter value.
# Cacheupdatefrequency = 60
### Option: startdbsyncers
# Number of pre-Forked instances of DB syncers
#
# Mandatory: No
# Range: 1-100
# Default:
# Note: Synchronize the collected data from the cache to the number of database threads, depending on the database server I/O busy, and the database write capacity adjustment. The larger the value, the stronger the write capability. The higher I/O pressure on database servers.
# Startdbsyncers = 4
### Option: historycachesize
# Size of history cache, in bytes.
# Shared memory size for storing history data.
#
# Mandatory: No
# Range: 128 K-2g
# Default:
# Description: used to set the number of system shared memory units used to store collected historical data. The larger the value, the smaller the database read pressure.
# Historycachesize = 8 m
### Option: trendcachesize
# Size of trend cache, in bytes.
# Shared memory size for storing Trends data.
#
# Mandatory: No
# Range: 128 K-2g
# Default:
# Note: this parameter is used to set the number of system shared memory units used to store the calculated trend data. This parameter affects the read Pressure on the database to a certain extent.
# Trendcachesize = 4 m
### Option: historytextcachesize
# Size of text history cache, in bytes.
# Shared memory size for storing character, text or log history data.
#
# Mandatory: No
# Range: 128 K-2g
# Default:
# Note: specify the number of system shared memory used to store character, text or log history data. If the second-level proxy memory is sufficient, we recommend that you expand this value appropriately, it can solve the system I/O pressure and database read pressure to a large extent.
# Historytextcachesize = 16 m
### Option: valuecachesize
# Size of history value cache, in bytes.
# Shared memory size for caching item history data requests
# Setting to 0 disables value cache.
#
# Mandatory: No
# Range: 0,128 K-64g
# Default:
# Note: specify the amount of shared memory used by the system for the requested storage metrics. If there are many metrics, we recommend that you increase the value.
# Valuecachesize = 8 m
### Option: nodenoevents
# If set to '1' local events won't be sent to master node.
# This won't impact ability of this node to propagate events from its child nodes.
#
# Mandatory: No
# Range: 0-1
# Default:
# Note: If the node is a subnode, whether to allow local events (the events table) to be sent to the master node. If the node is a subnode, 1 does not send events, but does not affect the propagation capability of nodes below the node, depending on the zabbix distributed system architecture design, it is enabled or disabled. If you do not know the architecture, we recommend that you keep the default value.
# Nodenoevents = 0
### Option: nodenohistory
# If set to '1' local history won't be sent to master node.
# This won't impact ability of this node to propagate history from its child nodes.
#
# Mandatory: No
# Range: 0-1
# Default:
Note: If the node is a subnode, whether to allow the local historical data to be sent to the master node. If the node is a subnode, the propagation capability of the nodes below this node is not affected, the zabbix distributed system architecture is enabled or disabled. We recommend that you keep the default Architecture
# Nodenohistory = 0
### Option: timeout
# Specifies how long we wait for agent, SNMP device or external check (in seconds ).
#
# Mandatory: No
# Range: 1-30
# Default:
# Description: timeout setting for communication with agnet \ SNMP devices and other external devices. The unit is seconds. If the collected data is incomplete or the network is busy, or the client status changes frequently on the Management page, you can increase the value. Note that if this value is increased, you should consider whether the startpollers parameter is necessary to increase accordingly.
# Timeout = 3
### Option: trappertimeout
# Specifies how many seconds trapper may spend processing new data.
#
# Mandatory: No
# Range: 1-300
# Default:
# Note: The trapper function is enabled to set the process wait timeout. Adjusted as needed
# Trappertimeout = 300
### Option: unreachableperiod
# After how many seconds of unreachability treat a host as unavailable.
#
# Mandatory: No
# Range: 1-3600
# Default:
# Note: When the agnet end is unavailable, try to reconnect after several seconds. We recommend that you set it based on the actual situation. Note: if this value is too small, the alarm information may be falsely reported when the business system on the right agent is busy.
# Unreachableperiod = 45
### Option: unavailabledelay
# How Often host is checked for availability during the unavailability period, in seconds.
#
# Mandatory: No
# Range: 1-3600
# Default:
# Note: when the agent is available, check the status after several seconds. If data can be normally collected but agent status on the Management page is abnormal, you can increase the value if the agent status is still abnormal even when the network and port are smooth.
# Unavailabledelay = 60
### Option: unreachabledelay
# How Often host is checked for availability during the unreachability period, in seconds.
#
# Mandatory: No
# Range: 1-3600
# Default:
# Note: when the agent is in an inaccessible state, retry the attempt after several seconds. We recommend that you keep the default value. In the agent access debugging phase, reduce the value.
# Unreachabledelay = 15
### Option: alertscriptspath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
#
# Mandatory: No
# Default:
# Description: monitor the alarm script path. This parameter value is not recommended for non-R & D personnel.
# Alertscriptspath =$ {datadir}/zabbix/alertscripts
### Option: externalscripts
# Full path to location of external scripts.
# Default depends on compilation options.
#
# Mandatory: No
# Default:
# Note: Custom Script storage path. It is not recommended for non-developers to modify this parameter value.
# Externalscripts =$ {datadir}/zabbix/externalscripts
### Option: fpinglocation
# Location of fping.
# Make Sure That fping binary has root ownership and SUID flag set.
#
# Mandatory: No
# Default:
# Description: IPv4 fping command path, which is only available as root. Note: When using this command, check whether the command exists.
# Fpinglocation =/usr/sbin/fping
### Option: fping6location
# Location of fping6.
# Make Sure That fping6 binary has root ownership and SUID flag set.
# Make empty if your fping utility is capable to process IPv6 ses SSEs.
#
# Mandatory: No
# Default:
# Description: ipv6 fping command path, which is only available as root. Note: When using this command, check whether the command exists.
# Fping6location =/usr/sbin/fping6
### Option: sshkeylocation
# Location of public and private keys for SSH checks and actions.
#
# Mandatory: No
# Default:
# Note: It is used when the server requires SSH to the agent and key authentication. Non-R & D personnel are not recommended to modify or set
# Sshkeylocation =
### Option: logslowqueries
# How long a database query may take before being logged (in milliseconds ).
# Only works if debuglevel set to 3 or 4.
#0-don't log slow queries.
#
# Mandatory: No
# Range: 1-3600000
# Default:
# Note: this parameter is used for slow query of Server databases. The unit is millisecond. The unit is 1 millisecond = 0.001 seconds. If you need to monitor slow queries of Server databases, You can adjust this parameter as needed.
# Logslowqueries = 0
### Option: tmpdir
# Temporary directory.
#
# Mandatory: No
# Default:
# Note: temporary directory for zabbix server work
# Tmpdir =/tmp
### Option: startproxypollers
# Number of pre-Forked instances of pollers for passive proxies.
#
# Mandatory: No
# Range: 0-250
# Default:
# Description: How many sub-processes are enabled to communicate with the proxy. If there are many proxies, increase the value.
# 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.
#
# Mandatory: No
# Range: 1-3600*24*7
# Default:
# Note: The zabbix server synchronizes configuration file data to the proxy only when the proxy is in passive mode.
# 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.
#
# Mandatory: No
# Range: 1-3600
# Default:
Note: The zabbix server requests the frequency of data collected by the proxy. It is applicable only when the proxy is in passive mode.
# 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 user 'zabbix' instead. has no effect if started under a regular user.
#0-Do Not Allow is not allowed
#1-allow
#
# Mandatory: No
# Default:
# Note: whether to allow the server to run as root
# Allowroot = 0
### Option: Include
# You may include individual files or all files in a directory in the configuration file.
# Installingzabbix will create include directory in/usr/local/etc, unless modified during the compile time.
#
# Mandatory: No
# Default:
# Note: In some cases, the parameter configuration file of the software is very long. To facilitate management, the configuration file is cut into N configuration files, but for the sake of simplicity of the master configuration parameter file, the include parameter is enabled to facilitate the program to read all configuration files in the specified directory.
# Include =
# Include =/usr/local/etc/zabbix_server.general.conf
# Include =/usr/local/etc/zabbix_server.conf.d/
####### Loadable modules #######
### Option: loadmodulepath
# Full path to location of server modules.
# Default depends on compilation options.
#
# Mandatory: No
# Default:
# Specify the path of the local module, which is not recommended by developers
# Loadmodulepath =$ {libdir}/modules
### Option: loadmodule
# Module to load at server startup. modules are used to extend functionality of the server.
# Format: loadmodule = <module. So>
# The modules must be located in directory specified by loadmodulepath.
# It is allowed to include multiple loadmodule parameters.
#
# Mandatory: No
# Default:
# Specify the path of the local module, which is not recommended by developers
# Loadmodule =
This is a detailed explanation of the zabbix-server configuration file, hoping to help you.