en-us	#### Parameters  |Parameter|Mandatory|Range|Default|Description| |---------|---------|-----|-------|-----------| |Alias|no| | |Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.<br>Multiple *Alias* parameters may be present. Multiple parameters with the same *Alias* key are allowed.<br>Different *Alias* keys may reference the same item key.<br>Aliases can be used in *HostMetadataItem* but not in *HostnameItem* or *PerfCounter* parameters.<br><br>Examples:<br><br>1. Retrieving paging file usage in percents from the server.<br>Alias=pg\_usage:perf\_counter\[\\Paging File(\_Total)\\% Usage\]<br>Now shorthand key **pg\_usage** may be used to retrieve data.<br><br>2. Getting CPU load with default and custom parameters.<br>Alias=cpu.load:system.cpu.load<br>Alias=cpu.load\[\*\]:system.cpu.load\[\*\]<br>This allows use **cpu.load** key to get CPU utilization percentage with default parameters as well as use **cpu.load\[percpu,avg15\]** to get specific data about CPU load.<br><br>3. Running multiple [low-level discovery](/manual/discovery/low_level_discovery) rules processing the same discovery items.<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>Now it is possible to set up several discovery rules using **vfs.fs.discovery** with different parameters for each rule, e.g., **vfs.fs.discovery\[foo\]**, **vfs.fs.discovery\[bar\]**, etc.| |AllowKey|no| | |Allow execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with DenyKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |BufferSend|no|1-3600|5|Do not keep data longer than N seconds in buffer.| |BufferSize|no|2-65535|100|Maximum number of values in a memory buffer. The agent will send<br>all collected data to Zabbix server or proxy if the buffer is full.| |DebugLevel|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (produces even more information)| |DenyKey|no| | |Deny execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with AllowKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |EnableRemoteCommands|no| |0|Whether remote commands from Zabbix server are allowed. This parameter is **deprecated**, use AllowKey=system.run\[\*\] or DenyKey=system.run\[\*\] instead<br>It is internal alias for AllowKey/DenyKey parameters depending on value: 0 - DenyKey=system.run\[\*\]<br>1 - AllowKey=system.run\[\*\].| |HostInterface|no|0-255 characters| |Optional parameter that defines host interface.<br>Host interface is used at host autoregistration process.<br>An agent will issue an error and not start if the value is over the limit of 255 characters.<br>If not defined, value will be acquired from HostInterfaceItem.<br>Supported since Zabbix 4.4.0.| |HostInterfaceItem|no| | |Optional parameter that defines an item used for getting host interface.<br>Host interface is used at host autoregistration process.<br>During an autoregistration request an agent will log a warning message if the value returned by specified item is over limit of 255 characters.<br>This option is only used when HostInterface is not defined.<br>Supported since Zabbix 4.4.0.| |HostMetadata|no|0-255 characters| |Optional parameter that defines host metadata. Host metadata is used only at host autoregistration process (active agent).<br>If not defined, the value will be acquired from HostMetadataItem.<br>An agent will issue an error and not start if the specified value is over the limit or a non-UTF-8 string.| |HostMetadataItem|no| | |Optional parameter that defines a *Zabbix agent* item used for getting host metadata. This option is only used when HostMetadata is not defined.<br>Supports UserParameters, performance counters and aliases. Supports *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>HostMetadataItem value is retrieved on each autoregistration attempt and is used only at host autoregistration process (active agent).<br>During an autoregistration request an agent will log a warning message if the value returned by the specified item is over the limit of 255 characters.<br>The value returned by the item must be a UTF-8 string otherwise it will be ignored.| |Hostname|no| |Set by HostnameItem|List of comma-delimited unique, case-sensitive hostnames.<br>Required for active checks and must match hostnames as configured on the server. Value is acquired from HostnameItem if undefined.<br>Allowed characters: alphanumeric, '.', ' ', '\_' and '-'.<br>Maximum length: 128 characters per hostname, 2048 characters for the entire line.| |HostnameItem|no| |system.hostname|Optional parameter that defines a *Zabbix agent* item used for getting host name. This option is only used when Hostname is not defined.<br>Does not support UserParameters, performance counters or aliases, but does support *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>The output length is limited to 512KB.<br>See also a [more detailed description](/manual/appendix/install/windows_agent#configuration).| |Include|no| | |You may include individual files or all files in a directory in the configuration file.<br>To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: `/absolute/path/to/config/files/*.conf`.<br>See [special notes](special_notes_include) about limitations.| |ListenBacklog|no|0 - INT\_MAX|SOMAXCONN|The maximum number of pending connections in the TCP queue.<br>Default value is a hard-coded constant, which depends on the system.<br>Maximum supported value depends on the system, too high values may be silently truncated to the 'implementation-specified maximum'.| |ListenIP|no| |0.0.0.0|List of comma-delimited IP addresses that the agent should listen on.| |ListenPort|no|1024-32767|10050|Agent will listen on this port for connections from the server.| |LogFile|yes, if LogType is set to *file*, otherwise<br>no| |C:\\zabbix\_agentd.log|Name of the agent log file.| |LogFileSize|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.<br>*Note*: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.| |LogType|no| |file|Log output type:<br>*file* - write log to file specified by LogFile parameter,<br>*system* - write log Windows Event Log,<br>*console* - write log to standard output.<br>This parameter is supported since Zabbix 3.0.0.| |LogRemoteCommands|no| |0|Enable logging of executed shell commands as warnings.<br>0 - disabled<br>1 - enabled| |MaxLinesPerSecond|no|1-1000|20|Maximum number of new lines the agent will send per second to Zabbix server<br>or proxy processing 'log', 'logrt' and 'eventlog' active checks.<br>The provided value will be overridden by the parameter 'maxlines',<br>provided in 'log', 'logrt' or 'eventlog' item keys.<br>*Note*: Zabbix will process 10 times more new lines than set in *MaxLinesPerSecond* to seek the required string in log items.| |PerfCounter|no| | |Defines a new parameter <parameter\_name> which is an average value for system performance counter <perf\_counter\_path> for the specified time period <period> (in seconds).<br>Syntax: <parameter\_name>,"<perf\_counter\_path>",<period><br>For example, if you wish to receive average number of processor interrupts per second for last minute, you can define a new parameter "interrupts" as the following:<br>PerfCounter = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>Please note double quotes around performance counter path.<br>The parameter name (interrupts) is to be used as the item key when creating an item.<br>Samples for calculating average value will be taken every second.<br>You may run "typeperf -qx" to get list of all performance counters available in Windows.| |PerfCounterEn|no| | |Defines a new parameter <parameter\_name> which is an average value for system performance counter <perf\_counter\_path> for the specified time period <period> (in seconds).<br>Syntax: <parameter\_name>,"<perf\_counter\_path>",<period><br>Compared to PerfCounter, perfcounter paths must be in English.<br>Supported only on **Windows Server 2008/Vista** and above.<br>For example, if you wish to receive average number of processor interrupts per second for last minute, you can define a new parameter "interrupts" as the following:<br>PerfCounterEn = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>Please note double quotes around performance counter path.<br>The parameter name (interrupts) is to be used as the item key when creating an item.<br>Samples for calculating average value will be taken every second.<br>You can find the list of English strings by viewing the following registry key: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009`.<br>This parameter is supported since Zabbix 4.0.13 and 4.2.7.| |RefreshActiveChecks|no|60-3600|120|How often list of active checks is refreshed, in seconds.<br>Note that after failing to refresh active checks the next refresh will be attempted after 60 seconds.| |Server|yes, if StartAgents is not explicitly set to 0| | |List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers.<br>Incoming connections will be accepted only from the hosts listed here.<br>If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.<br>'0.0.0.0/0' can be used to allow any IPv4 address.<br>Note, that "IPv4-compatible IPv6 addresses" (0000::/96 prefix) are supported but deprecated by [RFC4291](https://tools.ietf.org/html/rfc4291#section-2.5.5).<br>Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain<br>Spaces are allowed.|  |   |   |   |   |   | |---|---|---|---|---| |ServerActive|no|(\*)| |List of comma-delimited IP address or DNS name (address:port) pairs or clusters (address:port;address2:port) of Zabbix servers and Zabbix proxies for active checks.<br>Cluster nodes must be separated by a semicolon.<br>Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.<br>If port is not specified, default port is used.<br>IPv6 addresses must be enclosed in square brackets if port for that host is specified.<br>If port is not specified, square brackets for IPv6 addresses are optional.<br>If this parameter is not specified, active checks are disabled.<br>Example for multiple servers:<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>Example for high availability:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>Example for high availability with two clusters and one server:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|no| | |Source IP address for:<br>- outgoing connections to Zabbix server or Zabbix proxy;<br>- making connections while executing some items (web.page.get, net.tcp.port, etc.)| |StartAgents|no|0-63 (\*)|3|Number of pre-forked instances of zabbix\_agentd that process passive checks.<br>If set to 0, disables passive checks and the agent will not listen on any TCP port.| |Timeout|no|1-30|3|Spend no more than Timeout seconds on processing| |TLSAccept|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |What incoming connections to accept. Used for a passive checks. Multiple values can be specified, separated by comma:<br>*unencrypted* - accept connections without encryption (default)<br>*psk* - accept connections with TLS and a pre-shared key (PSK)<br>*cert* - accept connections with TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCAFile|no| | |Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSCertFile|no| | |Full pathname of a file containing the agent certificate or certificate chain, used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSConnect|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |How the agent should connect to Zabbix server or proxy. Used for active checks. Only one value can be specified:<br>*unencrypted* - connect without encryption (default)<br>*psk* - connect using TLS and a pre-shared key (PSK)<br>*cert* - connect using TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCRLFile|no| | |Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSKeyFile|no| | |Full pathname of a file containing the agent private key used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKFile|no| | |Full pathname of a file containing the agent pre-shared key used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKIdentity|no| | |Pre-shared key identity string, used for encrypted communications with Zabbix server.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertIssuer|no| | |Allowed server (proxy) certificate issuer.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertSubject|no| | |Allowed server (proxy) certificate subject.<br>This parameter is supported since Zabbix 3.0.0.| |UnsafeUserParameters|no|0-1|0|Allow all characters to be passed in arguments to user-defined parameters.<br>0 - do not allow<br>1 - allow<br>The following characters are not allowed:<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>Additionally, newline characters are not allowed.| |UserParameter|no| | |User-defined parameter to monitor. There can be several user-defined parameters.<br>Format: UserParameter=<key>,<shell command><br>Note that shell command must not return empty string or EOL only.<br>Shell commands may have relative paths, if UserParameterDir parameter is specified.<br>Examples:<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|no| | |Default search path for UserParameter commands. If used, the agent will change its working directory to the one specified here before executing a command. Thereby, UserParameter commands can have a relative `./` prefix instead of a full path.<br>Only one entry is allowed.<br>Example: UserParameterDir=/opt/myscripts|  ::: noteclassic  (\*) The number of active servers listed in ServerActive plus the number of pre-forked instances for passive checks specified in StartAgents must be less than 64. :::  
zh-cn	#### Parameters  |Parameter|Mandatory|Range|Default|Description| |---------|---------|-----|-------|-----------| |Alias|no|<|<|Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.<br>Multiple *Alias* parameters may be present. Multiple parameters with the same *Alias* key are allowed.<br>Different *Alias* keys may reference the same item key.<br>Aliases can be used in *HostMetadataItem* but not in *HostnameItem* or *PerfCounter* parameters.<br><br>Examples:<br><br>1. Retrieving paging file usage in percents from the server.<br>Alias=pg\_usage:perf\_counter\[\\Paging File(\_Total)\\% Usage\]<br>Now shorthand key **pg\_usage** may be used to retrieve data.<br><br>2. Getting CPU load with default and custom parameters.<br>Alias=cpu.load:system.cpu.load<br>Alias=cpu.load\[\*\]:system.cpu.load\[\*\]<br>This allows use **cpu.load** key to get CPU utilization percentage with default parameters as well as use **cpu.load\[percpu,avg15\]** to get specific data about CPU load.<br><br>3. Running multiple [low-level discovery](/manual/discovery/low_level_discovery) rules processing the same discovery items.<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>Now it is possible to set up several discovery rules using **vfs.fs.discovery** with different parameters for each rule, e.g., **vfs.fs.discovery\[foo\]**, **vfs.fs.discovery\[bar\]**, etc.| |AllowKey|no|<|<|Allow execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with DenyKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |BufferSend|no|1-3600|5|Do not keep data longer than N seconds in buffer.| |BufferSize|no|2-65535|100|Maximum number of values in a memory buffer. The agent will send<br>all collected data to Zabbix server or proxy if the buffer is full.| |DebugLevel|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (produces even more information)| |DenyKey|no|<|<|Deny execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with AllowKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |EnableRemoteCommands|no|<|0|Whether remote commands from Zabbix server are allowed. This parameter is **deprecated**, use AllowKey=system.run\[\*\] or DenyKey=system.run\[\*\] instead<br>It is internal alias for AllowKey/DenyKey parameters depending on value: 0 - DenyKey=system.run\[\*\]<br>1 - AllowKey=system.run\[\*\].| |HostInterface|no|0-255 characters|<|Optional parameter that defines host interface.<br>Host interface is used at host autoregistration process.<br>An agent will issue an error and not start if the value is over the limit of 255 characters.<br>If not defined, value will be acquired from HostInterfaceItem.<br>Supported since Zabbix 4.4.0.| |HostInterfaceItem|no|<|<|Optional parameter that defines an item used for getting host interface.<br>Host interface is used at host autoregistration process.<br>During an autoregistration request an agent will log a warning message if the value returned by specified item is over limit of 255 characters.<br>This option is only used when HostInterface is not defined.<br>Supported since Zabbix 4.4.0.| |HostMetadata|no|0-255 characters|<|Optional parameter that defines host metadata. Host metadata is used only at host autoregistration process (active agent).<br>If not defined, the value will be acquired from HostMetadataItem.<br>An agent will issue an error and not start if the specified value is over the limit or a non-UTF-8 string.| |HostMetadataItem|no|<|<|Optional parameter that defines a *Zabbix agent* item used for getting host metadata. This option is only used when HostMetadata is not defined.<br>Supports UserParameters, performance counters and aliases. Supports *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>HostMetadataItem value is retrieved on each autoregistration attempt and is used only at host autoregistration process (active agent).<br>During an autoregistration request an agent will log a warning message if the value returned by the specified item is over the limit of 255 characters.<br>The value returned by the item must be a UTF-8 string otherwise it will be ignored.| |Hostname|no|<|Set by HostnameItem|List of comma-delimited unique, case-sensitive hostnames.<br>Required for active checks and must match hostnames as configured on the server. Value is acquired from HostnameItem if undefined.<br>Allowed characters: alphanumeric, '.', ' ', '\_' and '-'.<br>Maximum length: 128 characters per hostname, 2048 characters for the entire line.| |HostnameItem|no|<|system.hostname|Optional parameter that defines a *Zabbix agent* item used for getting host name. This option is only used when Hostname is not defined.<br>Does not support UserParameters, performance counters or aliases, but does support *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>The output length is limited to 512KB.<br>See also a [more detailed description](/manual/appendix/install/windows_agent#configuration).| |Include|no|<|<|You may include individual files or all files in a directory in the configuration file.<br>To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: `/absolute/path/to/config/files/*.conf`.<br>See [special notes](special_notes_include) about limitations.| |ListenBacklog|no|0 - INT\_MAX|SOMAXCONN|The maximum number of pending connections in the TCP queue.<br>Default value is a hard-coded constant, which depends on the system.<br>Maximum supported value depends on the system, too high values may be silently truncated to the 'implementation-specified maximum'.| |ListenIP|no|<|0.0.0.0|List of comma-delimited IP addresses that the agent should listen on.| |ListenPort|no|1024-32767|10050|Agent will listen on this port for connections from the server.| |LogFile|yes, if LogType is set to *file*, otherwise<br>no|<|C:\\zabbix\_agentd.log|Name of the agent log file.| |LogFileSize|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.<br>*Note*: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.| |LogType|no|<|file|Log output type:<br>*file* - write log to file specified by LogFile parameter,<br>*system* - write log Windows Event Log,<br>*console* - write log to standard output.<br>This parameter is supported since Zabbix 3.0.0.| |LogRemoteCommands|no|<|0|Enable logging of executed shell commands as warnings.<br>0 - disabled<br>1 - enabled| |MaxLinesPerSecond|no|1-1000|20|Maximum number of new lines the agent will send per second to Zabbix server<br>or proxy processing 'log', 'logrt' and 'eventlog' active checks.<br>The provided value will be overridden by the parameter 'maxlines',<br>provided in 'log', 'logrt' or 'eventlog' item keys.<br>*Note*: Zabbix will process 10 times more new lines than set in *MaxLinesPerSecond* to seek the required string in log items.| |PerfCounter|no|<|<|Defines a new parameter <parameter\_name> which is an average value for system performance counter <perf\_counter\_path> for the specified time period <period> (in seconds).<br>Syntax: <parameter\_name>,"<perf\_counter\_path>",<period><br>For example, if you wish to receive average number of processor interrupts per second for last minute, you can define a new parameter "interrupts" as the following:<br>PerfCounter = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>Please note double quotes around performance counter path.<br>The parameter name (interrupts) is to be used as the item key when creating an item.<br>Samples for calculating average value will be taken every second.<br>You may run "typeperf -qx" to get list of all performance counters available in Windows.| |PerfCounterEn|no|<|<|Defines a new parameter <parameter\_name> which is an average value for system performance counter <perf\_counter\_path> for the specified time period <period> (in seconds).<br>Syntax: <parameter\_name>,"<perf\_counter\_path>",<period><br>Compared to PerfCounter, perfcounter paths must be in English.<br>Supported only on **Windows Server 2008/Vista** and above.<br>For example, if you wish to receive average number of processor interrupts per second for last minute, you can define a new parameter "interrupts" as the following:<br>PerfCounterEn = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>Please note double quotes around performance counter path.<br>The parameter name (interrupts) is to be used as the item key when creating an item.<br>Samples for calculating average value will be taken every second.<br>You can find the list of English strings by viewing the following registry key: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009`.<br>This parameter is supported since Zabbix 4.0.13 and 4.2.7.| |RefreshActiveChecks|no|60-3600|120|How often list of active checks is refreshed, in seconds.<br>Note that after failing to refresh active checks the next refresh will be attempted after 60 seconds.| |Server|yes, if StartAgents is not explicitly set to 0|<|<|List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers.<br>Incoming connections will be accepted only from the hosts listed here.<br>If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.<br>'0.0.0.0/0' can be used to allow any IPv4 address.<br>Note, that "IPv4-compatible IPv6 addresses" (0000::/96 prefix) are supported but deprecated by [RFC4291](https://tools.ietf.org/html/rfc4291#section-2.5.5).<br>Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain<br>Spaces are allowed.|  |   |   |   |   |   | |---|---|---|---|---| |ServerActive|no|(\*)|<|List of comma-delimited IP address or DNS name (address:port) pairs or clusters (address:port;address2:port) of Zabbix servers and Zabbix proxies for active checks.<br>Cluster nodes must be separated by a semicolon.<br>Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.<br>If port is not specified, default port is used.<br>IPv6 addresses must be enclosed in square brackets if port for that host is specified.<br>If port is not specified, square brackets for IPv6 addresses are optional.<br>If this parameter is not specified, active checks are disabled.<br>Example for multiple servers:<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>Example for high availability:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>Example for high availability with two clusters and one server:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|no|<|<|Source IP address for:<br>- outgoing connections to Zabbix server or Zabbix proxy;<br>- making connections while executing some items (web.page.get, net.tcp.port, etc.)| |StartAgents|no|0-63 (\*)|3|Number of pre-forked instances of zabbix\_agentd that process passive checks.<br>If set to 0, disables passive checks and the agent will not listen on any TCP port.| |Timeout|no|1-30|3|Spend no more than Timeout seconds on processing| |TLSAccept|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no|<|<|What incoming connections to accept. Used for a passive checks. Multiple values can be specified, separated by comma:<br>*unencrypted* - accept connections without encryption (default)<br>*psk* - accept connections with TLS and a pre-shared key (PSK)<br>*cert* - accept connections with TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCAFile|no|<|<|Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSCertFile|no|<|<|Full pathname of a file containing the agent certificate or certificate chain, used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSConnect|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no|<|<|How the agent should connect to Zabbix server or proxy. Used for active checks. Only one value can be specified:<br>*unencrypted* - connect without encryption (default)<br>*psk* - connect using TLS and a pre-shared key (PSK)<br>*cert* - connect using TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCRLFile|no|<|<|Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSKeyFile|no|<|<|Full pathname of a file containing the agent private key used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKFile|no|<|<|Full pathname of a file containing the agent pre-shared key used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKIdentity|no|<|<|Pre-shared key identity string, used for encrypted communications with Zabbix server.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertIssuer|no|<|<|Allowed server (proxy) certificate issuer.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertSubject|no|<|<|Allowed server (proxy) certificate subject.<br>This parameter is supported since Zabbix 3.0.0.| |UnsafeUserParameters|no|0-1|0|Allow all characters to be passed in arguments to user-defined parameters.<br>0 - do not allow<br>1 - allow<br>The following characters are not allowed:<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>Additionally, newline characters are not allowed.| |UserParameter|no|<|<|User-defined parameter to monitor. There can be several user-defined parameters.<br>Format: UserParameter=<key>,<shell command><br>Note that shell command must not return empty string or EOL only.<br>Shell commands may have relative paths, if UserParameterDir parameter is specified.<br>Examples:<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|no|<|<|Default search path for UserParameter commands. If used, the agent will change its working directory to the one specified here before executing a command. Thereby, UserParameter commands can have a relative `./` prefix instead of a full path.<br>Only one entry is allowed.<br>Example: UserParameterDir=/opt/myscripts|  ::: noteclassic  (\*) The number of active servers listed in ServerActive plus the number of pre-forked instances for passive checks specified in StartAgents must be less than 64. :::  

en-us	#### Parameters  |Parameter|Mandatory|Range|Default|Description| |--|--|--|--|----------| |Alias|no| | |Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.<br>Multiple *Alias* parameters may be present. Multiple parameters with the same *Alias* key are allowed.<br>Different *Alias* keys may reference the same item key.<br>Aliases can be used in *HostMetadataItem* but not in *HostnameItem* or *PerfCounter* parameters.<br><br>Examples:<br><br>1. Retrieving paging file usage in percents from the server.<br>Alias=pg\_usage:perf\_counter\[\\Paging File(\_Total)\\% Usage\]<br>Now shorthand key **pg\_usage** may be used to retrieve data.<br><br>2. Getting CPU load with default and custom parameters.<br>Alias=cpu.load:system.cpu.load<br>Alias=cpu.load\[\*\]:system.cpu.load\[\*\]<br>This allows use **cpu.load** key to get CPU utilization percentage with default parameters as well as use **cpu.load\[percpu,avg15\]** to get specific data about CPU load.<br><br>3. Running multiple [low-level discovery](/manual/discovery/low_level_discovery) rules processing the same discovery items.<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>Now it is possible to set up several discovery rules using **vfs.fs.discovery** with different parameters for each rule, e.g., **vfs.fs.discovery\[foo\]**, **vfs.fs.discovery\[bar\]**, etc.| |AllowKey|no| | |Allow execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with DenyKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |BufferSend|no|1-3600|5|Do not keep data longer than N seconds in buffer.| |BufferSize|no|2-65535|100|Maximum number of values in a memory buffer. The agent will send<br>all collected data to Zabbix server or proxy if the buffer is full.| |DebugLevel|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (produces even more information)| |DenyKey|no| | |Deny execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with AllowKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |EnableRemoteCommands|no| |0|Whether remote commands from Zabbix server are allowed. This parameter is **deprecated**, use AllowKey=system.run\[\*\] or DenyKey=system.run\[\*\] instead<br>It is internal alias for AllowKey/DenyKey parameters depending on value: 0 - DenyKey=system.run\[\*\]<br>1 - AllowKey=system.run\[\*\].| |HostInterface|no|0-255 characters| |Optional parameter that defines host interface.<br>Host interface is used at host autoregistration process.<br>An agent will issue an error and not start if the value is over the limit of 255 characters.<br>If not defined, value will be acquired from HostInterfaceItem.<br>Supported since Zabbix 4.4.0.| |HostInterfaceItem|no| | |Optional parameter that defines an item used for getting host interface.<br>Host interface is used at host autoregistration process.<br>During an autoregistration request an agent will log a warning message if the value returned by specified item is over limit of 255 characters.<br>This option is only used when HostInterface is not defined.<br>Supported since Zabbix 4.4.0.| |HostMetadata|no|0-255 characters| |Optional parameter that defines host metadata. Host metadata is used only at host autoregistration process (active agent).<br>If not defined, the value will be acquired from HostMetadataItem.<br>An agent will issue an error and not start if the specified value is over the limit or a non-UTF-8 string.| |HostMetadataItem|no| | |Optional parameter that defines a *Zabbix agent* item used for getting host metadata. This option is only used when HostMetadata is not defined.<br>Supports UserParameters, performance counters and aliases. Supports *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>HostMetadataItem value is retrieved on each autoregistration attempt and is used only at host autoregistration process (active agent).<br>During an autoregistration request an agent will log a warning message if the value returned by the specified item is over the limit of 255 characters.<br>The value returned by the item must be a UTF-8 string otherwise it will be ignored.| |Hostname|no| |Set by HostnameItem|List of comma-delimited unique, case-sensitive hostnames.<br>Required for active checks and must match hostnames as configured on the server. Value is acquired from HostnameItem if undefined.<br>Allowed characters: alphanumeric, '.', ' ', '\_' and '-'.<br>Maximum length: 128 characters per hostname, 2048 characters for the entire line.| |HostnameItem|no| |system.hostname|Optional parameter that defines a *Zabbix agent* item used for getting host name. This option is only used when Hostname is not defined.<br>Does not support UserParameters, performance counters or aliases, but does support *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>The output length is limited to 512KB.<br>See also a [more detailed description](/manual/appendix/install/windows_agent#configuration).| |Include|no| | |You may include individual files or all files in a directory in the configuration file.<br>To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: `C:\Program Files\Zabbix Agent\zabbix_agentd.d\*.conf`.<br>See [special notes](special_notes_include) about limitations.| |ListenBacklog|no|0 - INT\_MAX|SOMAXCONN|The maximum number of pending connections in the TCP queue.<br>Default value is a hard-coded constant, which depends on the system.<br>Maximum supported value depends on the system, too high values may be silently truncated to the 'implementation-specified maximum'.| |ListenIP|no| |0.0.0.0|List of comma-delimited IP addresses that the agent should listen on.| |ListenPort|no|1024-32767|10050|Agent will listen on this port for connections from the server.| |LogFile|yes, if LogType is set to *file*, otherwise<br>no| |C:\\zabbix\_agentd.log|Name of the agent log file.| |LogFileSize|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.<br>*Note*: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.| |LogType|no| |file|Log output type:<br>*file* - write log to file specified by LogFile parameter,<br>*system* - write log Windows Event Log,<br>*console* - write log to standard output.<br>This parameter is supported since Zabbix 3.0.0.| |LogRemoteCommands|no| |0|Enable logging of executed shell commands as warnings.<br>0 - disabled<br>1 - enabled| |MaxLinesPerSecond|no|1-1000|20|Maximum number of new lines the agent will send per second to Zabbix server<br>or proxy processing 'log', 'logrt' and 'eventlog' active checks.<br>The provided value will be overridden by the parameter 'maxlines',<br>provided in 'log', 'logrt' or 'eventlog' item keys.<br>*Note*: Zabbix will process 10 times more new lines than set in *MaxLinesPerSecond* to seek the required string in log items.| |PerfCounter|no| | |Defines a new parameter <parameter\_name> which is an average value for system performance counter <perf\_counter\_path> for the specified time period <period> (in seconds).<br>Syntax: <parameter\_name>,"<perf\_counter\_path>",<period><br>For example, if you wish to receive average number of processor interrupts per second for last minute, you can define a new parameter "interrupts" as the following:<br>PerfCounter = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>Please note double quotes around performance counter path.<br>The parameter name (interrupts) is to be used as the item key when creating an item.<br>Samples for calculating average value will be taken every second.<br>You may run "typeperf -qx" to get list of all performance counters available in Windows.| |PerfCounterEn|no| | |Defines a new parameter <parameter\_name> which is an average value for system performance counter <perf\_counter\_path> for the specified time period <period> (in seconds).<br>Syntax: <parameter\_name>,"<perf\_counter\_path>",<period><br>Compared to PerfCounter, perfcounter paths must be in English.<br>Supported only on **Windows Server 2008/Vista** and above.<br>For example, if you wish to receive average number of processor interrupts per second for last minute, you can define a new parameter "interrupts" as the following:<br>PerfCounterEn = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>Please note double quotes around performance counter path.<br>The parameter name (interrupts) is to be used as the item key when creating an item.<br>Samples for calculating average value will be taken every second.<br>You can find the list of English strings by viewing the following registry key: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009`.<br>This parameter is supported since Zabbix 4.0.13 and 4.2.7.| |RefreshActiveChecks|no|60-3600|120|How often list of active checks is refreshed, in seconds.<br>Note that after failing to refresh active checks the next refresh will be attempted after 60 seconds.| |Server|yes, if StartAgents is not explicitly set to 0| | |List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers.<br>Incoming connections will be accepted only from the hosts listed here.<br>If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.<br>'0.0.0.0/0' can be used to allow any IPv4 address.<br>Note, that "IPv4-compatible IPv6 addresses" (0000::/96 prefix) are supported but deprecated by [RFC4291](https://tools.ietf.org/html/rfc4291#section-2.5.5).<br>Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain<br>Spaces are allowed.| |ServerActive|no|(\*)| |Zabbix server/proxy address or cluster configuration to get active checks from.<br>Server/proxy address is IP address or DNS name and optional port separated by colon.<br>Cluster configuration is one or more server addresses separated by semicolon.<br>Multiple Zabbix servers/clusters and Zabbix proxies can be specified, separated by comma.<br>More than one Zabbix proxy should not be specified from each Zabbix server/cluster.<br>If Zabbix proxy is specified then Zabbix server/cluster for that proxy should not be specified.<br>Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.<br>If port is not specified, default port is used.<br>IPv6 addresses must be enclosed in square brackets if port for that host is specified.<br>If port is not specified, square brackets for IPv6 addresses are optional.<br>If this parameter is not specified, active checks are disabled.<br>Example for Zabbix proxy:<br>ServerActive=127.0.0.1:10051<br>Example for multiple servers:<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>Example for high availability:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>Example for high availability with two clusters and one server:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|no| | |Source IP address for:<br>- outgoing connections to Zabbix server or Zabbix proxy;<br>- making connections while executing some items (web.page.get, net.tcp.port, etc.)| |StartAgents|no|0-63 (\*)|3|Number of pre-forked instances of zabbix\_agentd that process passive checks.<br>If set to 0, disables passive checks and the agent will not listen on any TCP port.| |Timeout|no|1-30|3|Spend no more than Timeout seconds on processing| |TLSAccept|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |What incoming connections to accept. Used for a passive checks. Multiple values can be specified, separated by comma:<br>*unencrypted* - accept connections without encryption (default)<br>*psk* - accept connections with TLS and a pre-shared key (PSK)<br>*cert* - accept connections with TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCAFile|no| | |Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSCertFile|no| | |Full pathname of a file containing the agent certificate or certificate chain, used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSConnect|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |How the agent should connect to Zabbix server or proxy. Used for active checks. Only one value can be specified:<br>*unencrypted* - connect without encryption (default)<br>*psk* - connect using TLS and a pre-shared key (PSK)<br>*cert* - connect using TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCRLFile|no| | |Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSKeyFile|no| | |Full pathname of a file containing the agent private key used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKFile|no| | |Full pathname of a file containing the agent pre-shared key used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKIdentity|no| | |Pre-shared key identity string, used for encrypted communications with Zabbix server.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertIssuer|no| | |Allowed server (proxy) certificate issuer.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertSubject|no| | |Allowed server (proxy) certificate subject.<br>This parameter is supported since Zabbix 3.0.0.| |UnsafeUserParameters|no|0-1|0|Allow all characters to be passed in arguments to user-defined parameters.<br>0 - do not allow<br>1 - allow<br>The following characters are not allowed:<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>Additionally, newline characters are not allowed.| |UserParameter|no| | |User-defined parameter to monitor. There can be several user-defined parameters.<br>Format: UserParameter=<key>,<shell command><br>Note that shell command must not return empty string or EOL only.<br>Shell commands may have relative paths, if UserParameterDir parameter is specified.<br>Examples:<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|no| | |Default search path for UserParameter commands. If used, the agent will change its working directory to the one specified here before executing a command. Thereby, UserParameter commands can have a relative `./` prefix instead of a full path.<br>Only one entry is allowed.<br>Example: UserParameterDir=/opt/myscripts|  ::: noteclassic  (\*) The number of active servers listed in ServerActive plus the number of pre-forked instances for passive checks specified in StartAgents must be less than 64. :::
zh-cn	#### 参数  |参数名|必选项|范围|默认值|描述| |---------|---------|-----|-------|-----------| |Alias|否| | |设置监控项键值的别名。可以用一个更短更简单代替长而复杂的监控项键值。<br>可能存在多个 *Alias* 参数。多个参数允许使用相同的 *Alias* 。<br>不同 *Alias* 可能引用相同的监控项键值。<br>别名可以在 *HostMetadataItem* 使用， 但不能在 *HostnameItem* 或  *PerfCounter* 参数中使用。<br><br>示例:<br><br>1. 检索服务器页面文件使用率。<br>Alias=pg\_usage:perf\_counter\[\\Paging File(\_Total)\\% Usage\]<br>可使用简写 **pg\_usage** 检索数据。<br><br>2. 通过默认和自定义参数获取CPU利用率。<br>Alias=cpu.load:system.cpu.load<br>Alias=cpu.load\[\*\]:system.cpu.load\[\*\]<br>允许使用 **cpu.load** 键值获取具有默认参数的CPU利用率以及使用 **cpu.load\[percpu,avg15\]** 以获取有关CPU利用率的特定数据。<br><br>3. 运行多个 [自动发现](/manual/discovery/low_level_discovery) 规则处理相同的发现项。<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>可使用 **vfs.fs.discovery** 为每个规则设置多个具有不同参数的发现规则, 如 **vfs.fs.discovery\[foo\]**, **vfs.fs.discovery\[bar\]**, 等。| |AllowKey|否| | |允许执行模式匹配到的监控项键值。键值匹配模式支持通配字符“\*”用于匹配任意数量的任何字符。<br>可以结合DenyKey定义多个键值的匹配规则。根据其出现顺序对参数进行逐一处理。<br>从Zabbix 5.0.0开始支持此参数。<br>参阅: [Restricting agent checks](/manual/config/items/restrict_checks).| |BufferSend|否|1-3600|5|不保存缓存中超过N秒的数据。| |BufferSize|否|2-65535|100|内存缓冲区中的最大容量。 如果缓冲区已满，则agent会将所有收集的数据发送到Zabbix server或proxy。| |DebugLevel|否|0-5|3|指定调试级别:<br>0 - 有关启动和停止Zabbix进程的基本信息<br>1 - 关键信息<br>2 - 错误信息<br>3 - 警告<br>4 - 用于调试（产生大量信息）<br>5 - 扩展调试（产生更多信息）| |DenyKey|否| | |拒绝执行与模式匹配的那些监控项键值。键值匹配模式是支持通配字符"\*"用于匹配任意数量的任何字符。<br>可以结合AllowKey定义多个键值的匹配规则。根据其出现顺序对参数进行逐一处理。<br>从Zabbix 5.0.0开始支持此参数。<br>参考:[Restricting agent checks](/manual/config/items/restrict_checks).| |EnableRemoteCommands|否| |0|Zabbix server允许的远程命令。此参数已被 **弃用**，使用 AllowKey=system.run\[\*\] 或 DenyKey=system.run\[\*\] 替代<br>根据数值指定内部替换 AllowKey/DenyKey 参数: 0 - DenyKey=system.run\[\*\]<br>1 - AllowKey=system.run\[\*\].| |HostInterface|否|0-255 字符| |可选参数用于指定主机接口。<br>主机接口用于主机自动注册过程。<br>如果值超过255个字符的限制，agent将发出错误并且不会启动。<br>如果未定义，将从HostInterfaceItem获取值。<br>自Zabbix 4.4.0起支持。| |HostInterfaceItem|否| | |可选参数用于定义用于获取主机接口的监控项。<br>主机接口用于主机自动注册过程。<br>在自动注册请求期间，如果指定监控项返回的值超过255个字符的限制，则agent将记录一条警告消息。<br>仅当未定义HostInterface时才使用此选项。<br>自Zabbix 4.4.0起支持。| |HostMetadata|no|0-255 字符| |可选参数用于指定主机元数据。主机元数据用于（主动agent）主机自动注册过程。<br>如果未定义，将从HostMetadataItem获取该值。<br>如果指定的值超出限制或非UTF-8字符串，则agent将发出错误，并且不会启动。| |HostMetadataItem|否| | |可选参数用于定义 *Zabbix agent* 获取主机元数据的监控项。仅当未定义HostMetadata时才使用此选项。<br>支持 UserParameters, performance counters 及 aliases.  无论 *EnableRemoteCommands* 值是多少，均支持 *system.run\[\]*。<br>每次在自动注册（主动模式）都会尝试检索HostMetadataItem值。<br>在自动注册请求期间，如果指定监控项返回的值超过 255 个字符的限制，agent将记录一条警告日志。<br>该监控项返回的值必须是UTF-8字符串，否则将被忽略。| |Hostname|否| |HostnameItem集合|唯一的、区分大小写用逗号分割的主机名列表。<br>主动检查所必需，并且必须与服务器上配置的主机名匹配。如未指定则从HostnameItem获取。<br>允许的字符：字母, '.', ' ', '\_' and '-'.<br>最大长度: 主机名128字符, 整行2048字符。| |HostnameItem|否| |system.hostname|可选参数用于定义获取主机名的 *Zabbix agent* 监控项，仅当 Hostname未定义时生效。<br>不支持 UserParameters, performance counters 或 aliases, 但支持 *system.run\[\]* 以及 *EnableRemoteCommands* 值.<br>最大输出限制为 512KB.<br>参见 [more detailed description](/manual/appendix/install/windows_agent#configuration).| |Include|否| | |可以在配置文件的目录中包括单个文件或所有文件。<br>要仅在指定目录中包含相关文件，模式匹配支持使用星号通配符。示例: `/absolute/path/to/config/files/*.conf`.<br>参见 [特别说明](special_notes_include) 中限制部分。| |ListenBacklog|否|0 - INT\_MAX|SOMAXCONN|TCP队列中待处理的连接最大数量。<br>默认值是硬编码常量，取决于系统。<br>支持的最大值取决于系统，过高的值时可能会被调整为能够‘支持的最大值’。| |ListenIP|否| |0.0.0.0|agent 监听的点分十进制表示的IP地址。| |ListenPort|否|1024-32767|10050|Agent 将监听此端口上来自server的连接。| |LogFile|是, 如 LogType 设置为 *file*, 其他<br>否| |C:\\zabbix\_agentd.log| agent的日志文件名| |LogFileSize|否|0-1024|1|日志文件的最大容量，以MB为单位。<br>0 - 禁用自动日志轮换。<br>*注意*: 如果达到了日志文件大小限制并且文件轮换失败，则无论出于何种原因，现有的日志文件都会被截断并重新建。| |LogType|否| |file|指定日志消息写入的位置:<br>*system* - syslog,<br>*file* - LogFile参数指定的文件,<br>*console* - 标准输出<br>此参数从Zabbix 3.0.0支持| |LogRemoteCommands|否| |0|记录执行远程命令的告警日志。<br>0 - 禁止<br>1 - 启用| |MaxLinesPerSecond|否|1-1000|20|agent每秒发送给Zabbix server或proxy的最大新行数。<br>或proxy 处理 'log', 'logrt' and 'eventlog' 主动检查的行数<br>提供在 'log', 'logrt' or 'eventlog' 监控项键值将覆盖 'maxlines' 参数值。<br>*注意*: Zabbix处理的新行比在 *MaxLinesPerSecond* 中设置的新行多10倍，以便在日志项中查找所需的字符串。| |PerfCounter|否| | |定义新参数<parameter\_name> 用于指定时间内<period> (一秒内)系统性能计数器 <perf\_counter\_path> 的平均值。<br>语法: <parameter\_name>,"<perf\_counter\_path>",<period><br>示例, 如想接收最近一分钟内平均处理器中断数，可定义参数 "interrupts"如下:<br>PerfCounter = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>请注意性能计数器路径周围使用双引号。<br>在创建监控项时，参数名(中断) 将作为监控项键。<br>每秒采样一次用于计算平均值。<br>可通过 "typeperf -qx" 获取Windows中可用的性能计数器列表。| |PerfCounterEn|否| | |定义新参数<parameter\_name> 用于指定时间内<period> (一秒内)系统性能计数器 <perf\_counter\_path> 的平均值。<br>语法: <parameter\_name>,"<perf\_counter\_path>",<period><br>与PerfCounter相比, perfcounter path 必须为英文。<br>仅在**Windows Server 2008/Vista** 及之后版本支持<br>例如, 如想接收最近一分钟内每秒的平均处理器中断数，可定义参数“interrupts”，如下所示：<br>PerfCounterEn = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>请注意性能计数器路径周围使用双引号。<br>在创建监控项时，参数名(中断) 将作为监控项键。<br>每秒采样一次用于计算平均值。<br>可以通过查看以下注册表项找到英文字符串列表: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009`.<br>此参数仅支持Zabbix 4.0.13 至 4.2.7。| |RefreshActiveChecks|否|60-3600|120|刷新主动检查列表的频率（以秒为单位）。<br>请注意，刷新主动检查失败后，将在60秒后尝试进行下一次刷新。| |Server|是, 如 StartAgents没有设置为0| | |点分十进制的IP地址列表，可以选择使用CIDR表示法，或者Zabbix servers和 Zabbix proxies的DNS名称。<br>仅接受从此处列出的主机传入的连接。<br>如果启用了IPv6支持，则将 '127.0.0.1', '::ffff:127.0.0.1' 同等对待，并且'::/0' 将允许任何IPv4或IPv6地址。<br>'0.0.0.0/0' 可用于允许任何IPv4地址。<br>注意, 支持"兼容IPv4 的IPv6 地址" (0000::/96 前缀) 但已在[RFC4291](https://tools.ietf.org/html/rfc4291#section-2.5.5)中弃用。<br>示例: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain<br>允许使用空格。| |ServerActive|否|(\*)| |主动检查Zabbix servers和 Zabbix proxies以逗号分隔IP:端口对（或DNS名称:端口对）列表。<br>集群间须用分号区分<br>可以提供多个地址来并行使用多个独立的Zabbix servers，允许有空格。<br>如果未指定端口，则使用默认端口。<br>如果指定了该主机的端口，则IPv6地址必须用方括号括起来。<br>如果未指定端口，则IPv6地址的方括号是可选的。<br>如果未指定此参数，则禁用主动检查。<br>多server示例:<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>高可用示例:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>以两个集群和一个server为例：<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|否| | |源IP用于:<br>- 出口连接Zabbix server 或 Zabbix proxy;<br>- 执行部分监控时用的虚拟地址(web.page.get, net.tcp.port, etc.)| |StartAgents|否|0-63 (\*)|3|用于执行被动检查的 zabbix\_agentd 实例数<br>如设为 0, 禁止被动检查且agent不监听任何TCP端口。| |Timeout|否|1-30|3|处理消耗的最长秒数。| |TLSAccept|是, 如果定义了TLS证书或PSK参数(甚至用于 *未加密* 的连接), 否则为否| | |指定接受哪些传入连接。用于被动检查。可以指定多个，以逗号分隔:<br> *unencrypted*  - 接受不加密的连接（默认）<br>*psk* - 接受带TLS和预共享密钥（PSK）<br>*cert* - 接受带TLS和证书的连接<br>此参数自 Zabbix 3.0.0.支持| |TLSCAFile|否| | |包含用于对等证书验证的顶级CA证书的文件的完整路径名，用于Zabbix组件之间的加密通信。<br>此参数自 Zabbix 3.0.0.支持| |TLSCertFile|否| | |包含agent证书或证书链的文件的完整路径名，用于与Zabbix组件进行加密通信。<br>此参数自 Zabbix 3.0.0.支持| |TLSConnect|是,如果定义了TLS证书或PSK参数(甚至用于 *未加密* 的连接), 否则为否|||agent应如何连接到Zabbix server 或 proxy。用于主动检查。只能指定一个值：<br> *unencrypted*  - 接受不加密的连接（默认）<br>*psk* - 接受带TLS和预共享密钥（PSK）<br>*cert* - 接受带TLS和证书的连接<br>此参数自 Zabbix 3.0.0.支持| |TLSCRLFile|否| | |包含已撤销证书的文件的完整路径名。此参数用于与Zabbix组件的加密通信。<br>此参数自 Zabbix 3.0.0.支持| |TLSKeyFile|否| | |包含用于与Zabbix组件进行加密通信的agent专用密钥的文件的完整路径名。<br>此参数自 Zabbix 3.0.0.支持| |TLSPSKFile|否| | |含用于与Zabbix组件进行加密通信的agent预共享密钥的文件的完整路径名。<br>此参数自 Zabbix 3.0.0.支持| |TLSPSKIdentity|否| | |预共享密钥标识字符串，用于与Zabbix server进行加密通信。<br>此参数自 Zabbix 3.0.0.支持| |TLSServerCertIssuer|否| | |允许的 server (proxy) 证书颁布者.<br>此参数自 Zabbix 3.0.0.支持| |TLSServerCertSubject|否| | |允许的 server (proxy) 证书主体<br>此参数自 Zabbix 3.0.0.支持| |UnsafeUserParameters|否|0-1|0|允许将所有字符都通过参数传递给用户定义的参数。<br>0 - 不允许<br>1 - 允许<br>不允许使用以下字符：<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>另外，不允许使用换行符。| |UserParameter|否| | |用户自定义的监控参数。可以有几个用户定义的参数。<br>格式: UserParameter=<key>,<shell command><br>请注意，shell命令不得返回空字符串或仅返回EOL。<br>如UserParameterDir参数设定，可使用相对路径<br>Examples:<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|否| | |默认搜索用户自定义命令的文件路径。如使用，agent将在执行命令前改变工作目录到指定目录，此外, 可用`./`前缀的相对位置代替绝对路径。<br>仅允许一个目录。<br>示例: UserParameterDir=/opt/myscripts|  ::: noteclassic  (\*) ServerActive中列出的活跃服务器数与StartAgents中被动检查的预分配实例数之和必须小于 64. :::

en-us	#### Parameters  |Parameter|Mandatory|Range|Default|Description| |--|--|--|--|----------| |Alias|no| | |Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.<br>Multiple *Alias* parameters may be present. Multiple parameters with the same *Alias* key are allowed.<br>Different *Alias* keys may reference the same item key.<br>Aliases can be used in *HostMetadataItem* but not in *HostnameItem* parameters.<br><br>Examples:<br><br>1. Retrieving the ID of user 'zabbix'.<br>Alias=zabbix.userid:vfs.file.regexp\[/etc/passwd,"\^zabbix:.:(\[0-9\]+)",,,,\\1\]<br>Now shorthand key **zabbix.userid** may be used to retrieve data.<br><br>2. Getting CPU utilization with default and custom parameters.<br>Alias=cpu.util:system.cpu.util<br>Alias=cpu.util\[\*\]:system.cpu.util\[\*\]<br>This allows use **cpu.util** key to get CPU utilization percentage with default parameters as well as use **cpu.util\[all, idle, avg15\]** to get specific data about CPU utilization.<br><br>3. Running multiple [low-level discovery](/manual/discovery/low_level_discovery) rules processing the same discovery items.<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>Now it is possible to set up several discovery rules using **vfs.fs.discovery** with different parameters for each rule, e.g., **vfs.fs.discovery\[foo\]**, **vfs.fs.discovery\[bar\]**, etc.| |AllowKey|no| | |Allow execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with DenyKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |AllowRoot|no| |0|Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.<br>0 - do not allow<br>1 - allow| |BufferSend|no|1-3600|5|Do not keep data longer than N seconds in buffer.| |BufferSize|no|2-65535|100|Maximum number of values in a memory buffer. The agent will send<br>all collected data to Zabbix server or proxy if the buffer is full.| |DebugLevel|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (produces even more information)| |DenyKey|no| | |Deny execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with AllowKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |EnableRemoteCommands|no| |0|Whether remote commands from Zabbix server are allowed. This parameter is **deprecated**, use AllowKey=system.run\[\*\] or DenyKey=system.run\[\*\] instead<br>It is internal alias for AllowKey/DenyKey parameters depending on value: 0 - DenyKey=system.run\[\*\]<br>1 - AllowKey=system.run\[\*\]| |HostInterface|no|0-255 characters| |Optional parameter that defines host interface.<br>Host interface is used at host [autoregistration](/manual/discovery/auto_registration#using_dns_as_default_interface) process.<br>An agent will issue an error and not start if the value is over the limit of 255 characters.<br>If not defined, value will be acquired from HostInterfaceItem.<br>Supported since Zabbix 4.4.0.| |HostInterfaceItem|no| | |Optional parameter that defines an item used for getting host interface.<br>Host interface is used at host [autoregistration](/manual/discovery/auto_registration#using_dns_as_default_interface) process.<br>During an autoregistration request an agent will log a warning message if the value returned by specified item is over limit of 255 characters.<br>This option is only used when HostInterface is not defined.<br>Supported since Zabbix 4.4.0.| |HostMetadata|no|0-255 characters| |Optional parameter that defines host metadata. Host metadata is used only at host autoregistration process (active agent).<br>If not defined, the value will be acquired from HostMetadataItem.<br>An agent will issue an error and not start if the specified value is over the limit or a non-UTF-8 string.| |HostMetadataItem|no| | |Optional parameter that defines a *Zabbix agent* item used for getting host metadata. This option is only used when HostMetadata is not defined.<br>Supports UserParameters and aliases. Supports *system.run\[\]* regardless of AllowKey/DenyKey values.<br>HostMetadataItem value is retrieved on each autoregistration attempt and is used only at host autoregistration process (active agent).<br>During an autoregistration request an agent will log a warning message if the value returned by the specified item is over the limit of 255 characters.<br>The value returned by the item must be a UTF-8 string otherwise it will be ignored.| |Hostname|no| |Set by HostnameItem|List of comma-delimited unique, case-sensitive hostnames.<br>Required for active checks and must match hostnames as configured on the server. Value is acquired from HostnameItem if undefined.<br>Allowed characters: alphanumeric, '.', ' ', '\_' and '-'.<br>Maximum length: 128 characters per hostname, 2048 characters for the entire line.| |HostnameItem|no| |system.hostname|Optional parameter that defines a *Zabbix agent* item used for getting host name. This option is only used when Hostname is not defined.<br>Does not support UserParameters or aliases, but does support *system.run\[\]* regardless of AllowKey/DenyKey values.<br>The output length is limited to 512KB.| |Include|no| | |You may include individual files or all files in a directory in the configuration file.<br>To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: `/absolute/path/to/config/files/*.conf`.<br>See [special notes](special_notes_include) about limitations.| |ListenBacklog|no|0 - INT\_MAX|SOMAXCONN|The maximum number of pending connections in the TCP queue.<br>Default value is a hard-coded constant, which depends on the system.<br>Maximum supported value depends on the system, too high values may be silently truncated to the 'implementation-specified maximum'.| |ListenIP|no| |0.0.0.0|List of comma delimited IP addresses that the agent should listen on.<br>Multiple IP addresses are supported in version 1.8.3 and higher.| |ListenPort|no|1024-32767|10050|Agent will listen on this port for connections from the server.| |LoadModule|no| | |Module to load at agent startup. Modules are used to extend functionality of the agent.<br>Formats:<br>LoadModule=<module.so><br>LoadModule=<path/module.so><br>LoadModule=</abs\_path/module.so><br>Either the module must be located in directory specified by LoadModulePath or the path must precede the module name. If the preceding path is absolute (starts with '/') then LoadModulePath is ignored.<br>It is allowed to include multiple LoadModule parameters.| |LoadModulePath|no| | |Full path to location of agent modules.<br>Default depends on compilation options.| |LogFile|yes, if LogType is set to *file*, otherwise<br>no| | |Name of log file.| |LogFileSize|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.<br>*Note*: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.| |LogType|no| |file|Log output type:<br>*file* - write log to file specified by LogFile parameter,<br>*system* - write log to syslog,<br>*console* - write log to standard output.<br>This parameter is supported since Zabbix 3.0.0.| |LogRemoteCommands|no| |0|Enable logging of executed shell commands as warnings.<br>0 - disabled<br>1 - enabled<br>Commands will be logged only if executed remotely. Log entries will not be created if system.run\[\] is launched locally by HostMetadataItem, HostInterfaceItem or HostnameItem parameters.| |MaxLinesPerSecond|no|1-1000|20|Maximum number of new lines the agent will send per second to Zabbix server or proxy when processing 'log' and 'eventlog' active checks.<br>The provided value will be overridden by the parameter 'maxlines',<br>provided in 'log' or 'eventlog' item key.<br>*Note*: Zabbix will process 10 times more new lines than set in *MaxLinesPerSecond* to seek the required string in log items.| |PidFile|no| |/tmp/zabbix\_agentd.pid|Name of PID file.| |RefreshActiveChecks|no|60-3600|120|How often list of active checks is refreshed, in seconds.<br>Note that after failing to refresh active checks the next refresh will be attempted after 60 seconds.| |Server|yes, if StartAgents is not explicitly set to 0| | |List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers and Zabbix proxies.<br>Incoming connections will be accepted only from the hosts listed here.<br>If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.<br>'0.0.0.0/0' can be used to allow any IPv4 address.<br>Note, that "IPv4-compatible IPv6 addresses" (0000::/96 prefix) are supported but deprecated by [RFC4291](https://tools.ietf.org/html/rfc4291#section-2.5.5).<br>Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain<br>Spaces are allowed.| |ServerActive|no| | |Zabbix server/proxy address or cluster configuration to get active checks from.<br>Server/proxy address is IP address or DNS name and optional port separated by colon.<br>Cluster configuration is one or more server addresses separated by semicolon.<br>Multiple Zabbix servers/clusters and Zabbix proxies can be specified, separated by comma.<br>More than one Zabbix proxy should not be specified from each Zabbix server/cluster.<br>If Zabbix proxy is specified then Zabbix server/cluster for that proxy should not be specified.<br>Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.<br>If port is not specified, default port is used.<br>IPv6 addresses must be enclosed in square brackets if port for that host is specified.<br>If port is not specified, square brackets for IPv6 addresses are optional.<br>If this parameter is not specified, active checks are disabled.<br>Example for Zabbix proxy:<br>ServerActive=127.0.0.1:10051<br>Example for multiple servers:<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>Example for high availability:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>Example for high availability with two clusters and one server:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|no| | |Source IP address for:<br>- outgoing connections to Zabbix server or Zabbix proxy;<br>- making connections while executing some items (web.page.get, net.tcp.port, etc.)| |StartAgents|no|0-100|3|Number of pre-forked instances of zabbix\_agentd that process passive checks.<br>If set to 0, disables passive checks and the agent will not listen on any TCP port.| |Timeout|no|1-30|3|Spend no more than Timeout seconds on processing.| |TLSAccept|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |What incoming connections to accept. Used for a passive checks. Multiple values can be specified, separated by comma:<br>*unencrypted* - accept connections without encryption (default)<br>*psk* - accept connections with TLS and a pre-shared key (PSK)<br>*cert* - accept connections with TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCAFile|no| | |Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSCertFile|no| | |Full pathname of a file containing the agent certificate or certificate chain, used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSCipherAll|no| | |GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.<br>Example: TLS\_AES\_256\_GCM\_SHA384:TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherAll13|no| | |Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.<br>Example for GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509<br>Example for OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherCert|no| | |GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate-based encryption.<br>Example for GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509<br>Example for OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherCert13|no| | |Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate-based encryption.<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherPSK|no| | |GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for PSK-based encryption.<br>Example for GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL<br>Example for OpenSSL: kECDHEPSK+AES128:kPSK+AES128<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherPSK13|no| | |Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for PSK-based encryption.<br>Example: TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256<br>This parameter is supported since Zabbix 4.4.7.| |TLSConnect|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |How the agent should connect to Zabbix server or proxy. Used for active checks. Only one value can be specified:<br>*unencrypted* - connect without encryption (default)<br>*psk* - connect using TLS and a pre-shared key (PSK)<br>*cert* - connect using TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCRLFile|no| | |Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSKeyFile|no| | |Full pathname of a file containing the agent private key used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKFile|no| | |Full pathname of a file containing the agent pre-shared key used for encrypted communications with Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKIdentity|no| | |Pre-shared key identity string, used for encrypted communications with Zabbix server.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertIssuer|no| | |Allowed server (proxy) certificate issuer.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertSubject|no| | |Allowed server (proxy) certificate subject.<br>This parameter is supported since Zabbix 3.0.0.| |UnsafeUserParameters|no|0,1|0|Allow all characters to be passed in arguments to user-defined parameters.<br>0 - do not allow<br>1 - allow<br>The following characters are not allowed:<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>Additionally, newline characters are not allowed.| |User|no| |zabbix|Drop privileges to a specific, existing user on the system.<br>Only has effect if run as 'root' and AllowRoot is disabled.| |UserParameter|no| | |User-defined parameter to monitor. There can be several user-defined parameters.<br>Format: UserParameter=<key>,<shell command><br>Note that shell command must not return empty string or EOL only.<br>Shell commands may have relative paths, if UserParameterDir parameter is specified.<br>Examples:<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|no| | |Default search path for UserParameter commands. If used, the agent will change its working directory to the one specified here before executing a command. Thereby, UserParameter commands can have a relative `./` prefix instead of a full path.<br>Only one entry is allowed.<br>Example: UserParameterDir=/opt/myscripts|
zh-cn	#### 参数  |参数|必填|范围|默认值|描述| |----|----|----|------|----| |Alias|否| | |设置监控项键值的别名。这可用于将长而复杂的监控项键值替换为短而简单的。<br>可设置多个 *Alias* 参数。允许多个参数使用相同的 *Alias* 键值。<br>不同的 *Alias* 键值可以指代相同的监控项键值。<br>别名可用于参数 *HostMetadataItem*，但不可用于参数 *HostnameItem*。<br><br>例如：<br><br>1. 获取 ‘zabbix’ 用户的ID。<br>Alias=zabbix.userid:vfs.file.regexp\[/etc/passwd,"\^zabbix:.:(\[0-9\]+)",,,,\\1\]<br>此时简略的键值 **zabbix.userid** 可用于获取数据。<br><br>2. 用默认和自定义参数来获取 CPU 使用率。<br>Alias=cpu.util:system.cpu.util<br>Alias=cpu.util\[\*\]:system.cpu.util\[\*\]<br>这样既允许用使用默认参数的键值 **cpu.util** 来获取 CPU 使用率，也允许用 **cpu.util\[all, idle, avg15\]** 来获取特定条件下的 CPU 使用率。<br><br>3. 运行多个 [自动发现](/manual/discovery/low_level_discovery)规则来处理相同的自动发现监控项。<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>此时可以用 **vfs.fs.discovery** 来创建几个带着不同参数的自动发现规则，例如 **vfs.fs.discovery\[foo\]**，**vfs.fs.discovery\[bar\]** 等。| |AllowKey|否| | |允许执行的符合特定模式的监控项键值。键值模式是一种通配符表达式，它支持以“\*”字符来匹配任意数量的任意字符。<br>可与 DenyKey 结合使用来定义多个键值匹配规则。会根据参数的出现顺序对其逐个进行处理。<br>自 Zabbix 5.0.0开始支持本参数。<br>另请参阅：[限制 agent 检查](/manual/config/items/restrict_checks)。| |AllowRoot|否| |0|允许 agent 以 ‘root’ 用户身份运行。若本参数设为禁止，且仍以 ‘root’ 用户身份启动 agent，则 agent 会尝试切换为以 ‘zabbix’ 用户启动。若以普通用户身份启动则本参数无效。<br>0 - 禁止<br>1 - 允许| |BufferSend|否|1-3600|5|数据在缓冲区中保留不超过 N 秒。| |BufferSize|否|2-65535|100|内存缓冲区中数据的最大条数。<br>若缓冲区已满，则 agent 会将所有收集到的数据发送到 Zabbix server 或 proxy。| |DebugLevel|否|0-5|3|指定调试级别（debug日志的级别）：<br>0 - Zabbix 进程启停的基本信息<br>1 - 严重（critical）信息<br>2 - 错误（error）信息<br>3 - 警告（warning）信息<br>4 - 调试（debugging）信息，会产生大量信息<br>5 - 扩展调试（extended debugging）信息，会产生更大量的信息| |DenyKey|否| | |禁止执行的符合特定模式的监控项键值。键值模式是一种通配符表达式，它支持以“\*”字符来匹配任意数量的任意字符。<br>可与 AllowKey 结合使用来定义多个键值匹配规则。会根据参数的出现顺序对其逐个进行处理。<br>自 Zabbix 5.0.0开始支持本参数。<br>另请参阅：[限制 agent 检查](/manual/config/items/restrict_checks)。| |EnableRemoteCommands|否| |0|是否允许来自 Zabbix server 的远程命令。本参数已**弃用**，请使用 AllowKey=system.run\[\*\] 或 DenyKey=system.run\[\*\] 来替代<br>本参数是参数 AllowKey/DenyKey 的内部别名，其含义由值决定：<br>0 - DenyKey=system.run\[\*\]<br>1 - AllowKey=system.run\[\*\]| |HostInterface|否|0-255 个字符| |定义主机接口的可选参数。<br>主机接口用于主机[自动注册](/manual/discovery/auto_registration#using_dns_as_default_interface)流程。<br>若本参数的值超过255个字符的限制，则 agent 将报错并且不会启动。<br>若未定义，则将从 HostInterfaceItem 获取本参数的值。<br>自 Zabbix 4.4.0开始支持本参数。| |HostInterfaceItem|否| | |定义用于获取主机接口的监控项的可选参数。<br>主机接口用于主机[自动注册](/manual/discovery/auto_registration#using_dns_as_default_interface)流程。<br>在自动注册请求期间，若指定监控项返回的值超过255个字符的限制，则 agent 会记录一条警告消息。<br>本参数仅用于未设置 HostInterface 的场景。<br>自 Zabbix 4.4.0开始支持本参数。| |HostMetadata|否|0-255 个字符| |定义主机元数据的可选参数。主机元数据仅用于主机自动注册流程（主动 agent）。<br>若未定义，则将从 HostMetadataItem 获取该值。<br>若指定的值超过限制或非 UTF-8 字符串，则 agent 将报错并且不会启动。| |HostMetadataItem|否| | |定义用于获取主机元数据的 *Zabbix agent* 监控项的可选参数。仅当未定义 HostMetadata 时，才使用本参数。<br>支持 UserParameters 和 aliases。不论 AllowKey/DenyKey 的值如何，都支持 *system.run\[\]*。<br>在每次尝试自动注册时都会获取 HostMetadataItem 的值，并且该值仅用于主机自动注册流程（主动 agent）。<br>在自动注册请求期间，若指定监控项返回的值超过255个字符的限制，则 agent 会记录一条警告消息。<br>该监控项返回的值必须是 UTF-8 字符串，否则将被忽略。| |Hostname|否| |由 HostnameItem 设置|英文逗号分隔的唯一、区分大小写的主机名列表。<br>本参数是agent（主动式）类型监控项所必需的，且必须与服务器上配置的主机名匹配。若本参数未定义，则从 HostnameItem 获取。<br>可选字符：字母、数字、‘.’、‘ ’、‘\_’和‘-’。<br>最大长度：每个主机名128个字符，整行2048个字符。| |HostnameItem|否| |system.hostname|定义用于获取主机名的 *Zabbix agent* 监控项的可选参数。仅当未定义 Hostname 时才使用本参数。<br>不支持 UserParameters 或 aliases，但不论 AllowKey/DenyKey 的值如何，都支持 *system.run\[\]*。<br>输出长度限制为512KB。| |Include|否| | |你可以引入配置文件中所定义目录下的单独几个或所有文件。<br>为了仅引入指定目录下的相关文件，可以使用星号通配符进行模式匹配。例如：`/absolute/path/to/config/files/*.conf`。<br>有关限制，请参阅[特别说明](special_notes_include)。| |ListenBacklog|否|0 - INT\_MAX|SOMAXCONN|TCP 队列的最大挂起连接数。<br>默认值是取决于系统的硬编码常量。<br>支持的最大值取决于系统，过高的值可能会被静默截短为“实现指定的最大值”。| |ListenIP|否| |0.0.0.0|agent 应该监听的 IP 地址列表（由英文逗号分隔）。<br>在1.8.3及更高版本上支持多个 IP 地址。| |ListenPort|否|1024-32767|10050|代理将在此端口上监听来自服务器的连接。| |LoadModule|否| | |agent 启动时要加载的模块。模块用来扩展 agent 的功能。<br>格式：<br>LoadModule=<module.so><br>LoadModule=<path/module.so><br>LoadModule=</abs\_path/module.so><br>模块必须位于 LoadModulePath 指定的目录中，或路径必须位于模块名之前。若模块名前的路径是绝对路径（以‘/’开头），则忽略 LoadModulePath。<br>允许添加多个 LoadModule 参数。| |LoadModulePath|否| | |agent 模块的完整路径。<br>默认值取决于编译选项。| |LogFile|若 LogType 设为 *file* 则为是，<br>否则为否| | |日志文件的名称。| |LogFileSize|否|0-1024|1|日志文件的最大容量，单位为 MB。<br>0 - 禁用自动的日志滚动。<br>*注意*：若达到日志文件大小的最大限制且文件滚动失败，则无论出于何种原因，现有的日志文件会被截断并开始重新记录。| |LogType|否| |file|日志输出的类型：<br>*file* - 将日志写入 LogFile 参数指定的文件中，<br>*system* - 将日志写入 syslog，<br>*console* - 将日志用控制台进行标准输出。<br>自 Zabbix 3.0.0开始支持本参数。| |LogRemoteCommands|否| |0|允许将已执行的 shell 命令记录为警告。<br>0 - 禁止<br>1 - 允许<br>仅远程执行的命令会被记入日志。若 system.run\[\] 由 HostMetadataItem、HostInterfaceItem 或 HostnameItem 参数在本地启动，则不会创建日志条目。| |MaxLinesPerSecond|否|1-1000|20|在处理‘log’和‘eventlog’主动检查时，agent 每秒将向 Zabbix server 或 proxy 发送的新数据最大条数。<br>提供的值将被参数‘maxlines’覆盖，<br>其由‘log’或‘eventlog’监控项的键值提供。<br>*注意*：为了在日志监控项中查找所需的字符串，Zabbix 将处理比 *MaxLinesPerSecond* 中设置的新数据条数多10倍的数据。| |PidFile|否| |/tmp/zabbix\_agentd.pid|PID 文件的名称。| |RefreshActiveChecks|否|60-3600|120|刷新主动检查列表的频率，单位为秒。<br>注意，若刷新失败，则60秒后会进行下次刷新尝试。| |Server|若 StartAgents 未显式设置为0则为是| | |英文逗号分隔的 Zabbix server 或 Zabbix proxy 的 IP 地址（可选择用 CIDR 表示法表达）或主机名列表。<br>仅接受来自此处配置主机的传入连接。<br>若支持 IPv6，则‘127.0.0.1’、‘::127.0.0.1’、‘::ffff:127.0.0.1’是等效的。<br>‘::/0’将允许任意 IPv4或 IPv6地址。<br>‘0.0.0.0/0’可以用来允许任意 IPv4地址。<br>注意，根据 [RFC4291](https://tools.ietf.org/html/rfc4291#section-2.5.5)，“兼容 IPv4的 IPv6地址”（0000::/96 前缀）受支持但已被弃用。<br>例如：Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain<br>允许空格。| |ServerActive|否| | |英文逗号分隔的 Zabbix server 和 Zabbix proxy 的 IP 地址或 DNS 名称（地址:端口）或集群（地址:端口;地址2:端口）的列表，用于主动检查。<br>集群节点必须用英文分号分隔。<br>为同时使用多台独立的 Zabbix server，可用英文逗号分隔多个地址。允许空格。<br>若未指定端口，则会使用默认端口。<br>若主机是 IPv6地址且主机的端口已指定，则地址必须用英文方括号括起来。<br>若未指定端口，则 IPv6地址的方括号是可选的。<br>若未设置本参数，则禁用主动检查。<br>多 Zabbix server 的例子：<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>高可用的例子：<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>包含两个集群和一个 server 的高可用例子：<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|否| | |用于以下目的的源 IP 地址：<br>- 到 Zabbix server 或 Zabbix proxy 的传出连接；<br>- 执行某些监控项（web.page.get，net.tcp.port 等）时进行的连接。| |StartAgents|否|0-100|3|执行被动检查的 zabbix\_agentd 的初始实例数。<br>若设为0，则禁用被动检查，且 agent 不会监听任何 TCP 端口。| |Timeout|否|1-30|3|处理的超时时长（单位为秒）。| |TLSAccept|若定义了 TLS 证书或 PSK 参数（即使是 *未加密* 的连接）则为是，<br>否则为否| | |接受哪些传入连接。用于被动检查。可定义多个值，用英文逗号分隔：<br>*unencrypted* - 接受未加密连接（默认）<br>*psk* - 接受带 TLS 和预共享秘钥（PSK）的连接<br>*cert* - 接受带 TLS 和证书的连接<br>自 Zabbix 3.0.0开始支持本参数。| |TLSCAFile|否| | |顶级 CA 证书文件的完整路径名，该文件用于 Zabbix 组件间加密通信中的对等证书校验。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSCertFile|否| | |包含 agent 证书或证书链的文件的完整路径名，该文件用于和 Zabbix 组件间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSCipherAll|否| | |GnuTLS 优先级字符串或 OpenSSL（TLS 1.2）密码字符串。覆盖基于证书和 PSK 加密的默认密码套件选择条件。<br>例如：TLS\_AES\_256\_GCM\_SHA384:TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherAll13|否| | |在 TLS 1.3下用于 OpenSSL 1.1.1版或更新版本的密码字符串。覆盖基于证书和 PSK 加密的默认密码套件选择条件。<br>GnuTLS 的例子：NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509<br>OpenSSL 的例子：EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherCert|否| | |GnuTLS 优先级字符串或 OpenSSL（TLS 1.2）密码字符串。覆盖基于证书加密的默认密码套件选择条件。<br>GnuTLS 的例子：NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509<br>OpenSSL 的例子：EECDH+aRSA+AES128:RSA+aRSA+AES128<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherCert13|否| | |在 TLS 1.3下用于 OpenSSL 1.1.1版或更新版本的密码字符串。覆盖基于证书加密的默认密码套件选择条件。<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherPSK|否| | |GnuTLS 优先级字符串或 OpenSSL（TLS 1.2）密码字符串。覆盖基于 PSK 加密的默认密码套件选择条件。<br>GnuTLS 的例子：NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL<br>OpenSSL 的例子：kECDHEPSK+AES128:kPSK+AES128<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherPSK13|否| | |在 TLS 1.3下用于 OpenSSL 1.1.1版或更新版本的密码字符串。覆盖基于 PSK 加密的默认密码套件选择条件。<br>Example: TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256<br>自 Zabbix 4.4.7开始支持本参数。| |TLSConnect|若定义了 TLS 证书或 PSK 参数（即使是 *未加密* 的连接）则为是，<br>否则为否| | |agent 该如何连接到 Zabbix server 或 proxy。本参数用于主动检查。仅可以选择一种连接方式：<br>*unencrypted* - 无加密连接（默认）<br>*psk* - 使用 TLS 和预共享秘钥（PSK）的连接<br>*cert* - 使用 TLS 和证书的连接<br>自 Zabbix 3.0.0开始支持本参数。| |TLSCRLFile|否| | |包含已吊销证书的文件的完整路径名。本参数用于和 Zabbix 组件间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSKeyFile|否| | |包含 agent 私钥的文件的完整路径名，该文件用于和 Zabbix 组件间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSPSKFile|否| | |包含 agent 预共享秘钥（PSK）的文件的完整路径名，该文件用于和 Zabbix server 之间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSPSKIdentity|否| | |预共享秘钥（PSK）标识字符串，用于和 Zabbix server 之间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSServerCertIssuer|否| | |允许的 server（proxy）证书颁发者。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSServerCertSubject|否| | |允许的 server（proxy）证书使用者。<br>自 Zabbix 3.0.0开始支持本参数。| |UnsafeUserParameters|否|0,1|0|允许所有字符通过参数传递给用户定义的参数。<br>0 - 禁止<br>1 - 允许<br>禁用以下字符：<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>此外，禁用换行符。| |User|否| |zabbix|降低权限为一个系统内已存在的用户。<br>仅当以‘root’用户身份运行且 AllowRoot 参数设置为禁用时，本参数才生效。| |UserParameter|否| | |要监视的用户定义参数。可以有多个用户定义的参数。<br>格式：UserParameter=<key>,<shell command><br>注意，shell 命令不得仅返回空字符串或行尾字符。<br>若指定了 UserParameterDir 参数，则 Shell 命令可以使用相对路径。<br>例如：<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|否| | |UserParameter 命令的默认搜索路径。若使用本参数，则 agent 会在执行命令前将其工作目录改为此处指定的目录。因此，UserParameter 命令可使用相对路径前缀`./`，而不是完整路径。<br>仅允许设置一个目录。<br>例如：UserParameterDir=/opt/myscripts|

en-us	#### Parameters  |Parameter|<|Mandatory|Range|Default|Description| |-|----------|----------|----------|----------|--------------------------------------------------| |Alias|<|no| | |Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.<br>Multiple *Alias* parameters may be present. Multiple parameters with the same *Alias* key are allowed.<br>Different *Alias* keys may reference the same item key.<br>Aliases can be used in *HostMetadataItem* but not in *HostnameItem* parameters.<br><br>Examples:<br><br>1. Retrieving the ID of user 'zabbix'.<br>Alias=zabbix.userid:vfs.file.regexp\[/etc/passwd,"\^zabbix:.:(\[0-9\]+)",,,,\\1\]<br>Now shorthand key **zabbix.userid** may be used to retrieve data.<br><br>2. Getting CPU utilization with default and custom parameters.<br>Alias=cpu.util:system.cpu.util<br>Alias=cpu.util\[\*\]:system.cpu.util\[\*\]<br>This allows use **cpu.util** key to get CPU utilization percentage with default parameters as well as use **cpu.util\[all, idle, avg15\]** to get specific data about CPU utilization.<br><br>3. Running multiple [low-level discovery](/manual/discovery/low_level_discovery) rules processing the same discovery items.<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>Now it is possible to set up several discovery rules using **vfs.fs.discovery** with different parameters for each rule, e.g., **vfs.fs.discovery\[foo\]**, **vfs.fs.discovery\[bar\]**, etc.| |AllowKey|<|no| | |Allow execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with DenyKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |BufferSend|<|no|1-3600|5|The time interval in seconds which determines how often values are sent from the buffer to Zabbix server.<br>Note, that if the buffer is full, the data will be sent sooner.| |BufferSize|<|no|2-65535|100|Maximum number of values in a memory buffer. The agent will send all collected data to Zabbix server or proxy if the buffer is full.<br>This parameter should only be used if persistent buffer is disabled (*EnablePersistentBuffer=0*).| |ControlSocket|<|no| |\\\\.\\pipe\\agent.sock|The control socket, used to send runtime commands with '-R' option.| |DebugLevel|<|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (produces even more information)| |DenyKey|<|no| | |Deny execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with AllowKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |EnablePersistentBuffer|<|no|0-1|0|Enable usage of local persistent storage for active items.<br>0 - disabled<br>1 - enabled<br>If persistent storage is disabled, the memory buffer will be used.| |ForceActiveChecksOnStart|<|no|0-1|0 |Perform active checks immediately after restart for the first received configuration.<br>0 - disabled<br>1 - enabled<br>Also available as per plugin configuration parameter, for example: `Plugins.Uptime.System.ForceActiveChecksOnStart=1` <br> Supported since Zabbix 6.0.2. | |HostInterface|<|no|0-255 characters| |Optional parameter that defines host interface.<br>Host interface is used at host autoregistration process.<br>An agent will issue an error and not start if the value is over the limit of 255 characters.<br>If not defined, value will be acquired from HostInterfaceItem.<br>Supported since Zabbix 4.4.0.| |HostInterfaceItem|<|no| | |Optional parameter that defines an item used for getting host interface.<br>Host interface is used at host autoregistration process.<br>During an autoregistration request an agent will log a warning message if the value returned by specified item is over limit of 255 characters.<br>This option is only used when HostInterface is not defined.<br>Supported since Zabbix 4.4.0.| |HostMetadata|<|no|0-255 characters| |Optional parameter that defines host metadata. Host metadata is used at host autoregistration process.<br>An agent will issue an error and not start if the specified value is over the limit or a non-UTF-8 string.<br>If not defined, the value will be acquired from HostMetadataItem.| |HostMetadataItem|<|no| | |Optional parameter that defines an item used for getting host metadata. Host metadata item value is retrieved on each autoregistration attempt for host autoregistration process.<br>During an autoregistration request an agent will log a warning message if the value returned by the specified item is over the limit of 255 characters.<br>This option is only used when HostMetadata is not defined.<br>Supports UserParameters and aliases. Supports *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>The value returned by the item must be a UTF-8 string otherwise it will be ignored.| |Hostname|<|no| |Set by HostnameItem|List of comma-delimited unique, case-sensitive hostnames.<br>Required for active checks and must match hostnames as configured on the server. Value is acquired from HostnameItem if undefined.<br>Allowed characters: alphanumeric, '.', ' ', '\_' and '-'.<br>Maximum length: 128 characters per hostname, 2048 characters for the entire line.| |HostnameItem|<|no| |system.hostname|Item used for generating Hostname if it is not defined. Ignored if Hostname is defined.<br>Does not support UserParameters or aliases, but does support *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>The output length is limited to 512KB.| |Include|<|no| | |You may include individual files or all files in a directory in the configuration file.<br>During the installation Zabbix will create the include directory in /usr/local/etc, unless modified during the compile time.<br>To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: `C:\Program Files\Zabbix Agent\zabbix_agentd.d\*.conf`.<br>Since Zabbix 6.0.0 a path can be relative to *zabbix\_agent2.win.conf* file location.<br>See [special notes](special_notes_include) about limitations.| |ListenIP|<|no| |0.0.0.0|List of comma-delimited IP addresses that the agent should listen on.<br>The first IP address is sent to Zabbix server, if connecting to it, to retrieve the list of active checks.| |ListenPort|<|no|1024-32767|10050|Agent will listen on this port for connections from the server.| |LogFile|<|yes, if LogType is set to *file*, otherwise<br>no| |c:\\zabbix\_agent2.log|Log file name if LogType is 'file'.| |LogFileSize|<|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.<br>*Note*: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.| |LogType|<|no| |file|Specifies where log messages are written to:<br>*file* - file specified by LogFile parameter,<br>*console* - standard output.| |PersistentBufferFile|<|no| | |The file, where Zabbix Agent2 should keep SQLite database.<br>Must be a full filename.<br>This parameter is only used if persistent buffer is enabled (*EnablePersistentBuffer=1*).| |PersistentBufferPeriod|<|no|1m-365d|1h|The time period for which data should be stored, when there is no connection to the server or proxy. Older data will be lost. Log data will be preserved.<br>This parameter is only used if persistent buffer is enabled (*EnablePersistentBuffer=1*).| |Plugins|<|no| | |Since Zabbix 6.0.0 most of the plugins have their own [configuration files](/manual/appendix/config/zabbix_agent2_plugins). The agent configuration file contains plugin parameters listed below.| | |Plugins.Log.MaxLinesPerSecond|no|1-1000|20|Maximum number of new lines the agent will send per second to Zabbix server or proxy when processing 'log' and 'eventlog' active checks.<br>The provided value will be overridden by the parameter 'maxlines',<br>provided in 'log' or 'eventlog' item key.<br>*Note*: Zabbix will process 10 times more new lines than set in *MaxLinesPerSecond* to seek the required string in log items.<br>This parameter is supported since 4.4.2 and replaces MaxLinesPerSecond.| |^|Plugins.SystemRun.LogRemoteCommands|no| |0|Enable logging of executed shell commands as warnings.<br>0 - disabled<br>1 - enabled<br>Commands will be logged only if executed remotely. Log entries will not be created if system.run\[\] is launched locally by HostMetadataItem, HostInterfaceItem or HostnameItem parameters.<br>This parameter is supported since 4.4.2 and replaces LogRemoteCommands.| |PluginSocket|<|no| |\\\\.\pipe\agent.plugin.sock|Path to unix socket for loadable plugin communications.| |PluginTimeout|<|no|1-30 |Global timeout |Timeout for connections with loadable plugins.| |RefreshActiveChecks|<|no|60-3600|120|How often the list of active checks is refreshed, in seconds.<br>Note that after failing to refresh active checks the next refresh will be attempted after 60 seconds.| |Server|<|yes| | |List of comma-delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.<br>Incoming connections will be accepted only from the hosts listed here.<br>If IPv6 support is enabled then '127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.<br>'0.0.0.0/0' can be used to allow any IPv4 address.<br>Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com<br>Spaces are allowed.| |ServerActive|<|no| | |Zabbix server/proxy address or cluster configuration to get active checks from.<br>Server/proxy address is IP address or DNS name and optional port separated by colon.<br>Cluster configuration is one or more server addresses separated by semicolon.<br>Multiple Zabbix servers/clusters and Zabbix proxies can be specified, separated by comma.<br>More than one Zabbix proxy should not be specified from each Zabbix server/cluster.<br>If Zabbix proxy is specified then Zabbix server/cluster for that proxy should not be specified.<br>Multiple addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.<br>If port is not specified, default port is used.<br>IPv6 addresses must be enclosed in square brackets if port for that host is specified.<br>If port is not specified, square brackets for IPv6 addresses are optional.<br>If this parameter is not specified, active checks are disabled.<br>Example for Zabbix proxy:<br>ServerActive=127.0.0.1:10051<br>Example for multiple servers:<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>Example for high availability:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>Example for high availability with two clusters and one server:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|<|no| | |Source IP address for:<br>- outgoing connections to Zabbix server or Zabbix proxy;<br>- making connections while executing some items (web.page.get, net.tcp.port, etc.)| |StatusPort|<|no|1024-32767| |If set, agent will listen on this port for HTTP status requests (http://localhost:<port>/status).| |Timeout|<|no|1-30|3|Spend no more than Timeout seconds on processing.| |TLSAccept|<|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |What incoming connections to accept. Used for a passive checks. Multiple values can be specified, separated by comma:<br>*unencrypted* - accept connections without encryption (default)<br>*psk* - accept connections with TLS and a pre-shared key (PSK)<br>*cert* - accept connections with TLS and a certificate| |TLSCAFile|<|no| | |Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.| |TLSCertFile|<|no| | |Full pathname of a file containing the agent certificate or certificate chain, used for encrypted communications with Zabbix components.| |TLSConnect|<|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |How the agent should connect to Zabbix server or proxy. Used for active checks. Only one value can be specified:<br>*unencrypted* - connect without encryption (default)<br>*psk* - connect using TLS and a pre-shared key (PSK)<br>*cert* - connect using TLS and a certificate| |TLSCRLFile|<|no| | |Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications with Zabbix components.| |TLSKeyFile|<|no| | |Full pathname of a file containing the agent private key used for encrypted communications with Zabbix components.| |TLSPSKFile|<|no| | |Full pathname of a file containing the agent pre-shared key used for encrypted communications with Zabbix components.| |TLSPSKIdentity|<|no| | |Pre-shared key identity string, used for encrypted communications with Zabbix server.| |TLSServerCertIssuer|<|no| | |Allowed server (proxy) certificate issuer.| |TLSServerCertSubject|<|no| | |Allowed server (proxy) certificate subject.| |UnsafeUserParameters|<|no|0,1|0|Allow all characters to be passed in arguments to user-defined parameters.<br>The following characters are not allowed:<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>Additionally, newline characters are not allowed.| |UserParameter|<|no| | |User-defined parameter to monitor. There can be several user-defined parameters.<br>Format: UserParameter=<key>,<shell command><br>Note that shell command must not return empty string or EOL only.<br>Shell commands may have relative paths, if UserParameterDir parameter is specified.<br>Examples:<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|<|no| | |Default search path for UserParameter commands. If used, the agent will change its working directory to the one specified here before executing a command. Thereby, UserParameter commands can have a relative `./` prefix instead of a full path.<br>Only one entry is allowed.<br>Example: UserParameterDir=/opt/myscripts|
zh-cn	#### 参数配置  |参数名称|<|必要配置|配置范围|缺省数值|参数说明| |---------|-|---------|-----|-------|-----------| |Alias|<|否| | |该参数用于给监控项的键值设定一个别名。使用该功能的目的是用一个更简练、更简单的键值替换冗长且复杂的监控项键值。<br>多个 *Alias* 参数是允许存在的。多个别名参数使用相同的 *Alias* 键值也是允许的。<br>不同的 *Alias* 键值可用于引用相同的监控项键值。<br>键值别名可以用于 *HostMetadataItem* 参数，但是不可以用于 *HostnameItem* 参数。<br><br>举例说明如下：<br><br>1. 检索用户名为'zabbix'的用户ID数据。<br>Alias=zabbix.userid:vfs.file.regexp\[/etc/passwd,"\^zabbix:.:(\[0-9\]+)",,,,\\1\]<br>上述表达式中简略的键值 **zabbix.userid** 可替换原来的监控项键值用于数据检索。<br><br>2. 通过默认和自定义参数获取CPU使用率。<br>Alias=cpu.util:system.cpu.util<br>Alias=cpu.util\[\*\]:system.cpu.util\[\*\]<br>通过以上两个表达式，配置者可以使用 **cpu.util** 这个默认参数的键值获取CPU的使用率，同时也可以使用 **cpu.util\[all, idle, avg15\]** 这个自定义参数的键值来获取一个更具体的CPU使用率数据。<br><br>3. 面对相同类型的监控项使用多个 [low-level discovery](/manual/discovery/low_level_discovery) 规则完成数据处理。<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>针对各条规则，通过以上的表达式就可以设置不同的参数配合各自的发现规则以完成对键值 **vfs.fs.discovery** 的数据检索，例如： **vfs.fs.discovery\[foo\]**， **vfs.fs.discovery\[bar\]**，等。| |AllowKey|<|否| | |该参数用于开启监控项键值的模式匹配功能，对匹配通过的数据执行操作。键值样板为通配符表达式，它支持使用 "\*" 作为匹配符号，对任意数字和任意文字进行匹配。<br>用户可以结合使用DenyKey来定义多个键值匹配规则。该功能下的参数处理是根据其出现顺序进行逐一处理的。<br>自Zabbix 5.0.0版本起，Zabbix agent 2 支持该项参数。<br>另请参阅: [代理核实限制](/manual/config/items/restrict_checks).| |BufferSend|<|否|1-3600|5|数据发送时间间隔（单位：秒）。此参数定义了采集数据由缓存发送给Zabbix server的发送间隔。<br>请注意，如果数据缓存区已满，缓存区外的数据会更快的发送给Zabbix server。| |BufferSize|<|否|2-65535|100|定义内存中数据缓存允许的最大数据存储量。当数据缓存已满，Zabbix 代理会将采集的数据发送给Zabbix server或proxy。<br>该参数的应用场景为持久性缓存设置为失效。(*EnablePersistentBuffer=0*)。| |ControlSocket|<|否| |\\\\.\\pipe\\agent.sock|Zabbix agent的控制套接字，使用带有 '-R' 选项的命令行发送运行时命令。| |DebugLevel|<|否|0-5|3|指定调试级别：<br>0 - 有关Zabbix进程启动和停止的基础信息；<br>1 - 关键信息；<br>2 - 出错信息；<br>3 - 警示信息；<br>4 - 调试模式（该模式下会产生大量信息）；<br>5 - 扩展调试模式（相较调试模式，会产生更大量的信息）。| |DenyKey|<|否| | |该参数用于开启监控项键值的模式匹配功能，对匹配的数据不执行操作。键值样板为通配符表达式，它支持使用 "\*" 作为匹配符号，对任意数字和任意文字进行匹配。<br>用户可以结合使用AllowKey来定义多个键值匹配规则。该功能下的参数处理是根据其出现顺序进行逐一处理的。<br>自Zabbix 5.0.0版本起，Zabbix agent 2 支持该项参数。<br>另请参阅 [Restricting agent checks](/manual/config/items/restrict_checks).| |EnablePersistentBuffer|<|否|0-1|0|启用对主动监控项数据的持续性本地存储。<br>0 - 禁用<br>1 - 启用<br>当持久性存储功能关闭，内存缓冲功能将开启。| |ForceActiveChecksOnStart| |否|0-1|0 |重启之后立即执行主动检查首次接收的配置。<br>0 - disabled<br>1 - enabled<br>也可以作为每个插件配置参数，例如： `Plugins.Uptime.System.ForceActiveChecksOnStart=1` <br> 自Zabbix 6.0.2起支持。 | |HostInterface|<|否|0-255 字符| |定义主机接口的可选配置参数。<br>主机接口参数用于主机自动注册进程。<br>该配置参数存在字符限制。当该参数数值超过255个字符的限制，那么Zabbix代理会发布出错信息并不会启动进程。<br>如果该参数未定义，那么数据的获取会通过 HostInterfaceItem 来完成.<br>自Zabbix 4.4.0版本起，支持该参数项配置。| |HostInterfaceItem|<|否| | |定义获取目标主机接口的监控项，为可选配置参数。<br>主机接口参数用于主机自动注册进程。<br>在自动注册请求过程中，当指定监控项返回的数值大小超过255个字符，Zabbix代理会记录一条警示信息。<br>此可选配置参数仅在 HostInterface 未定义的情况下使用。<br>自Zabbix 4.4.0版本起，支持该参数项配置。| |HostMetadata|<|否|0-255 字符| |定义主机元数据的可选配置参数。主机元数据用于主机自动注册进程。<br>若指定的数值超过字符限制或者非UTF-8 字符串，则Zabbix代理会产生一条出错信息且注册进程不会启动。<br>若该参数并未定义，则Zabbix代理会从 HostMetadataItem 获取数值。| |HostMetadataItem|<|否| | |定义获取主机元数据的监控项，为可选配置参数。在主机自动注册的过程中，每次尝试自动注册的操作都会检索主机元数据监控项的值。<br>在自动注册请求过程中，当指定监控项返回的数值大小超过255个字符，Zabbix代理会记录一条警告信息。<br>此可选配置只在 HostMetadata 未定义的情况下使用。<br>该参数配置支持 UserParameters 和 aliases。且在无视 *EnableRemoteCommands* 数值的情况下，支持 *system.run\[\]* 。<br>该监控项返回的数值必须为 UTF-8 字符串格式，其他格式的数据不被支持。| |Hostname|<|否| |由 HostnameItem 设置|由逗号分隔，区分大小写的主机名称清单。<br>在主动模式下，该参数必须配置且与Zabbix server上配置的主机名称保持一致。若该参数未配置，则数据的获取由HostnameItem完成。<br>允许字符种类：字母、数字、'.'、 ' '、 '\_' 和 '-'。<br>允许最大长度：单个主机名称为128个字符，整行为2048个字符。| |HostnameItem|<|否| |system.hostname|在主机名称未定义的情况下，该参数可用于生成主机名称。若参数 Hostname 已经定义，请忽略该参数项。<br>该参数不支持 UserParameters 或 aliases，且在无视 *EnableRemoteCommands* 数值的情况下，支持 *system.run\[\]* 。<br>该配置监控项的最大输出长度限制为512KB。| |Include|<|否| | |用户可在配置文档目录下包含单个文档或者多个文档。<br>除非在编译过程中进行操作干预，默认情况下，Zabbix系统会在安装过程中在 /usr/local/etc 路径下创建文档目录。<br>正则匹配功能可以应用于文档筛选，通过‘*’通配符可以在特定的目录中进行筛选确保包含目标相关文档。例如：`C:\Program Files\Zabbix Agent\zabbix_agentd.d\*.conf`。<br>自Zabbix 6.0.0版本起，便支持与 *zabbix\_agent2.win.conf* 有关的文档路径。<br>有关限制，请参考 [special notes](special_notes_include)。| |ListenIP|<|否| |0.0.0.0|该参数定义一组Zabbix agent应侦听的由逗号分隔的IP地址。<br>IP地址组中第一个地址会发送给Zabbix server。若成功完成连接，该agent会获取一份主动监控清单。| |ListenPort|<|否|1024-32767|10050|Agent 监听端口，该端口负责与 server 完成连接。| |LogFile|<|是, 若日志类型设定为 *file* ，否则<br>否| |c:\\zabbix\_agent2.log|若'file' 为日志类型，该参数为日志文档名称。| |LogFileSize|<|否|0-1024|1|日志文件的最大容量，以MB为单位。<br>0 - 禁用自动日志轮换。<br>*注意*: 如果达到了日志文件大小限制并且文件轮换失败，则无论出于何种原因，现有的日志文件都会被截断并重新建。| |LogType|<|否| |file|指定日志文档的写入路径：<br>*system* - syslog，<br>*file* - 由 LogFile 参数指定的文档，<br>*console* - 标准输出。| |PersistentBufferFile|<|否| | |Zabbix Agent2 用于保存 SQLite 数据库的文档。.<br>该参数必须为一个完整的文档名称。<br>只有当持续缓存功能处于开启状态 (*EnablePersistentBuffer=1*)，该参数才会被使用。| |PersistentBufferPeriod|<|否|1m-365d|1h|当丢失与 server 和 proxy 的连接时，监控数据所保存的时间。之前保存的数据会被主动丢失且被新数据替换。日志数据会被保留。<br>当持久化缓存区功能开启后(*EnablePersistentBuffer=1*)，该参数才会被使用。| |Plugins|<|否| | |自Zabbix 6.0.0版本起，绝大多数的插件程序都会拥有对应的配置文档 [configuration files](/manual/appendix/config/zabbix_agent2_plugins)。 Zabbix agent 2的配置文档包含下列插件程序的配置参数。| | |Plugins.Log.MaxLinesPerSecond|否|1-1000|20|该参数用于设定，Zabbix agent在处理有关“日志”和“事件日志”的主动检查时，能够发送给 Zabbix server 或者 proxy 新数据行数的最大值。<br>该参数所提供的数值会被参数 'maxlines'所替代。<br>“日志”或“事件日志”监控项键值中提供了该数值。<br>*请注意*：Zabbix会处理设定参数 *MaxLinesPerSecond* 十倍的新数据行，以便于在日志监控项中查找所需求的字符串。<br>自 Zabbix 4.4.2版本起便支持该参数设置同时替换掉了参数 MaxLinesPerSecond。| |^|Plugins.SystemRun.LogRemoteCommands|否| |0|使执行的 Shell 命令被记录为警告信息。<br>0 - 禁用<br>1 - 启用<br>只有远程执行命令时，操作才会被记录。由 HostMetadataItem，HostInterfaceItem 或者 HostnameItem 参数经由本地路径运行的 system.run\[\] 操作，不会创建日志条目。<br>自Zabbix 4.4.2 版本起支持该参数并且替换了LogRemoteCommands 参数项。| |PluginSocket| |否| |\\..plugin.sock |与外部插件连接的Unix socket 。| |PluginTimeout| |否|1-30 |Global timeout |外部插件连接超时。| |RefreshActiveChecks|<|否|60-3600|120|配置主动检查列表刷新频率，单位为秒。<br>请注意，当出现主动检查列表失败的情况下，下一次的刷新动作会在60秒后在此进行尝试。| |Server|<|是| | |以逗号分隔的一组IP地址，可以选择使用CIDR表示法，或者使用 Zabbix servers 和 Zabbix proxies 的域名名称。<br>罗列主机IP地址，表示可以接受这些主机的的接入连接。<br>若 IPv6 支持开启，那么 '127.0.0.1'，'::ffff:127.0.0.1' 表示的效果一致，同时 '::/0' 会允许任意的 IPv4 或者 IPv6 地址。<br>使用 '0.0.0.0/0' 可以匹配任何的 IPv4 地址。<br>例如： Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com<br>允许使用空格。| |ServerActive|<|否| | |Zabbix servers 和 Zabbix proxies 用于主动检查的一组以逗号分隔的IP端口 (或者域名端口)。<br>可以通过设置多个IP地址用于同时支持多个独立的 Zabbix servers。允许使用空格。<br>如若未定义端口，那么 Agent 将使用缺省端口。<br>在主机端口已经定义的情况下，IPv6 地址必须由中括号囊括。<br>若并未指定端口，那么对IPv6地址使用的中括号为可选操作。<br>若不定义该参数，那么主动检查功能则会处于禁用状态。<br>Zabbix proxy配置示例:<br>ServerActive=127.0.0.1:10051<br>多个服务器IP配置示例:<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>高可用配置示例:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>两个集群一个服务的高可用配置示例:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|<|否| | |源IP地址用于：<br>- 指向 Zabbix server 或者 Zabbix proxy 的连接；<br>- 在执行某些监控项的同时建立连接（web.page.get，net.tcp.port，等。）| |StatusPort|<|否|1024-32767| |该参数的设定是为了完成HTTP的状态请求 (http://localhost:<port>/status)，而 agent 会监听该端口。| |Timeout|<|否|1-30|3|对数据的处理时间设定最大允许值。| |TLSAccept|<|是，如果 TLS 验证或者 PSK 参数已经定义（即便是 *unencrypted* 的连接），除此以外，则为否| | |定义接受何种接入的连接。应用于被动检查。该参数可以设定多个数值，并以逗号进行分割：<br>*unencrypted* - 接受未加密的连接请求（默认配置）<br>*psk* - 接受以 TLS 和 PSK 为加密方式的连接<br>*cert* - 接受以 TLS 和 证书验证为加密方式的连接| |TLSCAFile|<|否| | |定义包含用于匹配证书验证的最高等级CA（s）证书，保障Zabbix 组件之间的加密通信的文档路径。| |TLSCertFile|<|否| | |定义包含用于保障 Zabbix 组件之间的加密通信的 agent 证书或证书链的文档完整路径名称。| |TLSConnect|<|是，如果 TLS 验证或者 PSK 参数已经定义（即便是 *unencrypted* 的连接），除此以外，则为否| | |Agent 如何连接到 Zabbix server 或者 proxy。该功能应用于主动检查。通常只可以指定一个数值：<br>*unencrypted* - 接受未加密的连接请求（默认配置）<br>*psk* - 接受以 TLS 和 PSK 为加密方式的连接<br>*cert* - 接受以 TLS 和 证书验证为加密方式的连接| |TLSCRLFile|<|否| | |定义包含用于保障 Zabbix 组件之间的加密通信的已废除证书的文档完整路径名称。| |TLSKeyFile|<|否| | |定义包含用于保障 Zabbix 组件之间的加密通信的 agent 私钥的文档完整路径名称。| |TLSPSKFile|<|否| | |定义包含用于保障 Zabbix 组件之间的加密通信的 agent 共享密钥的文档完整路径名称，。| |TLSPSKIdentity|<|否| | |共享密钥标识字符，用于保障与 Zabbix server 的加密通信。| |TLSServerCertIssuer|<|否| | |允许 server (proxy) 的证书发行。| |TLSServerCertSubject|<|否| | |允许 server (proxy) 的证书主题。| |UnsafeUserParameters|<|否|0,1|0|允许用户定义参数可以使用所有的字符。<br>以下所罗列的字符不允许使用：<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>除此之外，换行符也不允许使用。| |UserParameter|<|否| | |用于监控的用户定义参数。该参数可以定义多个用户定义参数。<br>格式： UserParameter=<key>,<shell command><br>请注意，shell 命令不可以返回空字符串或者仅返回EOL。<br>若 UserParameterDir 参数已指定，那么 shell 命令拥有相对应的路径。<br>例如：<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|<|否| | |定义使用 UserParameter 命令的默认搜索路径。 若应用该参数，agent 会在命令执行前自动切换它的工作目录至该参数指定的目录。因此，UserParameter 命令可以使用一个相关联的 `./` 前缀而不是一个完整的路径。<br>只允许设定一个路径。<br>例如: UserParameterDir=/opt/myscripts|

en-us	#### Parameters  |Parameter|<|Mandatory|Range|Default|Description| |-|----------|----------|----------|----------|--------------------------------------------------| |Alias|<|no| | |Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.<br>Multiple *Alias* parameters may be present. Multiple parameters with the same *Alias* key are allowed.<br>Different *Alias* keys may reference the same item key.<br>Aliases can be used in *HostMetadataItem* but not in *HostnameItem* parameters.<br><br>Examples:<br><br>1. Retrieving the ID of user 'zabbix'.<br>Alias=zabbix.userid:vfs.file.regexp\[/etc/passwd,"\^zabbix:.:(\[0-9\]+)",,,,\\1\]<br>Now shorthand key **zabbix.userid** may be used to retrieve data.<br><br>2. Getting CPU utilization with default and custom parameters.<br>Alias=cpu.util:system.cpu.util<br>Alias=cpu.util\[\*\]:system.cpu.util\[\*\]<br>This allows use **cpu.util** key to get CPU utilization percentage with default parameters as well as use **cpu.util\[all, idle, avg15\]** to get specific data about CPU utilization.<br><br>3. Running multiple [low-level discovery](/manual/discovery/low_level_discovery) rules processing the same discovery items.<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>Now it is possible to set up several discovery rules using **vfs.fs.discovery** with different parameters for each rule, e.g., **vfs.fs.discovery\[foo\]**, **vfs.fs.discovery\[bar\]**, etc.| |AllowKey|<|no| | |Allow execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with DenyKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |BufferSend|<|no|1-3600|5|The time interval in seconds which determines how often values are sent from the buffer to Zabbix server.<br>Note, that if the buffer is full, the data will be sent sooner.| |BufferSize|<|no|2-65535|100|Maximum number of values in a memory buffer. The agent will send all collected data to Zabbix server or proxy if the buffer is full.<br>This parameter should only be used if persistent buffer is disabled (*EnablePersistentBuffer=0*).| |ControlSocket| |no| |/tmp/agent.sock|The control socket, used to send runtime commands with '-R' option.| |DebugLevel|<|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (produces even more information)| |DenyKey|<|no| | |Deny execution of those item keys that match a pattern. Key pattern is a wildcard expression that supports "\*" character to match any number of any characters.<br>Multiple key matching rules may be defined in combination with AllowKey. The parameters are processed one by one according to their appearance order.<br>This parameter is supported since Zabbix 5.0.0.<br>See also: [Restricting agent checks](/manual/config/items/restrict_checks).| |EnablePersistentBuffer|<|no|0-1|0|Enable usage of local persistent storage for active items.<br>0 - disabled<br>1 - enabled<br>If persistent storage is disabled, the memory buffer will be used.| |ForceActiveChecksOnStart|<|no|0-1|0 |Perform active checks immediately after restart for the first received configuration.<br>0 - disabled<br>1 - enabled<br>Also available as per plugin configuration parameter, for example: `Plugins.Uptime.System.ForceActiveChecksOnStart=1` <br> Supported since Zabbix 6.0.2. | |HostInterface| |no|0-255 characters| |Optional parameter that defines host interface.<br>Host interface is used at host autoregistration process.<br>An agent will issue an error and not start if the value is over the limit of 255 characters.<br>If not defined, value will be acquired from HostInterfaceItem.<br>Supported since Zabbix 4.4.0.| |HostInterfaceItem|<|no| | |Optional parameter that defines an item used for getting host interface.<br>Host interface is used at host autoregistration process.<br>During an autoregistration request an agent will log a warning message if the value returned by specified item is over limit of 255 characters.<br>This option is only used when HostInterface is not defined.<br>Supported since Zabbix 4.4.0.| |HostMetadata|<|no|0-255 characters| |Optional parameter that defines host metadata. Host metadata is used at host autoregistration process.<br>An agent will issue an error and not start if the specified value is over the limit or a non-UTF-8 string.<br>If not defined, the value will be acquired from HostMetadataItem.| |HostMetadataItem|<|no| | |Optional parameter that defines an item used for getting host metadata. Host metadata item value is retrieved on each autoregistration attempt for host autoregistration process.<br>During an autoregistration request an agent will log a warning message if the value returned by the specified item is over the limit of 255 characters.<br>This option is only used when HostMetadata is not defined.<br>Supports UserParameters and aliases. Supports *system.run\[\]* regardless of AllowKey/DenyKey values.<br>The value returned by the item must be a UTF-8 string otherwise it will be ignored.| |Hostname|<|no| |Set by HostnameItem|List of comma-delimited unique, case-sensitive hostnames.<br>Required for active checks and must match hostnames as configured on the server. Value is acquired from HostnameItem if undefined.<br>Allowed characters: alphanumeric, '.', ' ', '\_' and '-'.<br>Maximum length: 128 characters per hostname, 2048 characters for the entire line.| |HostnameItem|<|no| |system.hostname|Item used for generating Hostname if it is not defined. Ignored if Hostname is defined.<br>Does not support UserParameters or aliases, but does support *system.run\[\]* regardless of AllowKey/DenyKey values.<br>The output length is limited to 512KB.| |Include| |no| | |You may include individual files or all files in a directory in the configuration file.<br>During the installation Zabbix will create the include directory in /usr/local/etc, unless modified during the compile time.<br>To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: `/absolute/path/to/config/files/*.conf`.<br>Since Zabbix 6.0.0 a path can be relative to *zabbix\_agent2.conf* file location.<br>See [special notes](special_notes_include) about limitations.| |ListenIP|<|no| |0.0.0.0|List of comma-delimited IP addresses that the agent should listen on.<br>The first IP address is sent to Zabbix server, if connecting to it, to retrieve the list of active checks.| |ListenPort|<|no|1024-32767|10050|Agent will listen on this port for connections from the server.| |LogFile|<|yes, if LogType is set to *file*, otherwise<br>no| |/tmp/zabbix\_agent2.log|Log file name if LogType is 'file'.| |LogFileSize|<|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.<br>*Note*: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.| |LogType|<|no| |file|Specifies where log messages are written to:<br>*system* - syslog,<br>*file* - file specified by LogFile parameter,<br>*console* - standard output.| |PersistentBufferFile|<|no| | |The file, where Zabbix Agent2 should keep SQLite database.<br>Must be a full filename.<br>This parameter is only used if persistent buffer is enabled (*EnablePersistentBuffer=1*).| |PersistentBufferPeriod| |no|1m-365d|1h|The time period for which data should be stored, when there is no connection to the server or proxy. Older data will be lost. Log data will be preserved.<br>This parameter is only used if persistent buffer is enabled (*EnablePersistentBuffer=1*).| |PidFile|<|no| |/tmp/zabbix\_agent2.pid|Name of PID file.| |Plugin|<|no| | |Since Zabbix 6.0.0 most of the plugins have their own [configuration files](/manual/appendix/config/zabbix_agent2_plugins). The agent configuration file contains plugin parameters listed below.| | |Plugins.Log.MaxLinesPerSecond|no|1-1000|20|Maximum number of new lines the agent will send per second to Zabbix server or proxy when processing 'log' and 'eventlog' active checks.<br>The provided value will be overridden by the parameter 'maxlines',<br>provided in 'log' or 'eventlog' item key.<br>*Note*: Zabbix will process 10 times more new lines than set in *MaxLinesPerSecond* to seek the required string in log items.<br>This parameter is supported since 4.4.2 and replaces MaxLinesPerSecond.| |^|Plugins.SystemRun.LogRemoteCommands|no| |0|Enable logging of executed shell commands as warnings.<br>0 - disabled<br>1 - enabled<br>Commands will be logged only if executed remotely. Log entries will not be created if system.run\[\] is launched locally by HostMetadataItem, HostInterfaceItem or HostnameItem parameters.<br>This parameter is supported since 4.4.2 and replaces LogRemoteCommands.| |PluginSocket|<|no| |/tmp/agent.plugin.sock |Path to Unix socket for loadable plugin communications.| |PluginTimeout|<|no|1-30 |Global timeout |Timeout for connections with loadable plugins.| |RefreshActiveChecks|<|no|60-3600|120|How often the list of active checks is refreshed, in seconds.<br>Note that after failing to refresh active checks the next refresh will be attempted after 60 seconds.| |Server|<|yes| | |List of comma-delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.<br>Incoming connections will be accepted only from the hosts listed here.<br>If IPv6 support is enabled then '127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.<br>'0.0.0.0/0' can be used to allow any IPv4 address.<br>Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com<br>Spaces are allowed.| |ServerActive|<|no| | |Zabbix server/proxy address or cluster configuration to get active checks from.<br>Server/proxy address is IP address or DNS name and optional port separated by colon.<br>Cluster configuration is one or more server addresses separated by semicolon.<br>Multiple Zabbix servers/clusters and Zabbix proxies can be specified, separated by comma.<br>More than one Zabbix proxy should not be specified from each Zabbix server/cluster.<br>If Zabbix proxy is specified then Zabbix server/cluster for that proxy should not be specified.<br>Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.<br>If port is not specified, default port is used.<br>IPv6 addresses must be enclosed in square brackets if port for that host is specified.<br>If port is not specified, square brackets for IPv6 addresses are optional.<br>If this parameter is not specified, active checks are disabled.<br>Example for Zabbix proxy:<br>ServerActive=127.0.0.1:10051<br>Example for multiple servers:<br>ServerActive=127.0.0.1:20051,zabbix.domain,\[::1\]:30051,::1,\[12fc::1\]<br>Example for high availability:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>Example for high availability with two clusters and one server:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|<|no| | |Source IP address for:<br>- outgoing connections to Zabbix server or Zabbix proxy;<br>- making connections while executing some items (web.page.get, net.tcp.port, etc.)| |StatusPort|<|no|1024-32767| |If set, agent will listen on this port for HTTP status requests (http://localhost:<port>/status).| |Timeout|<|no|1-30|3|Spend no more than Timeout seconds on processing.| |TLSAccept|<|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |What incoming connections to accept. Used for a passive checks. Multiple values can be specified, separated by comma:<br>*unencrypted* - accept connections without encryption (default)<br>*psk* - accept connections with TLS and a pre-shared key (PSK)<br>*cert* - accept connections with TLS and a certificate| |TLSCAFile|<|no| | |Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.| |TLSCertFile|<|no| | |Full pathname of a file containing the agent certificate or certificate chain, used for encrypted communications with Zabbix components.| |TLSConnect|<|yes, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |How the agent should connect to Zabbix server or proxy. Used for active checks. Only one value can be specified:<br>*unencrypted* - connect without encryption (default)<br>*psk* - connect using TLS and a pre-shared key (PSK)<br>*cert* - connect using TLS and a certificate| |TLSCRLFile|<|no| | |Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications with Zabbix components.| |TLSKeyFile|<|no| | |Full pathname of a file containing the agent private key used for encrypted communications with Zabbix components.| |TLSPSKFile|<|no| | |Full pathname of a file containing the agent pre-shared key used for encrypted communications with Zabbix components.| |TLSPSKIdentity|<|no| | |Pre-shared key identity string, used for encrypted communications with Zabbix server.| |TLSServerCertIssuer|<|no| | |Allowed server (proxy) certificate issuer.| |TLSServerCertSubject|<|no| | |Allowed server (proxy) certificate subject.| |UnsafeUserParameters|<|no|0,1|0|Allow all characters to be passed in arguments to user-defined parameters.<br>The following characters are not allowed:<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>Additionally, newline characters are not allowed.| |UserParameter|<|no| | |User-defined parameter to monitor. There can be several user-defined parameters.<br>Format: UserParameter=<key>,<shell command><br>Note that shell command must not return empty string or EOL only.<br>Shell commands may have relative paths, if UserParameterDir parameter is specified.<br>Examples:<br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|<|no| | |Default search path for UserParameter commands. If used, the agent will change its working directory to the one specified here before executing a command. Thereby, UserParameter commands can have a relative `./` prefix instead of a full path.<br>Only one entry is allowed.<br>Example: UserParameterDir=/opt/myscripts|
zh-cn	#### 参数  |参数名|<|必选项|范围|默认值|描述| |---------|---------|---------|-----|-------|-----------| |Alias|<|否|||设置监控项键值的别名。可以用一个更短更简单代替长而复杂的监控项键值。<br>可能存在多个 *Alias* 参数。多个参数允许使用相同的 *Alias* 。<br>不同 *Alias* 可能引用相同的监控项键值。<br>别名可以在 *HostMetadataItem* 使用， 但不能在 *HostnameItem* 参数中使用。<br><br>示例:<br><br>1. 检索ID为“zabbix”的用户。<br>Alias=zabbix.userid:vfs.file.regexp\[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\\1\]<br>现在速记键值**zabbix.userid**可用于检索数据。<br><br>2. 通过默认和自定义参数获取CPU利用率。<br>Alias=cpu.util:system.cpu.util<br>Alias=cpu.util\[*\]:system.cpu.util\[*\]<br>这允许使用 **cpu.util** 键值获取具有默认参数的CPU利用率以及使用**cpu.util \[all,idle,avg15\]**以获取有关CPU利用率的特定数据。<br><br>3.运行多个[low-level discovery](/manual/discovery/low_level_discovery)规则处理相同的发现监控项。<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>现在可以使用**vfs.fs.discovery**为每个规则设置多个具有不同参数的发现规则，示例 **vfs.fs.discovery \[foo\]**，**vfs.fs.discovery \[bar\]** 等。| |AllowKey||否|||允许执行模式匹配到的监控项键值。键值匹配模式支持通配字符“\*”用于匹配任意数量的任何字符。<br>可以结合DenyKey定义多个键值的匹配规则。根据其出现顺序对参数进行逐一处理。<br>从Zabbix 5.0.0开始支持此参数。<br>参阅: [Restricting agent checks](/manual/config/items/restrict_checks).| |BufferSend|<|否|1-3600|5|时间间隔（以秒为单位），用于确定从缓冲区向Zabbix server发送值的频率。<br>请注意，如果缓冲区已满，则数据将尽快发送。| |BufferSize|<|否|2-65535|100|内存缓冲区中的最大容量。 如果缓冲区已满，则代理会将所有收集的数据发送到Zabbix server或proxy。<br>仅当禁用持久缓冲区时才应使用此参数 (*EnablePersistentBuffer=0*)。| |ControlSocket||否| |/tmp/agent.sock|控制套接字，用于发送带有 '-R' 选项的运行时命令。| |DebugLevel|<|否|0-5|3|指定调试级别:<br>0 - 有关启动和停止Zabbix进程的基本信息<br>1 - 关键信息<br>2 - 错误信息<br>3 - 警告<br>4 - 用于调试（产生大量信息）<br>5 - 扩展调试（产生更多信息）| |DenyKey|<|否|||拒绝执行与模式匹配的那些监控项键值。键值匹配模式是支持通配字符"\*"用于匹配任意数量的任何字符。<br>可以结合AllowKey定义多个键值的匹配规则。根据其出现顺序对参数进行逐一处理。<br>从Zabbix 5.0.0开始支持此参数。<br>参考: [Restricting agent checks](/manual/config/items/restrict_checks).| |EnablePersistentBuffer||否|0-1|0|启用本地永久性存储保存主动监控项。<br>0 - 禁用<br>1 - 启用<br>如果禁用持久性存储，则将使用内存缓冲区。| |ForceActiveChecksOnStart|<|否|0-1|0 |重启之后立即执行主动检查首次接收的配置。<br>0 - disabled<br>1 - enabled<br>也可以作为每个插件配置参数，例如： `Plugins.Uptime.System.ForceActiveChecksOnStart=1` <br> 自Zabbix 6.0.2起支持。 | |HostInterface|<|否|0-255字符||可选参数用于指定主机接口。<br>主机接口用于主机自动注册过程。<br>如果值超过255个字符的限制，agent将发出错误并且不会启动。<br>如果未定义，将从HostInterfaceItem获取值。<br>自Zabbix 4.4.0起支持。| |HostInterfaceItem|<|否|||可选参数用于定义用于获取主机接口的监控项。<br>主机接口用于主机自动注册过程。<br>在自动注册请求期间，如果指定项返回的值超过255个字符的限制，则agent将记录一条警告消息。<br>仅当未定义HostInterface时才使用此选项。<br>自Zabbix 4.4.0起支持。| |HostMetadata|<|否|0-255字符||可选参数用于指定主机元数据。主机元数据用于主机自动注册过程。<br>如果指定的值超出限制或非UTF-8字符串，则agent将发出错误，并且不会启动。<br>如果未定义，将从HostMetadataItem获取该值。| |HostMetadataItem|<|否|||可选参数用于定义用于获取主机元数据的项目。每次自动注册尝试时都会检索主机元数据项值，以进行主机自动注册过程。<br>在自动注册请求期间，如果指定项返回的值超过255个字符的限制，则agent将记录一条警告消息。<br>仅当未定义HostMetadata时才使用此选项。<br>支持UserParameters 和aliases。 不管 AllowKey/DenyKey 值如何，都支持 *system.run\[\]* 。<br>该监控项返回的值必须是UTF-8字符串，否则将被忽略。| |Hostname|<|否||通过HostnameItem设置|唯一的、区分大小写用逗号分割的主机名列表。<br>主动检查所必需，并且必须与服务器上配置的主机名匹配。如未指定则从HostnameItem获取。<br>允许的字符：字母, '.', ' ', '\_'和 '-'.<br>最大长度: 主机名128字符, 整行2048字符。| |HostnameItem|<|否||system.hostname|用于生成主机名的监控项当未定义时。如果定义了主机名，则忽略。<br>不支持 UserParameters 或 aliases,无论 AllowKey/DenyKey 值如何，都支持 *system.run\[\]* <br>最大输出限制为 512KB.| |Include|<|否|||可以在配置文件的目录中包括单个文件或所有文件。<br>在安装Zabbix过程中，除非在编译期间进行了修改，否则Zabbix将在/usr/local/etc中创建include目录。<br>要仅在指定目录中包含相关文件，模式匹配支持使用星号通配符。示例: `/absolute/path/to/config/files/*.conf`.<br>自 Zabbix 6.0.0 可使用相对路径 *zabbix\_agent2.conf* 文件定位。<br>参见 [special notes](special_notes_include) 中限制情况| |ListenIP|<|否||0.0.0.0|Agent应监听使用逗号分隔的IP地址列表。<br>第一个IP地址被发送到Zabbix server，如果已连接，以检索主动检查的列表。| |ListenPort|<|否|1024-32767|10050|Agent 将监听此端口上来自服务器的连接。| |LogFile|<|是, 如LogType设置为 *file*, 其他<br>否| |/tmp/zabbix\_agent2.log|如LogType 为'file'则记录文件名。| |LogFileSize|<|否|0-1024|1|日志文件的最大容量，以MB为单位。<br>0 - 禁用自动日志轮换。<br>*注意*: 如果达到了日志文件大小限制并且文件轮换失败，则无论出于何种原因，现有的日志文件都会被截断并重新建。| |LogType|<|否||file|指定日志消息写入的位置:<br>*system* - syslog,<br>*file* - LogFile参数指定的文件,<br>*console* - 标准输出| |PersistentBufferFile|<|否|||Zabbix Agent2用于缓存的SQLite数据库文件。<br>必须是完整的文件名。<br>仅当启用了持久缓冲区 (*EnablePersistentBuffer=1*).| |PersistentBufferPeriod|<|否|1m-365d|1h|连接 server或proxy时，应该存储数据的时间段。较旧的数据将丢失。日志数据将被保留。<br>仅当启用了持久缓冲区时才生效(*EnablePersistentBuffer=1*)。| |PidFile|<|否||/tmp/zabbix\_agent2.pid|进程ID文件。| |Plugins|<|否|||自 Zabbix 6.0.0 多数插件自身的 [configuration files](/manual/appendix/config/zabbix_agent2_plugins). 下面列出 agent 配置文件中插件参数。| ||Plugins.Log.MaxLinesPerSecond|no|1-1000|20|处理主动检查类型的“日志”和“事件日志”时，agent每秒发送给Zabbix server或proxy的最大新行数。<br>所提供的值将被 “log”或“eventlog”监控项中提供的参数“maxlines”所覆盖。<br>*注意*: Zabbix处理的新行比在 *MaxLinesPerSecond* 中设置的新行多10倍，以便在日志项中查找所需的字符串。<br>从4.4.2开始支持此参数，并替换MaxLinesPerSecond。| |<|Plugins.SystemRun.LogRemoteCommands|否| |0|启用记录执行Shell命令的警告日志。<br>0 - 禁用<br>1 - 启用<br>仅当远程执行命令时，才会记录命令。 如果通过HostMetadataItem，HostInterfaceItem或HostnameItem参数在本地启动system.run\[\]，则不会创建日志条目。<br>从4.4.2开始支持此参数，并替换LogRemoteCommands。| |PluginSocket|<|否| |/tmp/agent.plugin.sock |与外部插件连接的Unix socket 。| |PluginTimeout|<|否|1-30 |Global timeout |外部插件连接超时。| |RefreshActiveChecks|<|否|60-3600|120|刷新主动检查列表的频率（以秒为单位）。<br>请注意，刷新主动检查失败后，将在60秒后尝试进行下一次刷新。| |Server|<|yes|||点分十进制IP地址列表，可以选择使用CIDR表示法，或者Zabbix servers和 Zabbix proxies的DNS名称。<br>仅接受从此处列出的主机传入的连接。<br>如果启用了IPv6支持，则将 '127.0.0.1', '::ffff:127.0.0.1' 同等对待，并且'::/0' 将允许任何IPv4或IPv6地址。<br>'0.0.0.0/0' 可用于允许任何IPv4地址。<br>示例: Server=127.0.0.1,192.168.1.0/24，::1，2001:db8::/32，zabbix.example.com<br>允许使用空格。| |ServerActive|<|否|||主动检查Zabbix servers和 Zabbix proxies的点分十进制IP地址：端口对（或DNS名称：端口对）列表。<br>集群节点以分号分隔。<br>可以提供多个地址来并行使用多个独立的Zabbix servers，允许有空格。<br>如果未指定端口，则使用默认端口。<br>如果指定了该主机的端口，则IPv6地址必须用方括号括起来。<br>如果未指定端口，则IPv6地址的方括号是可选的。<br>如果未指定此参数，则禁用主动检查。<br>示例: ServerActive=127.0.0.1:20051，zabbix.domain，\[::1\]:30051，::1，\[12fc::1\]<br>高可用示例:<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3<br>以两个集群和一个server为例：<br>ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain| |SourceIP|<|否|||源IP用于:<br>- 出口连接Zabbix server 或 Zabbix proxy;<br>- 执行部分监控项时用的虚拟地址(web.page.get, net.tcp.port, etc.)| |StatusPort|<|否|1024-32767| |如设置，agent将在此端口上监听HTTP状态请求 (http://localhost:<port>/status).| |Timeout|<|否|1-30|3|最大耗时对应的秒数。| |TLSAccept|<|是，如果定义了TLS证书或PSK参数(甚至用于 *未加密* 的连接), 否则为否| | |指定接受哪些传入连接。用于被动检查。可以指定多个，以逗号分隔:<br> *unencrypted*  - 接受不加密的连接（默认）<br>*psk* - 接受带TLS和预共享密钥（PSK）<br>*cert* - 接受带TLS和证书的连接| |TLSCAFile|<|否|||包含用于对等证书验证的顶级CA证书的文件的完整路径名，用于Zabbix组件之间的加密通信。| |TLSCertFile|<|否|||包含agent证书或证书链的文件的完整路径名，用于与Zabbix组件进行加密通信。| |TLSConnect|<|是，如果定义了TLS证书或PSK参数(甚至用于 *未加密* 的连接), 否则为否| | |agent应如何连接到Zabbix server 或 proxy。用于主动检查。只能指定一个值：<br> *unencrypted*  - 接受不加密的连接（默认）<br>*psk* - 接受带TLS和预共享密钥（PSK）<br>*cert* - 接受带TLS和证书的连接| |TLSCRLFile|<|否|||包含已撤销证书的文件的完整路径名。此参数用于与Zabbix组件的加密通信。| |TLSKeyFile|<|否|||包含用于与Zabbix组件进行加密通信的agent专用密钥的文件的完整路径名。| |TLSPSKFile|<|否|||含用于与Zabbix组件进行加密通信的agent预共享密钥的文件的完整路径名。| |TLSPSKIdentity|<|否|||预共享密钥标识字符串，用于与Zabbix server进行加密通信。| |TLSServerCertIssuer|<|否|||允许的服务器（proxy）证书颁发者。| |TLSServerCertSubject|<|否|||允许的服务器（proxy）证书主体。| |UnsafeUserParameters|<|否|0,1|0|允许将所有字符都通过参数传递给用户定义的参数。<br>不允许使用以下字符：<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>另外，不允许使用换行符。| |UserParameter|<|否|||用户自定义的监控参数。可以有几个用户定义的参数。<br>格式: UserParameter=<key>,<shell command><br>请注意，shell命令不得返回空字符串或仅返回EOL。<br>示例: <br>UserParameter=system.test,who\|wc -l<br>UserParameter=check\_cpu,./custom\_script.sh| |UserParameterDir|<|否|||默认搜索用户自定义命令的文件路径。如使用，agent将在执行命令前改变工作目录到指定目录，此外, 可用`./`前缀的相对位置代替绝对路径。<br>仅允许一个目录<br>例如: UserParameterDir=/opt/myscripts|

en-us	#### Parameters  |Parameter|Mandatory|Range|Default|Description| |--|--|--|--|----------| |AllowedIP|yes| | |List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.<br>Incoming connections will be accepted only from the hosts listed here.<br>If IPv6 support is enabled then `127.0.0.1`, `::127.0.0.1`, `::ffff:127.0.0.1` are treated equally and `::/0` will allow any IPv4 or IPv6 address.<br>`0.0.0.0/0` can be used to allow any IPv4 address.<br>Example: `127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com`| |DebugLevel|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (produces even more information)| |ListenPort|no|1024-32767|10053|The port service listens on for connections from the server.| |LogFile|yes, if LogType is set to *file*, otherwise no| | |Log file name for LogType 'file' parameter.<br>Example: `/tmp/zabbix_web_service.log`| |LogFileSize|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.| |LogType|no|system / file / console|file|Specifies where log messages are written to:<br>*system* - syslog<br>*file* - file specified with LogFile parameter<br>*console* - standard output| |Timeout|no|1-30|3|Spend no more than Timeout seconds on processing.| |TLSAccept|no|unencrypted / cert|unencrypted|Specifies what type of connection to use:<br>*unencrypted* - accept connections without encryption (default)<br>*cert* - accept connections with TLS and a certificate| |TLSCAFile|no| | |Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.| |TLSCertFile|no| | |Full pathname of a file containing the service certificate or certificate chain, used for encrypted communications with Zabbix components.| |TLSKeyFile|no| | |Full pathname of a file containing the service private key used for encrypted communications with Zabbix components.|
zh-cn	#### 参数  |参数|是否必须|范围|默认值|描述| |---------|---------|-----|-------|-----------| |AllowedIP|是| | |逗号分隔的IP地址列表（可选CIDR表示法），或Zabbix servers和Zabbix proxies的DNS名称<br>只接受此参数列出的主机的传入连接<br>如果启用了IPv6支持，则“127.0.0.1”、“127.0.0.1”、“127:：ffff:127.0.0.1”将被同等对待，“：：/0”将允许任何IPv4或IPv6地址<br>`0.0.0.0/0`可用于允许任何IPv4地址<br>例如：`127.0.0.1192.168.1.0/24，：：12001:db8:：/32，zabbix.example.com`| |DebugLevel|否|0-5|3|指定调试级别：<br>0-关于启动和停止Zabbix进程的基本信息<br>1-关键信息<br>2-错误信息<br>3-警告<br>4-用于调试（产生大量信息）<br>5-扩展调试（产生更多信息）| |ListenPort|否|1024-32767|10053|服务监听端口。| |LogFile|是，如果 LogType 设置 *file*, 否则否| | |当LogType=file时的日志文件名。<br>例如： `/tmp/zabbix_web_service.log`| |LogFileSize|no|0-1024|1|日志文件的最大大小（MB）。<br>0 - 禁用日志自动切割。| |LogType|否|system / file / console|file|指定日志消息写入的位置：<br>*system*-syslog<br>*file*-使用日志文件参数指定的文件<br>*console*-标准输出| |Timeout|否|1-30|3|处理超时时间。| |TLSAccept|否|unencrypted / cert|unencrypted|指定要使用的连接类型：<br>*未unencrypted*-接受未加密的连接（默认值）<br>*cert*-接受带有TLS和证书的连接| |TLSCAFile|否| | |包含用于对等证书验证的顶级CA证书的文件的完整路径名，用于Zabbix组件之间的加密通信。| |TLSCertFile|否| | |包含服务证书或证书链的文件的完整路径名，用于与Zabbix组件进行加密通信。| |TLSKeyFile|否| | |包含用于与Zabbix组件进行加密通信的服务私钥的文件的完整路径名。|

en-us	#### Parameters  |Parameter|Mandatory|Range|Default|Description| |---------|---------|-----|-------|-----------| |AllowRoot|no| |0|Allow the proxy to run as 'root'. If disabled and the proxy is started by 'root', the proxy will try to switch to the 'zabbix' user instead. Has no effect if started under a regular user.<br>0 - do not allow<br>1 - allow| |AllowUnsupportedDBVersions|no| |0|Allow the proxy to work with unsupported database versions.<br>0 - do not allow<br>1 - allow| |CacheSize|no|128K-64G|8M|Size of configuration cache, in bytes.<br>Shared memory size, for storing host and item data.| |ConfigFrequency|no|1-604800|3600|How often proxy retrieves configuration data from Zabbix server in seconds.<br>Active proxy parameter. Ignored for passive proxies (see ProxyMode parameter).| |DataSenderFrequency|no|1-3600|1|Proxy will send collected data to the server every N seconds. Note that active proxy will still poll Zabbix server every second for remote command tasks.<br>Active proxy parameter. Ignored for passive proxies (see ProxyMode parameter).| |DBHost|no| |localhost|Database host name.<br>In case of MySQL localhost or empty string results in using a socket. In case of PostgreSQL<br>only empty string results in attempt to use socket.<br>In case of Oracle empty string results in using the Net Service Name connection method; in this case consider using the TNS\_ADMIN environment variable to specify the directory of the tnsnames.ora file.| |DBName|yes| | |Database name or path to database file for SQLite3 (multi-process architecture of Zabbix does not allow to use [in-memory database](https://www.sqlite.org/inmemorydb.html), e.g. `:memory:`, `file::memory:?cache=shared` or `file:memdb1?mode=memory&cache=shared`).<br><br>Warning: Do not attempt to use the same database Zabbix server is using.<br>In case of Oracle, if the Net Service Name connection method is used, specify the service name from tnsnames.ora or set to empty string; set the TWO\_TASK environment variable if DBName is set to empty string.| |DBPassword|no| | |Database password. Ignored for SQLite.<br>Comment this line if no password is used.| |DBSchema|no| | |Schema name. Used for PostgreSQL.| |DBSocket|no| |3306|Path to MySQL socket.<br>Database port when not using local socket. Ignored for SQLite.| |DBUser| | | |Database user. Ignored for SQLite.| |DBTLSConnect|no| | |Setting this option enforces to use TLS connection to database:<br>*required* - connect using TLS<br>*verify\_ca* - connect using TLS and verify certificate<br>*verify\_full* - connect using TLS, verify certificate and verify that database identity specified by DBHost matches its certificate<br><br>On MySQL starting from 5.7.11 and PostgreSQL the following values are supported: "required", "verify", "verify\_full". On MariaDB starting from version 10.2.6 "required" and "verify\_full" values are supported.<br>By default not set to any option and the behavior depends on database configuration.<br><br>This parameter is supported since Zabbix 5.0.0.| |DBTLSCAFile|no<br>(yes, if DBTLSConnect set to one of: verify\_ca, verify\_full)| | |Full pathname of a file containing the top-level CA(s) certificates for database certificate verification.<br>This parameter is supported since Zabbix 5.0.0.| |DBTLSCertFile|no| | |Full pathname of file containing Zabbix server certificate for authenticating to database.<br>This parameter is supported since Zabbix 5.0.0.| |DBTLSKeyFile|no| | |Full pathname of file containing the private key for authenticating to database.<br>This parameter is supported since Zabbix 5.0.0.| |DBTLSCipher|no| | |The list of encryption ciphers that Zabbix server permits for TLS protocols up through TLSv1.2.<br>Supported only for MySQL.<br>This parameter is supported since Zabbix 5.0.0.| |DBTLSCipher13|no| | |The list of encryption ciphersuites that Zabbix server permits for TLSv1.3 protocol.<br>Supported only for MySQL, starting from version 8.0.16.<br>This parameter is supported since Zabbix 5.0.0.| |DebugLevel|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (produces even more information)| |EnableRemoteCommands|no| |0|Whether remote commands from Zabbix server are allowed.<br>0 - not allowed<br>1 - allowed<br>This parameter is supported since Zabbix 3.4.0.| |ExternalScripts|no| |/usr/local/share/zabbix/externalscripts|Location of external scripts (depends on compile-time installation variable *datadir*).| |Fping6Location|no| |/usr/sbin/fping6|Location of fping6.<br>Make sure that fping6 binary has root ownership and SUID flag set.<br>Make empty ("Fping6Location=") if your fping utility is capable to process IPv6 addresses.| |FpingLocation|no| |/usr/sbin/fping|Location of fping.<br>Make sure that fping binary has root ownership and SUID flag set!| |HeartbeatFrequency|no|0-3600|60|Frequency of heartbeat messages in seconds.<br>Used for monitoring availability of proxy on server side.<br>0 - heartbeat messages disabled.<br>Active proxy parameter. Ignored for passive proxies (see ProxyMode parameter).| |HistoryCacheSize|no|128K-2G|16M|Size of history cache, in bytes.<br>Shared memory size for storing history data.| |HistoryIndexCacheSize|no|128K-2G|4M|Size of history index cache, in bytes.<br>Shared memory size for indexing history data stored in history cache.<br>The index cache size needs roughly 100 bytes to cache one item.<br>This parameter is supported since Zabbix 3.0.0.| |Hostname|no| |Set by HostnameItem|Unique, case sensitive Proxy name. Make sure the proxy name is known to the server!<br>Allowed characters: alphanumeric, '.', ' ', '\_' and '-'.<br>Maximum length: 128| |HostnameItem|no| |system.hostname|Item used for setting Hostname if it is undefined (this will be run on the proxy similarly as on an agent).<br>Does not support UserParameters, performance counters or aliases, but does support system.run\[\].<br><br>Ignored if Hostname is set.| |HousekeepingFrequency|no|0-24|1|How often Zabbix will perform housekeeping procedure (in hours).<br>Housekeeping is removing outdated information from the database.<br>*Note*: To prevent housekeeper from being overloaded (for example, when configuration parameters ProxyLocalBuffer or ProxyOfflineBuffer are greatly reduced), no more than 4 times HousekeepingFrequency hours of outdated information are deleted in one housekeeping cycle. Thus, if HousekeepingFrequency is 1, no more than 4 hours of outdated information (starting from the oldest entry) will be deleted per cycle.<br>*Note*: To lower load on proxy startup housekeeping is postponed for 30 minutes after proxy start. Thus, if HousekeepingFrequency is 1, the very first housekeeping procedure after proxy start will run after 30 minutes, and will repeat every hour thereafter.<br>Since Zabbix 3.0.0 it is possible to disable automatic housekeeping by setting HousekeepingFrequency to 0. In this case the housekeeping procedure can only be started by *housekeeper\_execute* runtime control option and 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.| |Include|no| | |You may include individual files or all files in a directory in the configuration file.<br>To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: `/absolute/path/to/config/files/*.conf`.<br>See [special notes](special_notes_include) about limitations.| |JavaGateway|no| | |IP address (or hostname) of Zabbix Java gateway.<br>Only required if Java pollers are started.| |JavaGatewayPort|no|1024-32767|10052|Port that Zabbix Java gateway listens on.| |ListenBacklog|no|0 - INT\_MAX|SOMAXCONN|The maximum number of pending connections in the TCP queue.<br>Default value is a hard-coded constant, which depends on the system.<br>Maximum supported value depends on the system, too high values may be silently truncated to the 'implementation-specified maximum'.| |ListenIP|no| |0.0.0.0|List of comma delimited IP addresses that the trapper should listen on.<br>Trapper will listen on all network interfaces if this parameter is missing.| |ListenPort|no|1024-32767|10051|Listen port for trapper.| |LoadModule|no| | |Module to load at proxy startup. Modules are used to extend functionality of the proxy.<br>Formats:<br>LoadModule=<module.so><br>LoadModule=<path/module.so><br>LoadModule=</abs\_path/module.so><br>Either the module must be located in directory specified by LoadModulePath or the path must precede the module name. If the preceding path is absolute (starts with '/') then LoadModulePath is ignored.<br>It is allowed to include multiple LoadModule parameters.| |LoadModulePath|no| | |Full path to location of proxy modules.<br>Default depends on compilation options.| |LogFile|yes, if LogType is set to *file*, otherwise<br>no| | |Name of log file.| |LogFileSize|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.<br>*Note*: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.| |LogRemoteCommands|no| |0|Enable logging of executed shell commands as warnings.<br>0 - disabled<br>1 - enabled<br>This parameter is supported since Zabbix 3.4.0.| |LogType|no| |file|Log output type:<br>*file* - write log to file specified by LogFile parameter,<br>*system* - write log to syslog,<br>*console* - write log to standard output.<br>This parameter is supported since Zabbix 3.0.0.| |LogSlowQueries|no|0-3600000|0|How long a database query may take before being logged (in milliseconds).<br>0 - don't log slow queries.<br>This option becomes enabled starting with DebugLevel=3.| |PidFile|no| |/tmp/zabbix\_proxy.pid|Name of PID file.| |ProxyLocalBuffer|no|0-720|0|Proxy will keep data locally for N hours, even if the data have already been synced with the server.<br>This parameter may be used if local data will be used by third party applications.| |ProxyMode|no|0-1|0|Proxy operating mode.<br>0 - proxy in the active mode<br>1 - proxy in the passive mode<br>*Note* that (sensitive) proxy configuration data may become available to parties having access to the Zabbix server trapper port when using an active proxy. This is possible because anyone may pretend to be an active proxy and request configuration data; authentication does not take place.| |ProxyOfflineBuffer|no|1-720|1|Proxy will keep data for N hours in case of no connectivity with Zabbix server.<br>Older data will be lost.| |ServerPort|no|1024-32767|10051|Port of Zabbix trapper on Zabbix server.<br>Active proxy parameter. Ignored for passive proxies (see ProxyMode parameter).| |Server|yes| | |If ProxyMode is set to *active mode*:<br>Zabbix server IP address or DNS name (address:port) or [cluster](/manual/concepts/server/ha) (address:port;address2:port) to get configuration data from and send data to.<br>If port is not specified, the default port is used.<br>Cluster nodes must be separated by a semicolon.<br><br>If ProxyMode is set to *passive mode*:<br>List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix server. Incoming connections will be accepted only from the addresses listed here. If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.<br>'::/0' will allow any IPv4 or IPv6 address. '0.0.0.0/0' can be used to allow any IPv4 address.<br>*Example*: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com| |SNMPTrapperFile|no| |/tmp/zabbix\_traps.tmp|Temporary file used for passing data from SNMP trap daemon to the proxy.<br>Must be the same as in zabbix\_trap\_receiver.pl or SNMPTT configuration file.| |SocketDir|no| |/tmp|Directory to store IPC sockets used by internal Zabbix services.<br>This parameter is supported since Zabbix 3.4.0.| |SourceIP|no| | |Source IP address for:<br>- outgoing connections to Zabbix server;<br>- agentless connections (VMware, SSH, JMX, SNMP, Telnet and simple checks);<br>- HTTP agent connections;<br>- script item JavaScript HTTP requests;<br>- preprocessing JavaScript HTTP requests;<br>- connections to the Vault| |SSHKeyLocation|no| | |Location of public and private keys for SSH checks and actions| |SSLCertLocation|no| | |Location of SSL client certificate files for client authentication.<br>This parameter is used in web monitoring only.| |SSLKeyLocation|no| | |Location of SSL private key files for client authentication.<br>This parameter is used in web monitoring only.| |SSLCALocation|no| | |Location of certificate authority (CA) files for SSL server certificate verification.<br>Note that the value of this parameter will be set as libcurl option CURLOPT\_CAPATH. For libcurl versions before 7.42.0, this only has effect if libcurl was compiled to use OpenSSL. For more information see [cURL web page](http://curl.haxx.se/libcurl/c/CURLOPT_CAPATH.html).<br>This parameter is used in web monitoring since Zabbix 2.4.0 and in SMTP authentication since Zabbix 3.0.0.| |StartDBSyncers|no|1-100|4|Number of pre-forked instances of [history syncers](/manual/concepts/proxy#proxy_process_types).<br>*Note*: Be careful when changing this value, increasing it may do more harm than good.| |StartDiscoverers|no|0-250|1|Number of pre-forked instances of [discoverers](/manual/concepts/proxy#proxy_process_types).| |StartHistoryPollers|no|0-1000|1|Number of pre-forked instances of [history pollers](/manual/concepts/proxy#proxy_process_types).<br>This parameter is supported since Zabbix 5.4.0.| |StartHTTPPollers|no|0-1000|1|Number of pre-forked instances of [HTTP pollers](/manual/concepts/proxy#proxy_process_types).| |StartIPMIPollers|no|0-1000|0|Number of pre-forked instances of [IPMI pollers](/manual/concepts/proxy#proxy_process_types).| |StartJavaPollers|no|0-1000|0|Number of pre-forked instances of [Java pollers](/manual/concepts/proxy#proxy_process_types).| |StartODBCPollers|no|0-1000|1|Number of pre-forked instances of [ODBC pollers](/manual/concepts/proxy#proxy_process_types).| |StartPingers|no|0-1000|1|Number of pre-forked instances of [ICMP pingers](/manual/concepts/proxy#proxy_process_types).| |StartPollersUnreachable|no|0-1000|1|Number of pre-forked instances of [pollers for unreachable](/manual/concepts/proxy#proxy_process_types) hosts (including IPMI and Java).<br>At least one poller for unreachable hosts must be running if regular, IPMI or Java pollers are started.| |StartPollers|no|0-1000|5|Number of pre-forked instances of [pollers](/manual/concepts/proxy#proxy_process_types).| |StartPreprocessors|no|1-1000|3|Number of pre-forked instances of preprocessing [workers](/manual/concepts/proxy#proxy_process_types)**^[1](zabbix_server#footnotes)^**.<br>The preprocessing manager process is automatically started when a preprocessor worker is started.<br>This parameter is supported since Zabbix 4.2.0.| |StartSNMPTrapper|no|0-1|0|If set to 1, [SNMP trapper](/manual/concepts/proxy#proxy_process_types) process will be started.| |StartTrappers|no|0-1000|5|Number of pre-forked instances of [trappers](/manual/concepts/proxy#proxy_process_types).<br>Trappers accept incoming connections from Zabbix sender and active agents.| |StartVMwareCollectors|no|0-250|0|Number of pre-forked [VMware collector](/manual/concepts/proxy#proxy_process_types) instances.| |StatsAllowedIP|no| | |List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of external Zabbix instances. Stats request will be accepted only from the addresses listed here. If this parameter is not set no stats requests will be accepted.<br>If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address. '0.0.0.0/0' can be used to allow any IPv4 address.<br>Example: StatsAllowedIP=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com<br>This parameter is supported since Zabbix 4.2.0.| |Timeout|no|1-30|3|Specifies how long we wait for agent, SNMP device or external check (in seconds).| |TLSAccept|yes for passive proxy, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |What incoming connections to accept from Zabbix server. Used for a passive proxy, ignored on an active proxy. Multiple values can be specified, separated by comma:<br>*unencrypted* - accept connections without encryption (default)<br>*psk* - accept connections with TLS and a pre-shared key (PSK)<br>*cert* - accept connections with TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCAFile|no| | |Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSCertFile|no| | |Full pathname of a file containing the proxy certificate or certificate chain, used for encrypted communications between Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSCipherAll|no| | |GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.<br>Example: TLS\_AES\_256\_GCM\_SHA384:TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherAll13|no| | |Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.<br>Example for GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509<br>Example for OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherCert|no| | |GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate-based encryption.<br>Example for GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509<br>Example for OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherCert13|no| | |Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate-based encryption.<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherPSK|no| | |GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for PSK-based encryption.<br>Example for GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL<br>Example for OpenSSL: kECDHEPSK+AES128:kPSK+AES128<br>This parameter is supported since Zabbix 4.4.7.| |TLSCipherPSK13|no| | |Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for PSK-based encryption.<br>Example: TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256<br>This parameter is supported since Zabbix 4.4.7.| |TLSConnect|yes for active proxy, if TLS certificate or PSK parameters are defined (even for *unencrypted* connection), otherwise no| | |How the proxy should connect to Zabbix server. Used for an active proxy, ignored on a passive proxy. Only one value can be specified:<br>*unencrypted* - connect without encryption (default)<br>*psk* - connect using TLS and a pre-shared key (PSK)<br>*cert* - connect using TLS and a certificate<br>This parameter is supported since Zabbix 3.0.0.| |TLSCRLFile|no| | |Full pathname of a file containing revoked certificates.This parameter is used for encrypted communications between Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSKeyFile|no| | |Full pathname of a file containing the proxy private key, used for encrypted communications between Zabbix components.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKFile|no| | |Full pathname of a file containing the proxy pre-shared key. used for encrypted communications with Zabbix server.<br>This parameter is supported since Zabbix 3.0.0.| |TLSPSKIdentity|no| | |Pre-shared key identity string, used for encrypted communications with Zabbix server.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertIssuer|no| | |Allowed server certificate issuer.<br>This parameter is supported since Zabbix 3.0.0.| |TLSServerCertSubject|no| | |Allowed server certificate subject.<br>This parameter is supported since Zabbix 3.0.0.| |TmpDir|no| |/tmp|Temporary directory.| |TrapperTimeout|no|1-300|300|Specifies how many seconds trapper may spend processing new data.| |User|no| |zabbix|Drop privileges to a specific, existing user on the system.<br>Only has effect if run as 'root' and AllowRoot is disabled.| |UnavailableDelay|no|1-3600|60|How often host is checked for availability during the [unavailability](/manual/appendix/items/unreachability#unavailable_host) period, in seconds.| |UnreachableDelay|no|1-3600|15|How often host is checked for availability during the [unreachability](/manual/appendix/items/unreachability#unreachable_host) period, in seconds.| |UnreachablePeriod|no|1-3600|45|After how many seconds of [unreachability](/manual/appendix/items/unreachability#unreachable_host) treat a host as unavailable.| |VaultDBPath|no| | |Vault path from where credentials for database will be retrieved by keys 'password' and 'username'.<br>Example: secret/zabbix/database<br>This option can only be used if DBUser and DBPassword are not specified.<br>This parameter is supported since Zabbix 5.2.0.| |VaultToken|no| | |Vault authentication token that should have been generated exclusively for Zabbix proxy with read-only permission to the path specified in the optional VaultDBPath configuration parameter.<br>It is an error if VaultToken and VAULT\_TOKEN environment variable are defined at the same time.<br>This parameter is supported since Zabbix 5.2.0.| |VaultURL|no| |https://127.0.0.1:8200|Vault server HTTP\[S\] URL. System-wide CA certificates directory will be used if SSLCALocation is not specified.<br>This parameter is supported since Zabbix 5.2.0.| |VMwareCacheSize|no|256K-2G|8M|Shared memory size for storing VMware data.<br>A VMware internal check zabbix\[vmware,buffer,...\] can be used to monitor the VMware cache usage (see [Internal checks](/manual/config/items/itemtypes/internal)).<br>Note that shared memory is not allocated if there are no vmware collector instances configured to start.| |VMwareFrequency|no|10-86400|60|Delay in seconds between data gathering from a single VMware service.<br>This delay should be set to the least update interval of any VMware monitoring item.| |VMwarePerfFrequency|no|10-86400|60|Delay in seconds between performance counter statistics retrieval from a single VMware service.<br>This delay should be set to the least update interval of any VMware monitoring [item](/manual/config/items/itemtypes/simple_checks/vmware_keys#footnotes) that uses VMware performance counters.| |VMwareTimeout|no|1-300|10|The maximum number of seconds vmware collector will wait for a response from VMware service (vCenter or ESX hypervisor).|  
zh-cn	#### 参数  |参数|必填|范围|默认值|描述| |----|----|----|------|----| |AllowRoot|否| |0|允许 proxy 以 ‘root’ 用户身份运行。若本参数设为禁止，且仍以 ‘root’ 用户身份启动 proxy，则 proxy 会尝试切换为以 ‘zabbix’ 用户启动。若以普通用户身份启动则本参数无效。<br>0 - 禁止<br>1 - 允许| |AllowUnsupportedDBVersions|否| |0|允许 proxy 在不支持的数据库版本下工作。<br>0 - 禁止<br>1 - 允许| |CacheSize|否|128K-64G|8M|配置缓存的大小，单位为字节。<br>用于存储主机和监控项数据的共享内存大小。| |ConfigFrequency|否|1-604800|3600|proxy 从 Zabbix server 获取配置数据的频率，单位为秒。<br>本参数仅在 proxy 为主动模式时有效，在 proxy 为被动模式时无效（详见参数 ProxyMode）。| |DataSenderFrequency|否|1-3600|1|Proxy 上报采集到的数据的频率，单位为秒。注意，主动 proxy 仍然会每秒轮询 Zabbix server 以获取远程命令任务。<br>本参数仅在 proxy 为主动模式时有效，在 proxy 为被动模式时无效（详见参数 ProxyMode）。| |DBHost|否| |localhost|数据库主机名。<br>在数据库为 MySQL 时，localhost 或 空字符串会导致使用套接字 socket。<br>在数据库为 PostgreSQL 时，只有空字符串会导致使用套接字 socket。<br>在数据库为 Oracle 时，空字符串会导致使用网络服务名连接方式；此时，请考虑使用环境变量 TNS\_ADMIN 来定义 tnsnames.ora 文件的地址。| |DBName|是| | |数据库名称，当数据库为 SQLite3 时则为数据库文件的路径（Zabbix 的多进程架构不允许使用 [内存数据库](https://www.sqlite.org/inmemorydb.html)，比如 `:memory:`，`file::memory:?cache=shared` 或 `file:memdb1?mode=memory&cache=shared`）。<br><br>警告：不要使用 Zabbix server 正在使用的数据库。<br>在数据库为 Oracle 时，若使用了网络服务名连接方式，则需要在 tnsnames.ora 里明确服务名，或设置为空字符串；若 DBName 被设为空字符串，则需要设置环境变量 TWO\_TASK 。| |DBPassword|否| | |数据库密码。在数据库为 SQLite 时无效。<br>若未使用密码，请注释该行。| |DBSchema|否| | |Schema 名。仅用于 PostgreSQL。| |DBSocket|否| |3306|MySQL 套接字文件的地址。<br>当不使用本地套接字时则为数据库端口。当数据库为 SQLite 时无效。| |DBUser| | | |数据库用户。当数据库为 SQLite 时无效。| |DBTLSConnect|否| | |设置本参数将强制使用 TLS 连接数据库：<br>*required* - 使用 TLS 连接<br>*verify\_ca* - 使用 TLS 连接并校验证书<br>*verify\_full* - 使用 TLS 连接并校验证书，并校验 DBHost 所定义的数据库标识是否符合该证书<br><br>在 MySQL 5.7.11及之后版本以及 PostgreSQL 中支持下列值：“required”，“verify”，“verify\_full”。<br>在 MariaDB 10.2.6 及之后版本中支持 “required”和“verify\_full”。<br>默认情况下未设置为任何值，此时行为逻辑以数据库配置为准。<br><br>自 Zabbix 5.0.0开始支持本参数。| |DBTLSCAFile|否<br>（若 DBTLSConnect 为下列值之一则为是：verify\_ca，verify\_full）| | |用于数据库证书校验的顶级 CA 证书文件的完整路径名。<br>自 Zabbix 5.0.0开始支持本参数。| |DBTLSCertFile|否| | |用于数据库授权的 Zabbix server 证书文件的完整路径名。<br>自 Zabbix 5.0.0开始支持本参数。| |DBTLSKeyFile|否| | |用于数据库授权的私钥文件的完整路径名。<br>自 Zabbix 5.0.0开始支持本参数。| |DBTLSCipher|否| | |Zabbix server 允许在 TLSv1.2 及更低版本协议中使用的加密密码列表。<br>只支持 MySQL。<br>自 Zabbix 5.0.0开始支持本参数。| |DBTLSCipher13|否| | |Zabbix server 允许在 TLSv1.3 版本协议中使用的加密密码套件列表。<br>只支持 MySQL 8.0.16及之后版本。<br>自 Zabbix 5.0.0开始支持本参数。| |DebugLevel|否|0-5|3|指定调试级别：<br>0 - Zabbix 进程启停的基础信息<br>1 - 严重（critical）信息<br>2 - 错误（error）信息<br>3 - 警告（warning）信息<br>4 - 调试（debugging）信息，会产生大量信息<br>5 - 扩展调试（extended debugging）信息，会产生更大量的信息| |EnableRemoteCommands|否| |0|是否允许来自 Zabbix server 的远程命令。<br>0 - 禁止<br>1 - 允许<br>自 Zabbix 3.4.0开始支持本参数。| |ExternalScripts|否| |/usr/local/share/zabbix/externalscripts|外部脚本的位置（取决于编译时的安装变量 *datadir*）。| |Fping6Location|否| |/usr/sbin/fping6|fping6 的位置。<br>确保 fping6 二进制文件具有 root 用户所有权和 SUID 标识。<br>若你的 fping 程序能处理 IPv6 地址，则设置本参数为空（“Fping6Location=”）。| |FpingLocation|否| |/usr/sbin/fping|fping 的位置。<br>确保 fping 二进制文件具有根所有权和 SUID 标识！| |HeartbeatFrequency|否|0-3600|60|心跳消息的频率，单位为秒。<br>用于在服务器侧监控 proxy 的可用性。<br>0 - 禁用心跳消息。<br>本参数仅在 proxy 为主动模式时有效，在 proxy 为被动模式时无效（详见参数 ProxyMode）。| |HistoryCacheSize|否|128K-2G|16M|历史数据的缓存大小，单位为字节。<br>用于存储历史数据的共享内存大小。| |HistoryIndexCacheSize|否|128K-2G|4M|历史数据索引缓存的大小，单位为字节。<br>在历史数据缓存中用于索引历史数据的共享内存大小。<br>为了缓存一个监控项，索引缓存需要约100字节的空间。<br>自 Zabbix 3.0.0开始支持本参数。| |Hostname|否| |由参数 HostnameItem 设置|唯一且大小写敏感的 proxy 名称。确保 server 端知道 proxy 的名称！<br>允许的字符：字母，数字，‘.’，‘ ’，‘\_’ 和‘-’。<br>最大长度：128| |HostnameItem|否| |system.hostname|当 Hostname 未定义时，本参数的监控项用于设置 Hostname（这将在 proxy 端执行，与 agent 端类似）。<br>本参数不支持 UserParameters，performance counters 和 aliases，但支持 system.run\[\]。<br><br>若 Hostname 已设置，则忽略本参数。| |HousekeepingFrequency|否|0-24|1|Zabbix 执行 housekeeping 程序的频率（单位为小时）。<br>Housekeeping 会从数据库移除过期信息。<br>*注意*：为了防止 housekeeping 负载过大（例如，当配置参数 ProxyLocalBuffer 或 ProxyOfflineBuffer 被大大减小时），在一个 housekeeping 周期内只能删除不超过4倍 HousekeepingFrequency 时间范围内的过期信息。因此，若 HousekeepingFrequency 是1，则每个周期只会删除不超过4小时的过期信息（从最老的数据条目开始）。<br>*注意*：为了减少 proxy 启动时的负载，housekeeping 会在 proxy 启动后延迟30分钟开始执行。因此，若 HousekeepingFrequency 是1，则第一次 housekeeping 程序会在 proxy 启动的30分钟后开始执行，并会自此每小时重复执行一次。<br>自 Zabbix 3.0.0开始，可以通过设置 HousekeepingFrequency 为0来禁止 housekeeping 程序的自动执行。此时 housekeeping 程序仅能被 *housekeeper\_execute* 运行时控制选项所执行，且在一个 housekeeping 周期内所删除过期信息的时间范围是自上次 housekeeping 到现在的时间的4倍，但不少于4小时且不多于4天。| |Include|否| | |你可以引入配置文件中所定义目录下的单独几个或所有文件。<br>为了仅引入指定目录下的相关文件，可以使用星号通配符进行模式匹配。例如：`/absolute/path/to/config/files/*.conf`。<br>有关限制，请参阅[特别说明](special_notes_include)。| |JavaGateway|否| | |Zabbix Java 网关的 IP 地址（或主机名）。<br>仅在 Java 轮询器启动时才需要该参数。| |JavaGatewayPort|否|1024-32767|10052|Zabbix Java 网关监听的端口。| |ListenBacklog|否|0 - INT\_MAX|SOMAXCONN|TCP 队列的最大挂起连接数。<br>默认值是取决于系统的硬编码常量。<br>支持的最大值取决于系统，过高的值可能会被静默截短为“实现指定的最大值”。| |ListenIP|否| |0.0.0.0|trapper 应该监听的 IP 地址列表（由英文逗号分隔）。<br>若未设置本参数，则 trapper 会监听所有网络接口。| |ListenPort|否|1024-32767|10051|trapper 的监听端口。| |LoadModule|否| | |proxy 启动时要加载的模块。模块用来扩展 proxy 的功能。<br>格式：<br>LoadModule=<module.so><br>LoadModule=<path/module.so><br>LoadModule=</abs\_path/module.so><br>模块必须位于 LoadModulePath 指定的目录中，或路径必须位于模块名之前。若模块名前的路径是绝对路径（以‘/’开头），则忽略 LoadModulePath。<br>允许添加多个 LoadModule 参数。| |LoadModulePath|否| | |proxy 模块的完整路径。<br>默认值取决于编译选项。| |LogFile|若 LogType 设为 *file* 则为是，<br>否则为否| | |日志文件的名称。| |LogFileSize|否|0-1024|1|日志文件的最大容量，单位为 MB。<br>0 - 禁用自动的日志滚动。<br>*注意*：若达到日志文件大小的最大限制且文件滚动失败，则无论出于何种原因，现有的日志文件会被截断并开始重新记录。| |LogRemoteCommands|否| |0|允许将已执行的 shell 命令记录为警告。<br>0 - 禁止<br>1 - 允许<br>自 Zabbix 3.4.0开始支持本参数。| |LogType|否| |file|日志输出的类型：<br>*file* - 将日志写入 LogFile 参数指定的文件中，<br>*system* - 将日志写入 syslog，<br>*console* - 将日志用控制台进行标准输出。<br>自 Zabbix 3.0.0开始支持本参数。| |LogSlowQueries|否|0-3600000|0|多慢的数据库查询会被记入日志（单位为毫秒）。<br>0 - 不记录慢查询日志。<br>DebugLevel=3时开始支持使用本参数。| |PidFile|否| |/tmp/zabbix\_proxy.pid|PID 的文件名称。| |ProxyLocalBuffer|否|0-720|0|即使数据已同步到 server，proxy 也会在本地保留数据 N 小时。<br>本参数适用于本地数据会被第三方应用使用的场景。| |ProxyMode|否|0-1|0|proxy 的工作模式。<br>0 - proxy 为主动模式<br>1 - proxy 为被动模式<br>*注意*：使用主动模式的 proxy 时，有权访问 Zabbix server trapper 端口的各方可以获取（敏感的）proxy 配置数据。会出现这种情况，是因为任何人都可以假装自己是主动模式的 proxy 并请求配置数据；此时并不会进行身份验证。| |ProxyOfflineBuffer|否|1-720|1|proxy 与 Zabbix server 断开连接时，会将数据保留 N 小时。<br>更早的数据会丢失。| |ServerPort|否|1024-32767|10051|Zabbix server 上 Zabbix trapper 的端口。<br>本参数仅在 proxy 为主动模式时有效，在 proxy 为被动模式时无效（详见参数 ProxyMode）。| |Server|是| | |若 ProxyMode 设置为 *主动模式*：<br>则本参数是 Zabbix server 的 IP 地址或 DNS 名称（地址:端口）或[集群](/manual/concepts/server/ha)（地址:端口;地址2:端口），用以实现从其获取配置数据以及报送数据给它的功能。<br>若未指定端口，则会使用默认端口。<br>集群节点必须由英文分号分隔。<br><br>若 ProxyMode 设置为 *被动模式*：<br>则本参数是英文逗号分隔的 Zabbix server 的 IP 地址列表（可选择用 CIDR 表示法表达），或 DNS 名称列表。仅接受来自此处配置地址的传入连接。若支持 IPv6，则‘127.0.0.1’、‘::127.0.0.1’、‘::ffff:127.0.0.1’是等效的。<br>‘::/0’将允许任意 IPv4或 IPv6地址。<br>‘0.0.0.0/0’可以用来允许任意 IPv4地址。<br>*例如*：Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com| |SNMPTrapperFile|否| |/tmp/zabbix\_traps.tmp|本参数定义了临时文件，用于将 SNMP trap 守护进程的数据传输到 proxy。<br>必须与 zabbix\_trap\_receiver.pl 或 SNMPTT 配置文件中的一样。| |SocketDir|否| |/tmp|用于存储内部 Zabbix 服务所使用的 IPC 套接字的目录。<br>自 Zabbix 3.4.0开始支持本参数。| |SourceIP|否| | |用于以下目的的源 IP 地址：<br>- 到 Zabbix server 的传出连接；<br>- 无代理连接（VMware，SSH，JMX，SNMP，Telnet 和简单检查）；<br>- HTTP 代理连接；<br>- JavaScript HTTP 请求的脚本对象；<br>- JavaScript HTTP 请求的预处理；<br>- 到机密库的连接| |SSHKeyLocation|否| | |SSH 检查和操作所用公钥和密钥的地址。| |SSLCertLocation|否| | |客户端身份验证所用的 SSL 客户端证书文件的地址。<br>本参数仅用于 web 监控。| |SSLKeyLocation|否| | |客户端身份验证所用的 SSL 私钥文件的地址。<br>本参数仅用于 web 监控。| |SSLCALocation|否| | |SSL 服务器证书验证所用的证书颁发机构（CA）文件的地址。<br>注意本参数的值将被设置为 libcurl 选项 CURLOPT\_CAPATH 的值。对早于7.42.0的 libcurl 版本，这将仅在 libcurl 被编译为使用 OpenSSL 时生效。更多信息请参阅[cURL 网页](http://curl.haxx.se/libcurl/c/CURLOPT_CAPATH.html)。<br>本参数自 Zabbix 2.4.0以来用于 web 监控，自 Zabbix 3.0.0以来用于 SMTP 认证。| |StartDBSyncers|否|1-100|4|[历史数据同步器](/manual/concepts/proxy#proxy_process_types)的初始实例数。<br>*注意*：请谨慎修改本参数，增大它可能坏处多过好处。| |StartDiscoverers|否|0-250|1|[发现进程](/manual/concepts/proxy#proxy_process_types)的初始实例数。| |StartHistoryPollers|否|0-1000|1|[历史数据轮询器](/manual/concepts/proxy#proxy_process_types)的初始实例数。<br>自 Zabbix 5.4.0开始支持本参数。| |StartHTTPPollers|否|0-1000|1|[HTTP 轮询器](/manual/concepts/proxy#proxy_process_types)的初始实例数。| |StartIPMIPollers|否|0-1000|0|[IPMI 轮询器](/manual/concepts/proxy#proxy_process_types)的初始实例数。| |StartJavaPollers|否|0-1000|0|[Java 轮询器](/manual/concepts/proxy#proxy_process_types)的初始实例数。| |StartODBCPollers|否|0-1000|1|[ODBC 轮询器](/manual/concepts/proxy#proxy_process_types)的初始实例数。| |StartPingers|否|0-1000|1|[ICMP ping 进程](/manual/concepts/proxy#proxy_process_types)的初始实例数。| |StartPollersUnreachable|否|0-1000|1|[不可达主机轮询器](/manual/concepts/proxy#proxy_process_types)（包括 IPMI 和 Java）的初始实例数。<br>若启动了普通、IPMI 或 Java 轮询器，则至少要运行一个不可达主机轮询器。| |StartPollers|否|0-1000|5|[轮询器](/manual/concepts/proxy#proxy_process_types)的初始实例数。| |StartPreprocessors|否|1-1000|3|[预处理工作进程](/manual/concepts/proxy#proxy_process_types)**^[1](zabbix_server#footnotes)^**的初始实例数。<br>预处理工作进程启动时，预处理管理进程将自动启动。<br>自 Zabbix 4.2.0开始支持本参数。| |StartSNMPTrapper|否|0-1|0|若设置为1，则 [SNMP trapper](/manual/concepts/proxy#proxy_process_types) 进程将启动。| |StartTrappers|否|0-1000|5|[trappers](/manual/concepts/proxy#proxy_process_types) 的初始实例数。<br>trapper 接受来自 Zabbix sender 和主动 agent 的连接。| |StartVMwareCollectors|否|0-250|0|[VMware 采集器](/manual/concepts/proxy#proxy_process_types)的初始实例数。| |StatsAllowedIP|否| | |英文逗号分隔的外部 Zabbix 实例的 IP 地址列表（可选择用 CIDR 表示法表达），或 DNS 名称列表。仅接受来自此处列出地址的统计数据请求。若未设置本参数，则禁止任何统计数据请求。<br>若支持 IPv6，则‘127.0.0.1’、‘::127.0.0.1’、‘::ffff:127.0.0.1’是等效的，且‘::/0’将允许任意 IPv4或 IPv6地址。‘0.0.0.0/0’将允许任意 IPv4地址。<br>*例如*：StatsAllowedIP=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com<br>自 Zabbix 4.2.0开始支持本参数。| |Timeout|否|1-30|3|定义 agent、SNMP 设备和外部检查的超时时长（单位为秒）。| |TLSAccept|若在被动 proxy 下定义了 TLS 认证或 PSK 参数（即使是 *未加密* 的连接）则为是，<br>否则为否| | |接受来自 Zabbix server 的哪些传入连接。用于被动模式的 proxy，在主动模式的 proxy 下无效。可定义多个值，用英文逗号分隔：<br>*unencrypted* - 接受未加密连接（默认）<br>*psk* - 接受带 TLS 和预共享秘钥（PSK）的连接<br>*cert* - 接受带 TLS 和证书的连接<br>自 Zabbix 3.0.0开始支持本参数。| |TLSCAFile|否| | |顶级 CA 证书文件的完整路径名，该文件用于和 Zabbix 组件间加密通信中的对等证书校验。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSCertFile|否| | |包含 proxy 证书或证书链的文件的完整路径名，该文件用于和 Zabbix 组件间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSCipherAll|否| | |GnuTLS 优先级字符串或 OpenSSL（TLS 1.2）密码字符串。覆盖基于证书和 PSK 加密的默认密码套件选择条件。<br>例如：TLS\_AES\_256\_GCM\_SHA384:TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherAll13|否| | |在 TLS 1.3下用于 OpenSSL 1.1.1版或更新版本的密码字符串。覆盖基于证书和 PSK 加密的默认密码套件选择条件。<br>GnuTLS 的例子：NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509<br>OpenSSL 的例子：EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherCert|否| | |GnuTLS 优先级字符串或 OpenSSL（TLS 1.2）密码字符串。覆盖基于证书加密的默认密码套件选择条件。<br>GnuTLS 的例子：NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509<br>OpenSSL 的例子：EECDH+aRSA+AES128:RSA+aRSA+AES128<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherCert13|否| | |在 TLS 1.3下用于 OpenSSL 1.1.1版或更新版本的密码字符串。覆盖基于证书加密的默认密码套件选择条件。<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherPSK|否| | |GnuTLS 优先级字符串或 OpenSSL（TLS 1.2）密码字符串。覆盖基于 PSK 加密的默认密码套件选择条件。<br>GnuTLS 的例子：NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL<br>OpenSSL 的例子：kECDHEPSK+AES128:kPSK+AES128<br>自 Zabbix 4.4.7开始支持本参数。| |TLSCipherPSK13|否| | |在 TLS 1.3下用于 OpenSSL 1.1.1版或更新版本的密码字符串。覆盖基于 PSK 加密的默认密码套件选择条件。<br>Example: TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256<br>自 Zabbix 4.4.7开始支持本参数。| |TLSConnect|若在主动 proxy 下定义了 TLS 认证或 PSK 参数（即使是 *未加密* 的连接）则为是，<br>否则为否| | |proxy 该如何连接到 Zabbix server。本参数仅在 proxy 为主动模式时有效，在 proxy 为被动模式时无效。仅可以选择一种连接方式：<br>*unencrypted* - 无加密连接（默认）<br>*psk* - 使用 TLS 和预共享秘钥（PSK）的连接<br>*cert* - 使用 TLS 和证书的连接<br>自 Zabbix 3.0.0开始支持本参数。| |TLSCRLFile|否| | |包含已吊销证书的文件的完整路径名。本参数用于和 Zabbix 组件间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSKeyFile|否| | |包含 proxy 私钥的文件的完整路径名，该文件用于和 Zabbix 组件间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSPSKFile|否| | |包含 proxy 预共享秘钥（PSK）的文件的完整路径名，该文件用于和 Zabbix server 之间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSPSKIdentity|否| | |预共享秘钥（PSK）标识字符串，用于和 Zabbix server 之间的加密通信。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSServerCertIssuer|否| | |允许的 server 证书颁发者。<br>自 Zabbix 3.0.0开始支持本参数。| |TLSServerCertSubject|否| | |允许的 server 证书使用者。<br>自 Zabbix 3.0.0开始支持本参数。| |TmpDir|否| |/tmp|临时目录。| |TrapperTimeout|否|1-300|300|定义 trapper 处理新数据的超时时间（单位为秒）。| |User|否| |zabbix|降低权限为一个系统内已存在的用户。<br>仅当以‘root’用户身份运行且 AllowRoot 参数设置为禁用时，本参数才生效。| |UnavailableDelay|否|1-3600|60|在[不可用](/manual/appendix/items/unreachability#unavailable_host)期间检查主机可用性的频率（单位为秒）。| |UnreachableDelay|否|1-3600|15|在[不可达](/manual/appendix/items/unreachability#unreachable_host)期间检查主机可用性的频率（单位为秒）。| |UnreachablePeriod|否|1-3600|45|主机在持续多少秒的[不可达](/manual/appendix/items/unreachability#unreachable_host)状态后会被认为是不可用。| |VaultDBPath|否| | |机密库路径，从中将按键名‘password’和‘username’检索数据库凭据。<br>例如：secret/zabbix/database<br>仅当 DBUser 和 DBPassword 未设置时可使用本参数。<br>自 Zabbix 5.2.0开始支持本参数。| |VaultToken|否| | |机密库身份验证令牌，该令牌应专门为 Zabbix proxy 生成，且对可选 VaultDBPath 配置参数中指定的路径具有只读权限。<br>若同时定义了环境变量 VaultToken 和 VAULT_TOKEN 则会出错。<br>自 Zabbix 5.2.0开始支持本参数。| |VaultURL|否| |https://127.0.0.1:8200|机密库服务的 HTTP\[S\] URL。若未设置 SSLCALocation，则将使用系统范围内的 CA 证书目录。<br>自 Zabbix 5.2.0开始支持本参数。| |VMwareCacheSize|否|256K-2G|8M|用于存储 VMware 数据的共享内存大小。<br> VMware 内部检查 zabbix\[vmware,buffer,...\]可用于监控 VMware 缓存使用情况（请参阅[内部检查](/manual/config/items/itemtypes/internal)）。<br>请注意，若没有配置为启动的 vmware 收集器实例，则不会分配共享内存。| |VMwareFrequency|否|10-86400|60|从单个 VMware 服务收集数据的频率（单位为秒）。<br>本参数应设置为所有 VMware 监控项中的最小更新间隔值。| |VMwarePerfFrequency|否|10-86400|60|从单个 VMware 服务检索性能计数器统计信息的频率（单位为秒）。<br>本参数应设置为所有使用 VMware 性能计数器的 VMware [监控项](/manual/config/items/itemtypes/simple_checks/vmware_keys#footnotes)中的最小更新间隔值。| |VMwareTimeout|否|1-300|10|vmware 采集器等待来自 VMware 服务（vCenter 或 ESX hypervisor）响应的最大秒数。|  

en-us	#### Parameters  Parameters in this file that could be of interest to users:  -   ZBX\_MIN\_PERIOD  Minimum graph period, in seconds. One minute by default.  -   GRAPH\_YAXIS\_SIDE\_DEFAULT  Default location of Y axis in simple graphs and default value for drop down box when adding items to custom graphs. Possible values: 0 - left, 1 - right.  Default: 0  -   ZBX\_SESSION\_NAME (available since 4.0.0)  String used as the name of the Zabbix frontend session cookie.  Default: zbx\_sessionid  -   ZBX\_DATA\_CACHE\_TTL (available since 5.2.0)  TTL timeout in seconds used to invalidate data cache of [Vault response](/manual/config/secrets). Set 0 to disable Vault response caching.  Default: 60  -   SUBFILTER\_VALUES\_PER\_GROUP (available since 6.0.5)  Number of subfilter values per group (For example, in the [latest data](/manual/web_interface/frontend_sections/monitoring/latest_data) subfilter).  Default: 1000
zh-cn	#### 参数  此文件中用户可能感兴趣的参数：  -   ZBX\_MIN\_PERIOD  最小图表周期，以秒为单位。 默认为一分钟。  -   GRAPH\_YAXIS\_SIDE\_DEFAULT  向自定义图表添加项目时，简单图表中 Y 轴的默认位置和下拉框的默认值。 可能的值：0 - 左，1 - 右。  默认值：0  -   ZBX\_SESSION\_NAME（自 4.0.0 起可用）  用作 Zabbix 前端会话 cookie 名称的字符串。  默认值：zbx\_sessionid  -   ZBX\_DATA\_CACHE\_TTL（从 5.2.0 开始可用）  用于使 [Vault 响应](/manual/config/secrets) 的数据缓存无效的 TTL 超时秒数。 设置 0 以禁用 Vault 响应缓存。  默认值：60  -   SUBFILTER\_VALUES\_PER\_GROUP (自 6.0.5 起可用)  每组子过滤值的数量（例如，[最新数据](/manual/web_interface/frontend_sections/monitoring/latest_data)的子过滤）。  默认值：1000

en-us	### Parameters  `(string/array)` IDs of hosts to return scripts for.
zh-cn	### 参数 `(字符串/数组)` 用于检索脚本的主机ID。

en-us	### Parameters  `(string/array)` Triggers to delete the trigger dependencies from.
zh-cn	### 参数  `(string/array)` 需要从触发依赖中删除的触发器.

en-us	#### Parameters  The following parameters are available for this item:  -   **active** - memory currently in use or very recently used, and so     it is in RAM -   **anon** - memory not associated with a file (cannot be re-read from     it) -   **available** - available memory, calculated differently depending     on the platform (see the table below) -   **buffers** - cache for things like file system metadata -   **cached** - cache for various things -   **exec** - executable code, typically from a (program) file -   **file** - cache for contents of recently accessed files -   **free** - memory that is readily available to any entity requesting     memory -   **inactive** - memory that is marked as not used -   **pavailable** - 'available' memory as percentage of 'total'     (calculated as `available`/`total`\*100) -   **pinned** - same as 'wired' -   **pused** - 'used' memory as percentage of 'total' (calculated as     `used`/`total`\*100) -   **shared** - memory that may be simultaneously accessed by multiple     processes -   **slab** - total amount of memory used by the kernel to cache data     structures for its own use -   **total** - total physical memory available -   **used** - used memory, calculated differently depending on the     platform (see the table below) -   **wired** - memory that is marked to always stay in RAM. It is never     moved to disk.  ::: notewarning Some of these parameters are platform-specific and might not be available on your platform. See [Items supported by platform](/manual/appendix/items/supported_by_platform) for details. :::  Platform-specific calculation of **available** and **used**:  |Platform|**"available"**|**"used"**| |--------|---------------|----------| |*AIX*|free + cached|real memory in use| |*FreeBSD*|inactive + cached + free|active + wired + cached| |*HP UX*|free|total - free| |*Linux<3.14*|free + buffers + cached|total - free| |*Linux 3.14+*<br>(also backported to 3.10 on RHEL 7)|/proc/meminfo, see "MemAvailable" in Linux kernel [documentation](https://www.kernel.org/doc/Documentation/filesystems/proc.txt) for details.<br>Note that free + buffers + cached is no longer equal to 'available' due to not all the page cache can be freed and low watermark being used in calculation.|total - free| |*NetBSD*|inactive + execpages + file + free|total - free| |*OpenBSD*|inactive + free + cached|active + wired| |*OSX*|inactive + free|active + wired| |*Solaris*|free|total - free| |*Win32*|free|total - free|  ::: noteimportant The sum of *vm.memory.size\[used\]* and *vm.memory.size\[available\]* does not necessarily equal total. For instance, on FreeBSD:\ \* Active, inactive, wired, cached memories are considered used, because they store some useful information.\ \* At the same time inactive, cached, free memories are considered available, because these kinds of memories can be given instantly to processes that request more memory.\ \ So inactive memory is both used and available simultaneously. Because of this, the *vm.memory.size\[used\]* item is designed for informational purposes only, while *vm.memory.size\[available\]* is designed to be used in triggers. :::
zh-cn	 #### Parameters 以下参数可用于此监控项：  -   **active** - 当前正在使用或最近使用的内存，以及RAM中的内存 -   **anon** - 与文件无关的内存（不能读取） -   **available** - 可用内存，计算方式不同，具体取决于平台（见下表） -   **buffers** - 缓存文件系统元数据等内容 -   **cached** - 缓存各种内容 -   **exec** - 可执行代码，通常来自（程序）文件 -   **file** - 缓存最近访问的文件的内容 -   **free** - 任何实体都可以随时使用的内存 -   **inactive** - 标记为未使用的内存 -   **pavailable** - “可用”内存占“总”的百分比 （计算为 `available`/`total`\*100） -   **pinned** - 与“wired”相同 -   **pused** - “used”内存占“total”的百分比（计算为 `使用`/`总计`\*100) -   **shared** - 可以被多个同时访问的内存 -   **slab** - 内核用于缓存数据结构以供自己使用的内存总量 -   **total** - 总物理内存 -   **used** - 使用的内存，计算方式不同，具体取决于平台（见下表） -   **wired** - 标记为始终保留在 RAM 中的内存。它永远不会移动到磁盘。  ::: notewarning 其中一些参数是特定平台的，并且可能在您的平台上不适用。详细请查看 [Items supported by platform](/manual/appendix/items/supported_by_platform) 。 :::  **available** 和 **used** 的平台特定计算：  |平台|**"available"**|**"used"**| |--------|---------------|----------| |*AIX*|free + cached|real memory in use| |*FreeBSD*|inactive + cached + free|active + wired + cached| |*HP UX*|free|total - free| |*Linux<3.14*|free + buffers + cached|total - free| |*Linux 3.14+*<br>(在 RHEL 7 上向后移植到 3.10内核)|/proc/meminfo, see "MemAvailable" 在 Linux 内核中 [documentation](https://www.kernel.org/doc/Documentation/filesystems/proc.txt) 详细介绍.<br>请注意，free + buffers + cached 不再等于“可用”，因为并非所有页面缓存都可以被释放并且计算中使用了低水位线.|total - free| |*NetBSD*|inactive + execpages + file + free|total - free| |*OpenBSD*|inactive + free + cached|active + wired| |*OSX*|inactive + free|active + wired| |*Solaris*|free|total - free| |*Win32*|free|total - free|  ::: noteimportant *vm.memory.size\[used\]* 和 *vm.memory.size\[available\]* 不一定等于总数。例如，在FreeBSD上：\ \* Active, inactive, wired, cached内存被认为是使用的，因为 他们存储一些有用的信息。\ * 同时考虑 inactive, cached, free的内存 可用，因为这些类型的记忆可以立即给予 请求更多内存的进程。\ \ 所以不活动的内存是同时可以是使用和可用的。 正因为如此, 监控项*vm.memory.size\[used\]*只用来获得信息, 监控项 *vm.memory.size\[available\]* 在触发器中使用。 :::

en-us	### Parameters  The method accepts the following parameters.  |Parameter|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |extend|boolean|Default value: "true". Setting it's value to "false" allows to check session without extending it's lifetime. Supported since Zabbix 4.0.| |sessionid|string|User session id.|
zh-cn	### 参数  此方法接受如下参数.  |参数|[类型](/manual/api/reference_commentary#data_types)|描述| |---------|---------------------------------------------------|-----------| |extend|boolean|默认值: "true". 将其值设置为"false"将只会检查会话，不会延长会话有效期. 从 Zabbix 4.0 开始支持.| |sessionid|string|用户会话ID.|

en-us	### Parameters  The method accepts the following parameters.  |Parameter|[Type](/manual/api/reference_commentary#data_types)|Description| |---------|---------------------------------------------------|-----------| |extend|boolean|Default value: "true". Setting it's value to "false" allows to check session without extending it's lifetime. Supported since Zabbix 4.0.| |sessionid|string|User session id.|
zh-cn	### 参数  此方法接受如下参数.  |参数|[类型](/manual/api/reference_commentary#data_types)|描述| |---------|---------------------------------------------------|-----------| |extend|boolean|默认值: "true". 将其值设置为"false"将只会检查会话，不会延长会话有效期. 从 Zabbix 4.0 开始支持.| |sessionid|string|用户会话ID.|

en-us	#### Parameter - unquoted string  If the key parameter is an unquoted string, any Unicode character is allowed except comma and right square bracket (\]). Unquoted parameter cannot start with left square bracket (\[).  ![](../../../../../assets/en/manual/config/key_param_unquoted_string.png)
zh-cn	#### 参数 - 不带引号的字符串  如果键值的参数是一个不带引号的字符串，可使用除逗号和右方括号（\]）之外的任何 Unicode 字符。不带引号的参数不能以左方括号（\[）开头。  ![](../../../../../assets/en/manual/config/key_param_unquoted_string.png)

en-us	##### Passive and active checks  Zabbix agents can perform passive and active checks.  In a [passive check](/manual/appendix/items/activepassive#passive_checks) the agent responds to a data request. Zabbix server (or proxy) asks for data, for example, CPU load, and Zabbix agent sends back the result.  [Active checks](/manual/appendix/items/activepassive#active_checks) require more complex processing. The agent must first retrieve a list of items from Zabbix server for independent processing. Then it will periodically send new values to the server.  Whether to perform passive or active checks is configured by selecting the respective monitoring [item type](/manual/config/items/itemtypes/zabbix_agent). Zabbix agent processes items of type 'Zabbix agent' or 'Zabbix agent (active)'.
zh-cn	##### 被动和主动检查  Zabbix agent 可以运行被动检查和主动检查。  在[被动检查](https://www.zabbix.com/documentation/5.0/zh/manual/appendix/items/activepassive#passive-checks)  模式中 agent 应答数据请求。Zabbix server（或 proxy）询求数据，例如 CPU load，然后 Zabbix agent 返还结果。  [主动检查](https://www.zabbix.com/documentation/5.0/zh/manual/appendix/items/activepassive#active-checks)  处理过程将相对复杂。Agent 必须首先从 Zabbix sever 索取监控项列表以进行独立处理，然后会定期发送采集到的新值给 Zabbix server。  是否执行被动或主动检查是通过选择相应的[监控项类型](https://www.zabbix.com/documentation/5.0/zh/manual/config/items/itemtypes/zabbix_agent)来配置的。 Zabbix agent 处理“Zabbix agent”或“Zabbix agent（active）”类型的监控项。

en-us	#### Passive checks  A passive check is a simple data request. Zabbix server or proxy asks for some data (for example, CPU load) and Zabbix agent sends back the result to the server.  **Server request**  For definition of header and data length please refer to [protocol details](/manual/appendix/protocols/header_datalen).      <item key>  **Agent response**      <DATA>[\0<ERROR>]  Above, the part in square brackets is optional and is only sent for not supported items.  For example, for supported items:  1.  Server opens a TCP connection 2.  Server sends **<HEADER><DATALEN>agent.ping** 3.  Agent reads the request and responds with     **<HEADER><DATALEN>1** 4.  Server processes data to get the value, '1' in our case 5.  TCP connection is closed  For not supported items:  1.  Server opens a TCP connection 2.  Server sends **<HEADER><DATALEN>vfs.fs.size\[/nono\]** 3.  Agent reads the request and responds with     **<HEADER><DATALEN>ZBX\_NOTSUPPORTED\\0Cannot obtain     filesystem information: \[2\] No such file or directory** 4.  Server processes data, changes item state to not supported with the     specified error message 5.  TCP connection is closed
zh-cn	#### 被动检查  被动检查是一个简单的数据请求。Zabbix服务器或proxy请求一些数据(例如，CPU负载)，Zabbix agent将结果发送回服务器。  **Server 请求** 头部和数据长度的定义请参考[协议详细信息](/manual/appendix/protocols/header_datalen)      <item key>  **Agent 响应**      <DATA>[\0<ERROR>]  在上面，方括号中的部分是可选的，只发送到不受支持的监控项。  例如, 对于支持的监控项:  1.  Server 打开一个TCP连接 2.  Server 发送 **<HEADER><DATALEN>agent.ping** 3.  Agent 读取请求并响应 **<HEADER><DATALEN>1** 4.  Server 处理数据以获取值, 例如'1'  5.  TCP连接关闭  对于不支持的监控项:  1.  Server 打开一个TCP连接 2.  Server 发送 **<HEADER><DATALEN>vfs.fs.size\[/nono\]** 3.  Agent 读取请求并响应     **<HEADER><DATALEN>ZBX\_NOTSUPPORTED\\0Cannot obtain     filesystem information: \[2\] No such file or directory** 4.  Server 处理数据, 更改监控项状态为不支持并显示指定的错误消息 5.  TCP连接关闭

en-us	#### Passive proxy
zh-cn	#### 被动代理

en-us	##### Passphrase authentication  SSH checks provide two authentication methods, a user/password pair and key-file based.  If you do not intend to use keys, no additional configuration is required, besides linking libssh2/libssh to Zabbix, if you're building from source.
zh-cn	##### 密码验证  SSH 检查提供两种身份验证方法，用户/密码对和基于密钥文件。  如果您正在构建从源码Zabbix，且不打算使用密钥文件，除了将 libssh2/libssh 链接到 Zabbix，无需额外配置。

en-us	### Password requirements  Custom password complexity requirements can now be provided for Zabbix internal [authentication method](/manual/web_interface/frontend_sections/administration/authentication#internal_authentication). To prevent Zabbix users from setting weak passwords, it is possible to enforce the following restrictions:  -   Set the minimum password length. -   Require a password to contain a combination of uppercase and     lowercase letters, digits, and/or special characters. -   Prohibit usage of most common and easily guessable passwords.
zh-cn	### 密码要求  现在可以为 Zabbix 内部 [身份验证方法](/manual/web_interface/frontend_sections/administration/authentication#internal_authentication) 提供自定义密码复杂性要求。为了防止 Zabbix 用户设置弱密码，可以强制执行以下限制：  -   设置最小密码长度。 -   要求密码包含大小写字母、数字和/或特殊字符的组合。 -   禁止使用最常见且容易猜到的密码。

en-us	#### Pattern examples  |Pattern|Description|Matches|No match| |--|------|--|--| |*\**|Matches all possible keys with or without parameters.|Any|None| |*vfs.file.contents*|Matches `vfs.file.contents` without parameters.|vfs.file.contents|vfs.file.contents\[/etc/passwd\]| |*vfs.file.contents\[\]*|Matches `vfs.file.contents` with empty parameters.|vfs.file.contents\[\]|vfs.file.contents| |*vfs.file.contents\[\*\]*|Matches `vfs.file.contents` with any parameters; will not match `vfs.file.contents` without square brackets.|vfs.file.contents\[\]<br>vfs.file.contents\[/path/to/file\]|vfs.file.contents| |*vfs.file.contents\[/etc/passwd,\*\]*|Matches `vfs.file.contents` with first parameters matching /etc/passwd and all other parameters having any value (also empty).|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd,utf8\]|vfs.file.contents\[/etc/passwd\]<br>vfs.file.contents\[/var/log/zabbix\_server.log\]<br>vfs.file.contents\[\]| |*vfs.file.contents\[\*passwd\*\]*|Matches `vfs.file.contents` with first parameter matching \*passwd\* and no other parameters.|vfs.file.contents\[/etc/passwd\]|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd, utf8\]| |*vfs.file.contents\[\*passwd\*,\*\]*|Matches `vfs.file.contents` with only first parameter matching \*passwd\* and all following parameters having any value (also empty).|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd, utf8\]|vfs.file.contents\[/etc/passwd\]<br>vfs.file.contents\[/tmp/test\]| |*vfs.file.contents\[/var/log/zabbix\_server.log,\*,abc\]*|Matches `vfs.file.contents` with first parameter matching /var/log/zabbix\_server.log, third parameter matching 'abc' and any (also empty) second parameter.|vfs.file.contents\[/var/log/zabbix\_server.log,,abc\]<br>vfs.file.contents\[/var/log/zabbix\_server.log,utf8,abc\]|vfs.file.contents\[/var/log/zabbix\_server.log,,abc,def\]| |*vfs.file.contents\[/etc/passwd,utf8\]*|Matches `vfs.file.contents` with first parameter matching /etc/passwd, second parameter matching 'utf8' and no other arguments.|vfs.file.contents\[/etc/passwd,utf8\]|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd,utf16\]| |*vfs.file.\**|Matches any keys starting with `vfs.file.` without any parameters.|vfs.file.contents<br>vfs.file.size|vfs.file.contents\[\]<br>vfs.file.size\[/var/log/zabbix\_server.log\]| |*vfs.file.\*\[\*\]*|Matches any keys starting with `vfs.file.` with any parameters.|vfs.file.size.bytes\[\]<br>vfs.file.size\[/var/log/zabbix\_server.log, utf8\]|vfs.file.size.bytes| |*vfs.\*.contents*|Matches any key starting with `vfs.` and ending with `.contents` without any parameters.|vfs.mount.point.file.contents<br>vfs..contents|vfs.contents|
zh-cn	#### 模式示例  |模式|描述|匹配|不匹配| |-------|-----------|--------|--------| |*\**|匹配所有可能的带或不带参数的键。|任何|无| |*vfs.file.contents*|匹配不带参数的`vfs.file.contents`。|vfs.file.contents|vfs.file.contents\[/etc/passwd\]| |*vfs.file.contents\[\]*|匹配带有空参数的`vfs.file.contents`。|vfs.file.contents\[\]|vfs.file.contents| |*vfs.file.contents\[\*\]*|匹配 `vfs.file.contents` 和任何参数；不匹配没有方括号的 `vfs.file.contents`。|vfs.file.contents\[\]<br>vfs.file.contents\[/path/to/file\]|vfs.file.contents| |*vfs.file.contents\[/etc/passwd,\*\]*|匹配 `vfs.file.contents` 与第一个参数匹配 /etc/passwd 和所有其他参数具有任何值（也可以为空）。|vfs .file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd,utf8\]|vfs.file.contents\[/etc/passwd\]<br>vfs. file.contents\[/var/log/zabbix\_server.log\]<br>vfs.file.contents\[\]| |*vfs.file.contents\[\*passwd\*\]*|匹配 `vfs.file.contents`，第一个参数匹配 \*passwd\* 而没有其他参数。|vfs.file.contents\[/etc /passwd\]|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd, utf8\]| |*vfs.file.contents\[\*passwd\*,\*\]*|匹配 `vfs.file.contents`，只有第一个参数匹配 \*passwd\* 和所有后续参数具有任何值（也可以为空）。|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd, utf8\]|vfs.file.contents\[/etc/passwd\]<br >vfs.file.contents\[/tmp/test\]| |*vfs.file.contents\[/var/log/zabbix\_server.log,\*,abc\]*|匹配 `vfs.file.contents` 与第一个参数匹配 /var/log/zabbix\_server.log , 第三个参数匹配 'abc' 和任何（也可以为空）第二个参数。|vfs.file.contents\[/var/log/zabbix\_server.log,,abc\]<br>vfs.file.contents\[/ var/log/zabbix\_server.log,utf8,abc\]|vfs.file.contents\[/var/log/zabbix\_server.log,,abc,def\]| |*vfs.file.contents\[/etc/passwd,utf8\]*|匹配 `vfs.file.contents`，第一个参数匹配 /etc/passwd，第二个参数匹配 'utf8'，没有其他参数。|vfs. file.contents\[/etc/passwd,utf8\]|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd,utf16\]| |*vfs.file.\**|匹配任何以 `vfs.file.` 开头且不带任何参数的键。|vfs.file.contents<br>vfs.file.size|vfs.file.contents\[\]< br>vfs.file.size\[/var/log/zabbix\_server.log\]| |*vfs.file.\*\[\*\]*|匹配任何以 `vfs.file.` 开头的键和任何参数。|vfs.file.size.bytes\[\]<br>vfs.file.大小\[/var/log/zabbix\_server.log, utf8\]|vfs.file.size.bytes| |*vfs.\*.contents*|匹配任何以 `vfs.` 开头并以 `.contents` 结尾且不带任何参数的键。|vfs.mount.point.file.contents<br>vfs..contents|vfs.contents|

en-us	 ### PCRE2 support Support for PCRE2 has been added and Zabbix installation packages for RHEL/CentOS 7 and newer, SLES (all versions), Debian 9 and newer, Ubuntu 16.04 and newer have been updated to use PCRE2.  PCRE is still supported, but Zabbix can only be compiled with one of the libraries PCRE or PCRE2, both cannot be used at the same time. 
zh-cn	### PCRE2 支持  已添加对 PCRE2 的支持，并且针对 RHEL/CentOS 7 及更高版本、SLES（所有版本）、Debian 9 及更高版本、Ubuntu 16.04 及更高版本的 Zabbix 安装包已更新为使用 PCRE2。  仍然支持 PCRE，但 Zabbix 只能使用 PCRE 或 PCRE2 库之一进行编译，两者不能同时使用。

en-us	 #### PCRE2 support Support for PCRE2 has been added. PCRE is still supported, but Zabbix can only be compiled with one of the libraries PCRE or PCRE2, both cannot be used at the same time.   The following Zabbix installation packages have been updated and now use PCRE2: - RHEL/CentOS 7 and newer - SLES (all versions) - Debian 9 and newer - Ubuntu 16.04 and newer  Please note that after switching to PCRE2, you may need to update some regular expressions. In particular, the pattern ^[\w-\.] needs to be changed to ^[-\w\.] to continue working  correctly - see [Known issues](manual/installation/known_issues#invalid_regular_expressions_after_switching_to_pcre2) for a more detailed explanation.   
zh-cn	 #### PCRE2 support Support for PCRE2 has been added and all Zabbix installation packages have been updated to use PCRE2. PCRE is still supported, but Zabbix can only be compiled with one of the libraries PCRE or PCRE2, both cannot be used at the same time.  Please note that after switching to PCRE2, you may need to update some regular expressions. In particular, the pattern ^[\w-\.] needs to be changed to ^[-\w\.] to continue working  correctly - see [Known issues](manual/installation/known_issues#invalid_regular_expressions_after_switching_to_pcre2) for a more detailed explanation.   

en-us	 ##### PCRE2 support Support for PCRE2 has been added. PCRE is still supported, but Zabbix can only be compiled with one of the libraries PCRE or PCRE2, both cannot be used at the same time.   The following Zabbix installation packages have been updated and now use PCRE2: - RHEL/CentOS 7 and newer - SLES (all versions) - Debian 9 and newer - Ubuntu 16.04 and newer  Please note that after switching to PCRE2, you may need to update some regular expressions. In particular, the pattern  ```^[\w-\.]``` needs to be changed to ```^[-\\w\\.]```  to continue working  correctly - see [Known issues](manual/installation/known_issues#invalid_regular_expressions_after_switching_to_pcre2) for a more detailed explanation. 
zh-cn	##### PCRE2 支持 添加了对 PCRE2 的支持。仍然支持 PCRE，但 Zabbix 只能使用 PCRE 或 PCRE2 库之一进行编译，两者不能同时使用。  以下 Zabbix 安装包已更新，现在使用 PCRE2： - RHEL/CentOS 7 及更高版本 - SLES （所有版本） - Debian 9 及更高版本 - Ubuntu 16.04 及更高版本  注意，切换到 PCRE2 后，您可能需要更新一些正则表达式。特别是  ```^[\w-\.]``` 需要更改模式 ```^[-\\w\\.]```  以继续正常工作 - 查看 [已知问题](manual/installation/known_issues#invalid_regular_expressions_after_switching_to_pcre2) 了解详细说明。

en-us	 ### PCRE2 support Zabix now supports both PCRE and PCRE2. Zabbix packages for RHEL/CentOS 7 and newer, SLES (all versions), Debian 9 and newer, Ubuntu 16.04 and newer have been updated to compile with PCRE2 instead of PCRE.  When compiling from sources, users can choose to specify ''--with-libpcre'' or ''--with-libpcre2'' flag.  If you are upgrading an existing installation, changing PCRE to PCRE2 may lead to some regular expressions behaving differently - see [Known issues](manual/installation/known_issues#invalid_regular_expressions_after_switching_to_pcre2) for details.
zh-cn	### PCRE2 支持  Zabix 现在支持 PCRE 和 PCRE2。用于 RHEL/CentOS 7 及更高版本、SLES（所有版本）、Debian 9 及更高版本、Ubuntu 16.04 及更高版本的 Zabbix 软件包已更新为使用 PCRE2 而不是 PCRE 进行编译。从源代码编译时，用户可以选择指定 ''--with-libpcre'' 或 ''--with-libpcre2'' 标志。如果您要升级现有安装，将 PCRE 更改为 PCRE2 可能会导致某些正则表达式表现不同 - 请参阅 [已知问题](manual/installation/known_issues#invalid_regular_expressions_after_switching_to_pcre2)了解详细信息。

en-us	#### Performance counter parameters  You can deploy some PerfCounter parameters for the monitoring of Windows performance counters.  For example, you can add these to the Zabbix agent configuration file:         PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30        or        PerfCounter=UserPerfCounter2,"\4\24",30  With such parameters in place, you can then simply use *UserPerfCounter1* or *UserPerfCounter2* as the keys for creating the respective items.  Remember to restart Zabbix agent after making changes to the configuration file.
zh-cn	#### 性能计数器参数  你可以部署一些PerfCounter参数，来完成通过Windows性能计数器监控。\  例如，你可以将下面的内容添加到ZABBIX代理配置文件中：         PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30        或        PerfCounter=UserPerfCounter2,"\4\24",30  配置了这些参数后，你就可以简单的使用 *UserPerfCounter1* 或*UserPerfCounter2* 作为key来创建相应的监控项。\  当然，别忘了在更改配置文件后重新启动ZABBIX Agent。\

en-us	#### Performance  Using some internal items may negatively affect performance. These items are:  -   `zabbix[host,,items]` -   `zabbix[host,,items_unsupported]` -   `zabbix[hosts]` -   `zabbix[items]` -   `zabbix[items_unsupported]` -   `zabbix[queue]` -   `zabbix[required_performance]` -   `zabbix[stats,,,queue]` -   `zabbix[triggers]`  The [System information](/manual/web_interface/frontend_sections/reports/status_of_zabbix) and [Queue](/manual/web_interface/frontend_sections/administration/queue)  frontend sections are also affected.
zh-cn	#### 性能  使用某些内部监控项可能会对性能产生负面影响。 这些监控项是：  - · `zabbix[host,,items]` - · `zabbix[host,,items_unsupported]` - · `zabbix[hosts]` - · `zabbix[items]` - · `zabbix[items_unsupported]` - · `zabbix[queue]` - · `zabbix[required_performance]` - · `zabbix[stats,,,queue]` - · `zabbix[triggers]`   [系统信息](/manual/web_interface/frontend_sections/reports/status_of_zabbix) 和 [队列](/manual/web_interface/frontend_sections/administration/queue) 前端部分也会受到影响。

en-us	### Performing requests  Once you've set up the frontend, you can use remote HTTP requests to call the API. To do that you need to send HTTP POST requests to the `api_jsonrpc.php` file located in the frontend directory. For example, if your Zabbix frontend is installed under *http://example.com/zabbix*, the HTTP request to call the `apiinfo.version` method may look like this:  ```yaml POST http://example.com/zabbix/api_jsonrpc.php HTTP/1.1 Content-Type: application/json-rpc  {     "jsonrpc": "2.0",     "method": "apiinfo.version",     "id": 1,     "auth": null,     "params": {} } ```  The request must have the `Content-Type` header set to one of these values: `application/json-rpc`, `application/json` or `application/jsonrequest`.
zh-cn	### 执行请求  当完成了前端的安装配置后，你就可以使用远程HTTP请求来调用API。为此，需要向位于前端目录中的 `api_jsonrpc.php` 文件发送 HTTP POST 请求。例如，如果你的 Zabbix 前端安装在 *http://example.com/zabbix*， 那么用HTTP请求来调用 `apiinfo.version` 方法就如下面这样：  ```yaml  POST http://example.com/zabbix/api_jsonrpc.php HTTP/1.1  Content-Type: application/json-rpc    {   · "jsonrpc": "2.0",   · "method": "apiinfo.version",   · "id": 1,   · "auth": null,   · "params": {}  }  ```   请求的 `Content-Type` 头部必须设置为以下值之一：`application/json-rpc`，`application/json` 或 `application/jsonrequest`。

en-us	#### Permissions  The *Permissions* tab contains information on:  -   The user role. Users cannot change their own role. -   The user type (User, Admin, Super Admin) that is defined in the role     configuration. -   Host groups the user has access to. Users of type 'User' and 'Admin'     do not have access to any host groups and hosts by default. To get     the access they need to be included in user groups that have access     to respective host groups and hosts. -   Access rights to sections and elements of Zabbix frontend, modules,     and API methods. Elements to which access is allowed are displayed     in green color. Light gray color means that access to the element is     denied. -   Rights to perform certain actions. Actions that are allowed are     displayed in green color. Light gray color means that a user does     not have the rights to perform this action.  See the [User permissions](permissions) page for details.
zh-cn	#### 权限  *Permissions* 选项卡包含以下信息：  - 用户角色。用户不能更改自己的角色。 - 角色中定义的用户类型（用户、管理员、超级管理员）     配置。 - 用户有权访问的主机组。 “用户”和“管理员”类型的用户     默认情况下无权访问任何主机组和主机。要得到     他们需要包含在具有访问权限的用户组中的访问权限     到各自的主机组和主机。 - 访问 Zabbix 前端、模块的部分和元素的权限，     和 API 方法。显示允许访问的元素     在绿色。浅灰色表示对元素的访问是     否认。 - 执行某些操作的权利。允许的操作是     以绿色显示。浅灰色表示用户     无权执行此操作。  有关详细信息，请参阅[用户权限]（权限）页面。

en-us	#### Permissions to dashboards  Permissions to dashboards for regular users and users of 'Admin' type are limited in the following way:  -   They can see and clone a dashboard if they have at least READ rights     to it; -   They can edit and delete dashboard only if they have READ/WRITE     rights to it; -   They cannot change the dashboard owner.
zh-cn	#### 仪表盘的权限  一般用户和管理员类型的用户对仪表盘的权限有以下限制：  -   他们可以查看和克隆仪表盘如果他们有只读以上的权限； -   他们可以查看和删除仪表盘如果他们有读/写权限； -   他们不可以修改仪表盘所有者。

en-us	#### Permissions to host groups  Access to any host data in Zabbix is granted to [user groups](/manual/config/users_and_usergroups/usergroup) on the host group level only.  That means that an individual user cannot be directly granted access to a host (or host group). It can only be granted access to a host by being part of a user group that is granted access to the host group that contains the host.
zh-cn	#### 主机组权限  只有在主机组级别上，[usergroups](/manual/config/users_和_usergroups/usergroup)才能访问Zabbix中的任何主机数据。  这意味着个人用户不能直接被授予访问主机（或主机组）的权限。只有作为用户组的一部分，才能授予它对主机的访问权限，该用户组被授予对包含该主机的主机组的访问权限。

en-us	##### Permissions to services  Flexible permissions to services have been implemented on [user role](/manual/web_interface/frontend_sections/administration/user_roles) level. Read-write or read-only access can be granted to all, none or selected services (based on name or tags).
zh-cn	##### 服务权限  在 [用户角色](/manual/web_interface/frontend_sections/administration/user_roles) 级别实现了对服务的灵活权限。可以向所有、无或选定的服务授予读写或只读访问权限（基于名称或标签）。

en-us	### Permission  The permission object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**id**<br>(required)|string|ID of the host group to add permission to.| |**permission**<br>(required)|integer|Access level to the host group.<br><br>Possible values:<br>0 - access denied;<br>2 - read-only access;<br>3 - read-write access.|
zh-cn	### 权限  权限对象具有以下属性.  |属性|[类型](/manual/api/reference_commentary#data_types)|描述| |--------|---------------------------------------------------|-----------| |**id**<br>(required)|string|需要添加权限的主机组的ID.| |**permission**<br>(required)|integer|对主机组的访问权限级别.<br><br>可用值:<br>0 - 禁止访问权限;<br>2 - 只读访问权限;<br>3 - 读写访问权限.|

en-us	### Permission  The permission object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--------|---------------------------------------------------|-----------| |**id**<br>(required)|string|ID of the host group to add permission to.| |**permission**<br>(required)|integer|Access level to the host group.<br><br>Possible values:<br>0 - access denied;<br>2 - read-only access;<br>3 - read-write access.|
zh-cn	### 权限  权限对象具有以下属性.  |属性|[类型](/manual/api/reference_commentary#data_types)|描述| |--------|---------------------------------------------------|-----------| |**id**<br>(required)|string|需要添加权限的主机组的ID.| |**permission**<br>(required)|integer|对主机组的访问权限级别.<br><br>可用值:<br>0 - 禁止访问权限;<br>2 - 只读访问权限;<br>3 - 读写访问权限.|

en-us	#### PHP 7.2  Zabbix frontend requires PHP version **7.2 or newer**.
zh-cn	 #### PHP 7.2  Zabbix 前端需要 **7.2 或更新**的PHP版本。

en-us	#### PHP 7.2  Zabbix frontend requires PHP version **7.2 or newer**.
zh-cn	#### PHP 7.2  Zabbix 前端需要 **7.2 或更新**的PHP版本。

en-us	#### PHP 7.2  Zabbix frontend requires PHP version **7.2 or newer** starting with Zabbix 5.0.  See [instructions](/manual/installation/frontend/frontend_on_debian) for installing Zabbix frontend on distributions with PHP versions below 7.2.
zh-cn	#### PHP 7.2  Zabbix 前端需要 PHP **7.2 或更新**的版本来启动 Zabbix 5.0。  在Zabbix前端安装低于7.2版本的PHP请参考 [instructions](/manual/installation/frontend/frontend_on_debian) 。

en-us	#### PHP 7.3 opcache configuration  If "opcache" is enabled in the PHP 7.3 configuration, Zabbix frontend may show a blank screen when loaded for the first time. This is a registered [PHP bug](https://bugs.php.net/bug.php?id=78015). To work around this, please set the "opcache.optimization\_level" parameter to `0x7FFFBFDF` in the PHP configuration (php.ini file).
zh-cn	#### PHP 7.3 opcache 配置  如果在 PHP 7.3 配置中启用了 “opcache”，第一次加载时 Zabbix 前端可能会显示一个空白屏幕。这是一个已注册的  [PHP bug](https://bugs.php.net/bug.php?id=78015)。要解决此问题，请在 PHP 配置（php.ini 文件）中将 "opcache.optimization\_level" 参数设置为 `0x7FFFBFDF` 。

en-us	#### PHP 7.3 opcache configuration  If "opcache" is enabled in the PHP 7.3 configuration, Zabbix frontend may show a blank screen when loaded for the first time. This is a registered [PHP bug](https://bugs.php.net/bug.php?id=78015). To work around this, please set the "opcache.optimization\_level" parameter to `0x7FFFBFDF` in the PHP configuration (php.ini file).  
zh-cn	#### PHP 7.3 opcache 配置  如果在 PHP 7.3 配置中启用了 “opcache”，第一次加载时 Zabbix 前端可能会显示一个空白屏幕。这是一个已注册的  [PHP bug](https://bugs.php.net/bug.php?id=78015)。要解决此问题，请在 PHP 配置（php.ini 文件）中将 "opcache.optimization\_level" 参数设置为 `0x7FFFBFDF` 。

en-us	 ### PHP 8 support  PHP 8.0 and 8.1 is now supported.
zh-cn	### PHP 8 支持  现在支持 PHP 8.0 和 8.1。

en-us	### Plugins  All metrics supported by Zabbix agent 2 are collected by plugins.
zh-cn	### 插件  Zabbix agent 2 支持的所有指标都由插件收集。

en-us	##### Positional macros no longer supported  The support for positional macros in item name ($1, $2...$9), deprecated since Zabbix 4.0, has been fully removed.
zh-cn	##### 不再支持位置宏  自 Zabbix 4.0 起已弃用的监控项名称 ($1, $2...$9) 中对位置宏的支持已被完全删除。

en-us	##### Positional macros no longer supported  The support for positional macros in item name ($1, $2...$9), deprecated since Zabbix 4.0, has been fully removed.
zh-cn	##### 不再支持位置宏  自 Zabbix 4.0 起已弃用的监控项名称 ($1, $2...$9) 中对位置宏的支持已被完全删除。

en-us	 #### Possible deadlocks with MySQL/MariaDB  When running under high load, and with more than one LLD worker involved, it is possible to run into a deadlock caused by an  InnoDB error related to the row-locking strategy (see [upstream bug](https://github.com/mysql/mysql-server/commit/7037a0bdc83196755a3bf3e935cfb3c0127715d5)).  The error has been fixed in MySQL since 8.0.29, but not in MariaDB. For more details, see [ZBX-21506](https://support.zabbix.com/browse/ZBX-21506).
zh-cn	#### MySQL/MariaDB 可能出现的死锁  当在高负载下运行，并且涉及多个 LLD worker 时，可能会遇到由 与行锁定策略相关的 InnoDB 错误（参见 [上游错误](https://github.com/mysql/mysql-server/commit/7037a0bdc83196755a3bf3e935cfb3c0127715d5)）。 从 8.0.29 开始，该错误在 MySQL 中已修复，但在 MariaDB 中未修复。 有关详细信息，请参阅 [ZBX-21506](https://support.zabbix.com/browse/ZBX-21506)。

en-us	##### Possible error messages  You may encounter a situation when no data is displayed and the following error message appears:  ![](../../../../../assets/en/manual/web_interface/error_message_1.png){width="600"}  Error message in this case is the following:      Cannot display item queue. Permission denied  This happens when PHP configuration parameters $ZBX\_SERVER\_PORT or $ZBX\_SERVER in zabbix.conf.php point to existing Zabbix server which uses different database.
zh-cn	##### 可能的错误信息  可能会遇到没有显示数据并出现以下错误消息的情况：  ![](../../../../../assets/en/manual/web_interface/error_message_1.png){width="600"}  这种情况下的错误信息如下：   无法显示项目队列。没有权限  当 zabbix.conf.php 中的 PHP 配置参数 $ZBX\_SERVER\_PORT 或 $ZBX\_SERVER 指向使用不同数据库的现有 Zabbix 服务器时，就会发生这种情况。

en-us	 ### Possible to build Zabbix agent 2 offline  Zabbix agent 2 now can be built offline. The source tarball now includes the `src/go/vendor` directory, which should make sure  that golang is not forced to download dependency modules automatically. It is still possible to update to the latest modules manually by using `go mod tidy` or `go get` commands.
zh-cn	### 可以离线构建Zabbix agent 2  Zabbix agent 2 现在可以离线构建。 源码 tarball 现在包含 `src/go/vendor` 目录，应该确保 golang 不会被强制自动下载依赖模块。 仍然可以使用 `go mod tidy` 或 `go get` 命令手动更新到最新模块。

en-us	 ### PostgreSQL 15 support  PostgreSQL 15 is now supported. Note that TimescaleDB **does not** support PostgreSQL 15 yet.
zh-cn	### PostgreSQL 15 支持  现在支持 PostgreSQL 15。 请注意，TimescaleDB **不**支持 PostgreSQL 15。

en-us	#### PostgreSQL  Export and import must be performed in tmux/screen, so that the session isn't dropped.  ##### Upgrading tables  * Rename tables using `history_pk_prepare.sql`.  ``` sudo -u zabbix psql zabbix < /usr/share/doc/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ```  * Export current history, import it to the temp table,  and insert it into new tables while ignoring duplicates  ``` \copy history_old TO '/tmp/history.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  value                    DOUBLE PRECISION DEFAULT '0.0000'          NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history FROM '/tmp/history.csv' DELIMITER ',' CSV INSERT INTO history_uint SELECT * FROM temp_history ON CONFLICT (itemid,clock,ns) DO NOTHING;  \copy history_uint_old TO '/tmp/history_uint.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history_uint (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  value                    numeric(20)     DEFAULT '0'               NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history_uint FROM '/tmp/history_uint.csv' DELIMITER ',' CSV INSERT INTO history_uint SELECT * FROM temp_history_uint ON CONFLICT (itemid,clock,ns) DO NOTHING;  \copy history_str_old TO '/tmp/history_str.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history_str (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  value                    varchar(255)    DEFAULT ''                NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history_str FROM '/tmp/history_str.csv' DELIMITER ',' CSV INSERT INTO history_str (itemid,clock,value,ns) SELECT * FROM temp_history_str ON CONFLICT (itemid,clock,ns) DO NOTHING;  \copy history_log_old TO '/tmp/history_log.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history_log (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  timestamp                integer         DEFAULT '0'               NOT NULL,  source                   varchar(64)     DEFAULT ''                NOT NULL,  severity                 integer         DEFAULT '0'               NOT NULL,  value                    text            DEFAULT ''                NOT NULL,  logeventid               integer         DEFAULT '0'               NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history_log FROM '/tmp/history_log.csv' DELIMITER ',' CSV INSERT INTO history_log SELECT * FROM temp_history_log ON CONFLICT (itemid,clock,ns) DO NOTHING;  \copy history_text_old TO '/tmp/history_text.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history_text (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  value                    text            DEFAULT ''                NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history_text FROM '/tmp/history_text.csv' DELIMITER ',' CSV INSERT INTO history_text SELECT * FROM temp_history_text ON CONFLICT (itemid,clock,ns) DO NOTHING; ```  * Verify that everything works as supposed  * Drop old tables  ``` DROP TABLE history_old; DROP TABLE history_uint_old; DROP TABLE history_str_old; DROP TABLE history_log_old; DROP TABLE history_text_old; ```  Consider using the following tips to improve insert performance:  * [PostgreSQL: Bulk Loading Huge Amounts of Data](https://www.cybertec-postgresql.com/en/postgresql-bulk-loading-huge-amounts-of-data) * [Checkpoint Distance and Amount of WAL](https://www.cybertec-postgresql.com/en/checkpoint-distance-and-amount-of-wal)  
zh-cn	#### PostgreSQL  Export and import must be performed in tmux/screen, so that the session isn't dropped.  ##### Upgrading tables  * Rename tables using [history_pk_prepare.sql](https://git.zabbix.com/projects/ZBX/repos/zabbix/commits/f3b9848e458867c5b834e4f299944e8e90eb0d37)  * Export current history, import it to the temp table,  and insert it into new tables while ignoring duplicates  ``` \copy history_old TO '/tmp/history.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  value                    DOUBLE PRECISION DEFAULT '0.0000'          NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history FROM '/tmp/history.csv' DELIMITER ',' CSV INSERT INTO history_uint SELECT * FROM temp_history ON CONFLICT (itemid,clock,ns) DO NOTHING;  \copy history_uint_old TO '/tmp/history_uint.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history_uint (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  value                    numeric(20)     DEFAULT '0'               NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history_uint FROM '/tmp/history_uint.csv' DELIMITER ',' CSV INSERT INTO history_uint SELECT * FROM temp_history_uint ON CONFLICT (itemid,clock,ns) DO NOTHING;  \copy history_str_old TO '/tmp/history_str.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history_str (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  value                    varchar(255)    DEFAULT ''                NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history_str FROM '/tmp/history_str.csv' DELIMITER ',' CSV INSERT INTO history_str (itemid,clock,value,ns) SELECT * FROM temp_history_str ON CONFLICT (itemid,clock,ns) DO NOTHING;  \copy history_log_old TO '/tmp/history_log.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history_log (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  timestamp                integer         DEFAULT '0'               NOT NULL,  source                   varchar(64)     DEFAULT ''                NOT NULL,  severity                 integer         DEFAULT '0'               NOT NULL,  value                    text            DEFAULT ''                NOT NULL,  logeventid               integer         DEFAULT '0'               NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history_log FROM '/tmp/history_log.csv' DELIMITER ',' CSV INSERT INTO history_log SELECT * FROM temp_history_log ON CONFLICT (itemid,clock,ns) DO NOTHING;  \copy history_text_old TO '/tmp/history_text.csv' DELIMITER ',' CSV CREATE TEMP TABLE temp_history_text (  itemid                   bigint                                    NOT NULL,  clock                    integer         DEFAULT '0'               NOT NULL,  value                    text            DEFAULT ''                NOT NULL,  ns                       integer         DEFAULT '0'               NOT NULL ); \copy temp_history_text FROM '/tmp/history_text.csv' DELIMITER ',' CSV INSERT INTO history_text SELECT * FROM temp_history_text ON CONFLICT (itemid,clock,ns) DO NOTHING; ```  * Verify that everything works as supposed  * Drop old tables  ``` DROP TABLE history_old; DROP TABLE history_uint_old; DROP TABLE history_str_old; DROP TABLE history_log_old; DROP TABLE history_text_old; ```  Consider using the following tips to improve insert performance:  * [PostgreSQL: Bulk Loading Huge Amounts of Data](https://www.cybertec-postgresql.com/en/postgresql-bulk-loading-huge-amounts-of-data) * [Checkpoint Distance and Amount of WAL](https://www.cybertec-postgresql.com/en/checkpoint-distance-and-amount-of-wal)  

en-us	### PostgreSQL  Export and import must be performed in tmux/screen to ensure that the session isn't dropped. For installations with TimescaleDB, skip this section and proceed to [PostgreSQL + TimescaleDB](#postgresql-timescaledb).  See also: [Important notes](#important-notes)  #### Table upgrade  * Rename tables using `history_pk_prepare.sql`:  ``` {.bash} sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ```  #### Migration with stopped server  * Export current history, import it to the temp table,  then insert the data into new tables while ignoring duplicates:  ``` {.sql} INSERT INTO history SELECT * FROM history_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_uint SELECT * FROM history_uint_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_str SELECT * FROM history_str_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_log SELECT * FROM history_log_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_text SELECT * FROM history_text_old ON CONFLICT (itemid,clock,ns) DO NOTHING; ```  See tips for improving INSERT performance: [PostgreSQL: Bulk Loading Huge Amounts of Data](https://www.cybertec-postgresql.com/en/postgresql-bulk-loading-huge-amounts-of-data), [Checkpoint Distance and Amount of WAL](https://www.cybertec-postgresql.com/en/checkpoint-distance-and-amount-of-wal).  * Follow [post-migration instructions](#after-migration) to drop the old tables.
zh-cn	### PostgreSQL  导出和导入必须在 tmux/screen 中执行，以确保会话不会被丢弃。 对于使用 TimescaleDB 的安装，请跳过此部分并继续阅读 [PostgreSQL + TimescaleDB](#postgresql-timescaledb)。  另请参阅：[重要说明](#important-notes)  #### 表升级  * 使用 `history_pk_prepare.sql` 重命名表：  ``` {.bash} sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ```  #### 停止服务器的迁移  * 导出当前历史，将其导入临时表，然后将数据插入新表，同时忽略重复项：  ``` {.sql} INSERT INTO history SELECT * FROM history_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_uint SELECT * FROM history_uint_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_str SELECT * FROM history_str_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_log SELECT * FROM history_log_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_text SELECT * FROM history_text_old ON CONFLICT (itemid,clock,ns) DO NOTHING; ```  查看提高 INSERT 性能的技巧：[PostgreSQL：批量加载大量数据](https://www.cybertec-postgresql.com/en/postgresql-bulk-loading-huge-amounts-of-data)，[检查点距离 和 WAL 的数量](https://www.cybertec-postgresql.com/en/checkpoint-distance-and-amount-of-wal)。  * 按照 [post-migration instructions](#after-migration) 删除旧表。

en-us	#### PostgreSQL  If a value contains a non-ASCII character in non UTF8 encoding - this will lead to a failed SQL query (PGRES\_FATAL\_ERROR:ERROR invalid byte sequence for encoding) and data will not be stored. An appropriate warning message will be written to the *zabbix\_server.log*.\ Relevant for at least PostgreSQL version 9.1.3
zh-cn	#### PostgreSQL  如果一个值在非UTF8编码中包含非ascii字符—这将导致一个失败的SQL查询(PGRES\_FATAL\_ERROR:编码的无效字节序列)和数据将不会被存储。会向*zabbix\_server.log*中写入一个适当的警告消息.\ Relevant for at least PostgreSQL version 9.1.3

en-us	 ### PostgreSQL  |Key|<|<|<| |--|--|------|------| |**Description**|**Return value**|**Parameters**|**Comments**| |pgsql.autovacuum.count\[uri,<username>,<password>,<dbName>\]|<|<|<| |The number of autovacuum workers.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.archive\[uri,<username>,<password>,<dbName>\]|<|<|<| |Information about archived files.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.archive.count\_archived\_files** - the number of WAL files that have been successfully archived.<br>**pgsql.archive.failed\_trying\_to\_archive** - the number of failed attempts for archiving WAL files.<br>**pgsql.archive.count\_files\_to\_archive** - the number of files to archive.<br>**pgsql.archive.size\_files\_to\_archive** -the size of files to archive. | |pgsql.bgwriter\[uri,<username>,<password>,<dbName>\]|<|<|<| |Combined number of checkpoints for the database cluster, broken down by checkpoint type.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.bgwriter.buffers\_alloc** - the number of buffers allocated.<br>**pgsql.bgwriter.buffers\_backend** -the number of buffers written directly by a backend.<br>**pgsql.bgwriter.maxwritten\_clean** - the number of times the background writer stopped a cleaning scan, because it had written too many buffers.<br>**pgsql.bgwriter.buffers\_backend\_fsync** -the number of times a backend had to execute its own fsync call instead of the background writer.<br>**pgsql.bgwriter.buffers\_clean** - the number of buffers written by the background writer.<br>**pgsql.bgwriter.buffers\_checkpoint** - the number of buffers written during checkpoints.<br>**pgsql.bgwriter.checkpoints\_timed** - the number of scheduled checkpoints that have been performed.<br>**pgsql.bgwriter.checkpoints\_req** - the number of requested checkpoints that have been performed.<br>**pgsql.bgwriter.checkpoint\_write\_time** - the total amount of time spent in the portion of checkpoint processing where files are written to disk, in milliseconds.<br>**pgsql.bgwriter.sync\_time** - the total amount of time spent in the portion of checkpoint processing where files are synchronized with disk. | |pgsql.cache.hit\[uri,<username>,<password>,<dbName>\]|<|<|<| |PostgreSQL buffer cache hit rate.|Float |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.connections\[uri,<username>,<password>,<dbName>\]|<|<|<| |Connections by type.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.connections.active** - the backend is executing a query.<br>**pgsql.connections.fastpath\_function\_call** -the backend is executing a fast-path function.<br>**pgsql.connections.idle** - the backend is waiting for a new client command.<br>**pgsql.connections.idle\_in\_transaction** - the backend is in a transaction, but is not currently executing a query.<br>**pgsql.connections.prepared** - the number of prepared connections.<br>**pgsql.connections.total** - the total number of connections.<br>**pgsql.connections.total\_pct** - percantange of total connections in respect to ‘max\_connections’ setting of the PostgreSQL server.<br>**pgsql.connections.waiting** - number of connections in a query.<br>**pgsql.connections.idle\_in\_transaction\_aborted** - the backend is in a transaction, but is not currently executing a query and one of the statements in the transaction caused an error. | |pgsql.custom.query\[uri,<username>,<password>,queryName\[,args...\]\]|<|<|<| |Returns result of a custom query.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**queryName** - name of a custom query, must match SQL file name without an extension. <br> **args**(optional) - arguments to pass to a query. | | |pgsql.dbstat\[uri,<username>,<password>,dbName\]|<|<|<| |Collects statistics per database. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.dbstat.numbackends\["{\#DBNAME}"\]** - time spent reading data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.blk\_read\_time\["{\#DBNAME}"\]** - time spent reading data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.blk\_write\_time\["{\#DBNAME}"\]** - time spent writing data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.checksum\_failures\["{\#DBNAME}"\]** - the number of data page checksum failures detected (or on a shared object), or NULL if data checksums are not enabled.(PostgreSQL version 12 only)<br>**pgsql.dbstat.blks\_read.rate\["{\#DBNAME}"\]** - the number of disk blocks read in this database.<br>**pgsql.dbstat.deadlocks.rate\["{\#DBNAME}"\]** - the number of deadlocks detected in this database.<br>**pgsql.dbstat.blks\_hit.rate\["{\#DBNAME}"\]** - the number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL Pro buffer cache, not the operating system's file system cache).<br>**pgsql.dbstat.xact\_rollback.rate\["{\#DBNAME}"\]** - the number of transactions in this database that have been rolled back.<br>**pgsql.dbstat.xact\_commit.rate\["{\#DBNAME}"\]** - the number of transactions in this database that have been committed.<br>**pgsql.dbstat.tup\_updated.rate\["{\#DBNAME}"\]** - the number of rows updated by queries in this database.<br>**pgsql.dbstat.tup\_returned.rate\["{\#DBNAME}"\]** - the number of rows returned by queries in this database.<br>**pgsql.dbstat.tup\_inserted.rate\["{\#DBNAME}"\]** - the number of rows inserted by queries in this database.<br>**pgsql.dbstat.tup\_fetched.rate\["{\#DBNAME}"\]** - the number of rows fetched by queries in this database.<br>**pgsql.dbstat.tup\_deleted.rate\["{\#DBNAME}"\]** - the number of rows deleted by queries in this database.<br>**pgsql.dbstat.conflicts.rate\["{\#DBNAME}"\]** - the number of queries canceled due to conflicts with recovery in this database (the conflicts occur only on standby servers).<br>**pgsql.dbstat.temp\_files.rate\["{\#DBNAME}"\]** - the number of temporary files created by queries in this database. All temporary files are counted, regardless of the log\_temp\_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).<br>**pgsql.dbstat.temp\_bytes.rate\["{\#DBNAME}"\]** - the total amount of data written to temporary files by queries in this database. Includes data from all temporary files, regardless of the log\_temp\_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).  | |pgsql.dbstat.sum\[uri,<username>,<password>,<dbName>\]|<|<|<| |Summarized data for all databases in a cluster.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by the dependent items:<br>**pgsql.dbstat.numbackends** - the number of backends currently connected to this database.<br>**pgsql.dbstat.sum.blk\_read\_time** - time spent reading data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.blk\_write\_time** - time spent writing data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.checksum\_failures** - the number of data page checksum failures detected (or on a shared object), or NULL if data checksums are not enabled (PostgreSQL version 12 only).<br>**pgsql.dbstat.sum.xact\_commit** - the number of transactions in this database that have been committed.<br>**pgsql.dbstat.sum.conflicts** - database statistics about query cancels due to conflict with recovery on standby servers.<br>**pgsql.dbstat.sum.deadlocks** - the number of deadlocks detected in this database.<br>**pgsql.dbstat.sum.blks\_read** - the number of disk blocks read in this database.<br>**pgsql.dbstat.sum.blks\_hit** - the number of times disk blocks were found already in the buffer cache, so a read was not necessary (only hits in the PostgreSQL Pro buffer cache are included).<br>**pgsql.dbstat.sum.temp\_bytes** - the total amount of data written to temporary files by queries in this database. Includes data from all temporary files, regardless of the log\_temp\_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).<br>**pgsql.dbstat.sum.temp\_files** - the number of temporary files created by queries in this database. All temporary files are counted, regardless of the log\_temp\_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).<br>**pgsql.dbstat.sum.xact\_rollback** - the number of rolled-back transactions in this database.<br>**pgsql.dbstat.sum.tup\_deleted** - the number of rows deleted by queries in this database.<br>**pgsql.dbstat.sum.tup\_fetched** - the number of rows fetched by queries in this database.<br>**pgsql.dbstat.sum.tup\_inserted** - the number of rows inserted by queries in this database.<br>**pgsql.dbstat.sum.tup\_returned** - the number of rows returned by queries in this database.<br>**pgsql.dbstat.sum.tup\_updated** - the number of rows updated by queries in this database. | |pgsql.db.age\[uri,<username>,<password>,dbName\]|<|<|<| |Age of the oldest FrozenXID of the database. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.db.bloating\_tables\[uri,<username>,<password>,<dbName>\]|<|<|<| |The number of bloating tables per database. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.db.discovery\[uri,<username>,<password>,<dbName>\]|<|<|<| |List of the PostgreSQL databases. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.db.size\[uri,<username>,<password>,dbName\]|<|<|<| |Database size in bytes. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.locks\[uri,<username>,<password>,<dbName>\]|<|<|<| |Information about granted locks per database. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.locks.shareupdateexclusive\["{\#DBNAME}"\]** - the number of share update exclusive locks.<br>**pgsql.locks.accessexclusive\["{\#DBNAME}"\]** - the number of access exclusive locks.<br>**pgsql.locks.accessshare\["{\#DBNAME}"\]** - the number of access share locks.<br>**pgsql.locks.exclusive\["{\#DBNAME}"\]** - the number of exclusive locks.<br>**pgsql.locks.rowexclusive\["{\#DBNAME}"\]** - the number of row exclusive locks.<br>**pgsql.locks.rowshare\["{\#DBNAME}"\]** - the number of row share locks.<br>**pgsql.locks.share\["{\#DBNAME}"\]** - the number of shared locks.<br>**pgsql.locks.sharerowexclusive\["{\#DBNAME}"\]** - the number of share row exclusive locks. | |pgsql.oldest.xid\[uri,<username>,<password>,<dbName>\]|<|<|<| |Age of the oldest XID.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.ping\[uri,<username>,<password>,<dbName>\]|<|<|<| |Tests whether a connection is alive or not.|1 - connection is alive<br><br>0 - connection is broken (if there is any error presented including AUTH and configuration issues).|**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.queries\[uri,<username>,<password>,<dbName>,timePeriod\]|<|<|<| |Measures query execution time.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.<br>**timePeriod** - execution time limit for count of slow queries (must be a positive integer).|Returned data are processed by dependent items:<br> **pgsql.queries.mro.time_max\["{\#DBNAME}"]** - max maintenance query time.<br>**pgsql.queries.query.time_max\["{\#DBNAME}"]** - max query time.<br>**pgsql.queries.tx.time_max\["{\#DBNAME}"]** - max transaction query time.<br>**pgsql.queries.mro.slow_count\["{\#DBNAME}"]** - slow maintenance query count.<br>**pgsql.queries.query.slow_count\["{\#DBNAME}"]** - slow query count.<br>**pgsql.queries.tx.slow_count\["{\#DBNAME}"]** - slow transaction query count.<br>**pgsql.queries.mro.time_sum\["{\#DBNAME}"]** - sum maintenance query time.<br>**pgsql.queries.query.time_sum\["{\#DBNAME}"]** - sum query time.<br>**pgsql.queries.tx.time_sum\["{\#DBNAME}"]** - sum transaction query time.<br><br> This item is supported since Zabbix 6.0.3| |pgsql.replication.count\[uri,<username>,<password>\]|<|<|<| |The number of standby servers.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication.process\[uri,<username>,<password>\]|<|<|<| | Flush lag, write lag and replay lag per each sender process.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication.process.discovery\[uri,<username>,<password>\]|<|<|<| | Replication process name discovery.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication.recovery\_role\[uri,<username>,<password>\]|<|<|<| |Recovery status.|0 - master mode<br>1 - recovery is still in progress (standby mode)|**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication.status\[uri,<username>,<password>\]|<|<|<| |The status of replication.|0 - streaming is down<br>1 - streaming is up<br>2 - master mode|**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication\_lag.b\[uri,<username>,<password>\]|<|<|<| |Replication lag in bytes.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication\_lag.sec\[uri,<username>,<password>\]|<|<|<| |Replication lag in seconds.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.uptime\[uri,<username>,<password>,<dbName>\]|<|<|<| |PostgreSQL uptime in milliseconds.|Float |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.wal.stat\[uri,<username>,<password>,<dbName>\]|<|<|<| |WAL statistics.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.wal.count** — the number of WAL files.<br>**pgsql.wal.write** - the WAL lsn used (in bytes). |
zh-cn	### PostgreSQL  |Key|<|<|<| |---|---|---|---| |**描述**|**返回值**|**参数**|**注释**| |pgsql.autovacuum.count\[uri,<username>,<password>, <dbName>\]|<|<|<| |Autovacuum worker 的数量.|SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.archive\[uri,<username>,<password>, <dbName>\]|<|<|<| |归档文件的信息.|JSON 格式的 SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.|返回的数据由相关的监控项处理:<br>**pgsql.archive.count\_archived\_files** - 成功归档的 WAL 文件的次数.<br>**pgsql.archive.failed\_trying\_to\_archive** - WAL文件归档失败次数.<br>**pgsql.archive.count\_files\_to\_archive** - 归档的文件数量.<br>**pgsql.archive.size\_files\_to\_archive** - 归档的文件大小. | |pgsql.bgwriter\[uri,<username>,<password>, <dbName>\]|<|<|<| |数据库集群的检查点组合数量，按检查点类型细分.|JSON 格式的 SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.|返回的数据由相关的监控项处理:<br>**pgsql.bgwriter.buffers\_alloc** - 已分配的 buffer 数量.<br>**pgsql.bgwriter.buffers\_backend** - 由后端直接写入的 buffer 的数量.<br>**pgsql.bgwriter.maxwritten\_clean** - 后台写入器停止清理扫描的次数，因为它写入了太多的buffer.<br>**pgsql.bgwriter.buffers\_backend\_fsync** - 后台必须执行自己的fsync调用而不是后台写入器的次数.<br>**pgsql.bgwriter.buffers\_clean** - 后台写入器写入的 buffer 数量.<br>**pgsql.bgwriter.buffers\_checkpoint** - 检查点期间写入的 buffer 数量.<br>**pgsql.bgwriter.checkpoints\_timed** - 已执行的预定检查点的数量.<br>**pgsql.bgwriter.checkpoints\_req** - 已执行的请求检查点的数量.<br>**pgsql.bgwriter.checkpoint\_write\_time** - 检查点处理中将文件写入磁盘的部分所花费的总时间，以毫秒为单位.<br>**pgsql.bgwriter.sync\_time** - 检查点处理中文件与磁盘同步的部分所花费的总时间. | |pgsql.cache.hit\[uri,<username>,<password>, <dbName>\]|<|<|<| |PostgreSQL buffer cache 命中率.|百分比形式的 SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.connections\[uri,<username>,<password>, <dbName>\]|<|<|<| |连接的类型.|JSON 对象.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.|返回的数据由相关的监控项处理:<br>**pgsql.connections.active** - 后端正在执行查询.<br>**pgsql.connections.fastpath\_function\_call** - 后端正在执行一个 fast-path 函数.<br>**pgsql.connections.idle** - 后端正在等待一个新的客户端命令.<br>**pgsql.connections.idle\_in\_transaction** - 后端位于事务中，但当前未执行查询.<br>**pgsql.connections.prepared** - 准备的连接数.<br>**pgsql.connections.total** - 总的连接数.<br>**pgsql.connections.total\_pct** - 在 PostgreSQL 服务器的 ‘max\_connections’ 设置中，总连接数的百分比.<br>**pgsql.connections.waiting** - 查询中的连接数.<br>**pgsql.connections.idle\_in\_transaction\_aborted** - 后端位于事务中的一条语句导致了错误，但当前未执行查询. | |pgsql.dbstat\[uri,<username>,<password>, dbName\]|<|<|<| |用于 [底层自动发现](/manual/discovery/low_level_discovery/examples/systemd)采集每个数据库的统计数据.|JSON 格式的 SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.|返回的数据由相关的监控项处理:<br>**pgsql.dbstat.numbackends\["{\#DBNAME}"\]** - 后端读取数据库中的数据文件块所花费的时间, 单位是 milliseconds.<br>**pgsql.dbstat.sum.blk\_read\_time\["{\#DBNAME}"\]** - 在这个数据库的后端读取数据文件块所花费的时间, 单位是 milliseconds.<br>**pgsql.dbstat.sum.blk\_write\_time\["{\#DBNAME}"\]** - 该数据库的后端写入数据文件块所花费的时间, 单位是 milliseconds.<br>**pgsql.dbstat.sum.checksum\_failures\["{\#DBNAME}"\]** - 检测到的数据页校验和失败的次数 (或在共享对象上), 如果数据校验和未启用，则为NULL.(只在PostgreSQL 12 版本中)<br>**pgsql.dbstat.blks\_read.rate\["{\#DBNAME}"\]** - 在这个数据库中读取的磁盘块的数量.<br>**pgsql.dbstat.deadlocks.rate\["{\#DBNAME}"\]** - 该数据库中检测到的死锁数量.<br>**pgsql.dbstat.blks\_hit.rate\["{\#DBNAME}"\]** - 磁盘块已经在缓存中被发现的次数，因此不需要读取 (这只包括在命中 PostgreSQL Pro buffer cache, 而不是操作系统的文件系统 cache 内).<br>**pgsql.dbstat.xact\_rollback.rate\["{\#DBNAME}"\]** - 该数据库中已回滚的事务数.<br>**pgsql.dbstat.xact\_commit.rate\["{\#DBNAME}"\]** - 该数据库中已提交的事务数.<br>**pgsql.dbstat.tup\_updated.rate\["{\#DBNAME}"\]** - 该数据库中由查询更新的行数.<br>**pgsql.dbstat.tup\_returned.rate\["{\#DBNAME}"\]** - 该数据库中查询返回的行数.<br>**pgsql.dbstat.tup\_inserted.rate\["{\#DBNAME}"\]** - 查询在该数据库中插入的行数.<br>**pgsql.dbstat.tup\_fetched.rate\["{\#DBNAME}"\]** - 该数据库中查询获取的行数.<br>**pgsql.dbstat.tup\_deleted.rate\["{\#DBNAME}"\]** - 该数据库中查询删除的行数.<br>**pgsql.dbstat.conflicts.rate\["{\#DBNAME}"\]** - 由于与此该数据库中的恢复冲突而取消的查询数(冲突仅发生在备用服务器上).<br>**pgsql.dbstat.temp\_files.rate\["{\#DBNAME}"\]** - 由该数据库中的查询创建的临时文件的数量. 无论日志 \_temp\_files 设置和创建临时文件的原因是什么，所有的临时文件都被计算(例如, 排序或散列).<br>**pgsql.dbstat.temp\_bytes.rate\["{\#DBNAME}"\]** - 该数据库中查询写入临时文件的数据总量。包括来自所有临时文件的数据，无论日志 \_temp\_files 设置和创建临时文件的原因(例如, 排序或散列).  | |pgsql.dbstat.sum\[uri,<username>,<password>, <dbName>\]|<|<|<| |集群中所有数据库的汇总数据.|JSON 格式的 SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.|返回的数据由相关的监控项处理:<br>**pgsql.dbstat.numbackends** - 当前连接到该数据库的后端数量.<br>**pgsql.dbstat.sum.blk\_read\_time** - 在这个数据库的后端读取数据文件块所花费的时间，单位是 milliseconds.<br>**pgsql.dbstat.sum.blk\_write\_time** - 该数据库的后端写入数据文件块所花费的时间, 单位是 milliseconds.<br>**pgsql.dbstat.sum.checksum\_failures** - 检测到的数据页校验和失败的次数 (或在共享对象上), 如果数据校验和未启用，则为NULL (只在PostgreSQL 12 版本中).<br>**pgsql.dbstat.sum.xact\_commit** - 该数据库中已提交的事务数.<br>**pgsql.dbstat.sum.conflicts** - 由于与备用服务器上的恢复冲突导致的查询取消的数据库的统计信息.<br>**pgsql.dbstat.sum.deadlocks** - 在该数据库中检测到的死锁数量.<br>**pgsql.dbstat.sum.blks\_read** - 在这个数据库中读取的磁盘块的数量.<br>**pgsql.dbstat.sum.blks\_hit** - 已经在缓冲区缓存中找到磁盘块的次数，因此不需要读取 (只有在PostgreSQL Pro缓存缓存命中被包含).<br>**pgsql.dbstat.sum.temp\_bytes** - 数据库中查询写入临时文件的数据总量。包括来自所有临时文件的数据，无论日志\_temp\_files设置和创建临时文件的原因 (例如, 排序或散列).<br>**pgsql.dbstat.sum.temp\_files** - 由此数据库中的查询创建的临时文件的数量。无论日志\_temp\_files设置和创建临时文件的原因是什么，所有的临时文件都被计算在内 (例如, 排序或散列).<br>**pgsql.dbstat.sum.xact\_rollback** - 该数据库中回滚事务的数量.<br>**pgsql.dbstat.sum.tup\_deleted** - 数据库中查询删除的行数.<br>**pgsql.dbstat.sum.tup\_fetched** - 该数据库中查询获取的行数.<br>**pgsql.dbstat.sum.tup\_inserted** - 查询在该数据库中插入的行数.<br>**pgsql.dbstat.sum.tup\_returned** - 该数据库中查询返回的行数.<br>**pgsql.dbstat.sum.tup\_updated** - 该数据库中由查询更新的行数. | |pgsql.db.age\[uri,<username>,<password>, dbName\]|<|<|<| |数据库中最旧的 FrozenXID 的年龄. 用于 [底层自动发现](/manual/discovery/low_level_discovery/examples/systemd) 发现数据库中最古老的 FrozenXID 的年龄.|SQL query for specific database in transactions.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.db.bloating\_tables\[uri,<username>,<password>, <dbName>\]|<|<|<|<| |用于 [底层自动发现](/manual/discovery/low_level_discovery/examples/systemd)每个数据库膨胀的表的数量.|SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.db.discovery\[uri,<username>,<password>, <dbName>\]|<|<|<| |用于 [底层自动发现](/manual/discovery/low_level_discovery/examples/systemd)列出 PostgreSQL 的数据库列表.| LLD 中的 SQL 查询结果，以 JSON 格式输出.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.db.size\[uri,<username>,<password>, dbName\]|<|<|<| |用于 [底层自动发现](/manual/discovery/low_level_discovery/examples/systemd)列出数据库的大小，单位是 byte.|特殊数据库的SQL 查询结果，单位是 byte.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.locks\[uri,<username>,<password>, <dbName>\]|<|<|<| |用于 [底层自动发现](/manual/discovery/low_level_discovery/examples/systemd)发现每个数据库授予的锁的信息.|JSON 格式的 SQL 查询结果.|**uri** - URI or session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.|返回的数据由相关的监控项处理:<br>**pgsql.locks.shareupdateexclusive\["{\#DBNAME}"\]** - 共享更新排他锁的数量.<br>**pgsql.locks.accessexclusive\["{\#DBNAME}"\]** - 访问排他锁的数量.<br>**pgsql.locks.accessshare\["{\#DBNAME}"\]** - 访问共享锁的个数.<br>**pgsql.locks.exclusive\["{\#DBNAME}"\]** - 排他锁的数量.<br>**pgsql.locks.rowexclusive\["{\#DBNAME}"\]** - 行排他锁的数量.<br>**pgsql.locks.rowshare\["{\#DBNAME}"\]** - 行共享锁的数量.<br>**pgsql.locks.share\["{\#DBNAME}"\]** - 共享锁的数量.<br>**pgsql.locks.sharerowexclusive\["{\#DBNAME}"\]** - 共享行排他锁的数量. | |pgsql.oldest.xid\[uri,<username>,<password>, <dbName>\]|<|<|<| |最古老XID的年龄.|SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.ping\[uri,<username>,<password>, <dbName>\]|<|<|<| |测试连接是否存活.|1 - 连接存活<br><br>0 - 连接断开 (如果出现包括认证和配置问题的错误提示).|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.replication.count\[uri,<username>,<password>, <dbName>\]|<|<|<| |standby 服务器的数量.|SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.replication.recovery\_role\[uri,<username>,<password>, <dbName>\]|<|<|<| |Recovery 状态.|0 - master 模式<br>1 - recovery 在进行中 (standby 模式)|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.replication.status\[uri,<username>,<password>, <dbName>\]|<|<|<| |Replication 的状态.|0 - streaming 处于 down 状态<br>1 - streaming 处于 up 状态<br>2 - master 模式|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.replication\_lag.b\[uri,<username>,<password>, <dbName>\]|<|<|<| |Replication lag，单位是byte.|SQL 查询结果，单位是 byte.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.replication\_lag.sec\[uri,<username>,<password>, <dbName>\]|<|<|<| |Replication lag ，单位是 seconds.|SQL 查询结果，单位是 seconds.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.uptime\[uri,<username>,<password>, <dbName>\]|<|<|<| |PostgreSQL 启动时间，单位是 milliseconds.|SQL 查询结果，单位是 milliseconds.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.| | |pgsql.wal.stat\[uri,<username>,<password>, <dbName>\]|<|<|<| |WAL 统计数据.|JSON 格式的 SQL 查询结果.|**uri** - URI 或者 session name.<br>**username, password** - PostgreSQL 登陆凭证.<br>**dbName** - 数据库名称.|返回的数据由相关的监控项处理:<br>**pgsql.wal.count** — WAL 文件的数量.<br>**pgsql.wal.write** - WAL lsn  使用的 (单位是 byte). |

en-us	 #### PostgreSQL metrics  A new [item](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2#postgresql) has been added to PostgreSQL plugin for Zabbix agent 2. The metric **pgsql.queries** is used for monitoring query execution time. 
zh-cn	 #### PostgreSQL 指标  Zabbix agent 2 的PostgreSQL插件中添加了一个新的[监控项](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2#postgresql)。指标 **pgsql.queries** 用于监控查询执行时间。

en-us	 ### PostgreSQL plugin moved to loadable plugins  The PostgreSQL [plugin](/manual/config/items/plugins#loadable) is no longer built-in in Zabbix agent 2. Instead it is now a loadable plugin in the agent 2.  This change may/will break automations with Ansible, Chef, etc, because it is no longer possible to pull the plugin repository directly.  See also: [PostgreSQL loadable plugin](https://git.zabbix.com/projects/AP/repos/postgresql/browse) repository
zh-cn	### PostgreSQL 插件移动到可加载插件  PostgreSQL [插件](/manual/config/items/plugins#loadable) 不再内置在 Zabbix agent 2 中。相反，它现在是 agent 2 中的可加载插件。  此更改可能/将破坏 Ansible、Chef 等的自动化，因为不再可能直接拉取插件存储库。  另请参阅：[PostgreSQL 可加载插件](https://git.zabbix.com/projects/AP/repos/postgresql/browse) 存储库

en-us	 ### PostgreSQL + TimescaleDB  Export and import must be performed in tmux/screen to ensure that the session isn't dropped. Zabbix server should be down during the upgrade.  See also: [Important notes](#important-notes)  * Rename tables using `history_pk_prepare.sql`.  ``` {.bash} sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ``` * Run TimescaleDB hypertable migration scripts (compatible with both TSDB v2.x and v1.x version) based on compression settings:   * If compression is enabled (on default installation), run scripts from `database/postgresql/tsdb_history_pk_upgrade_with_compression`:     ``` {.bash}     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_uint.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_log.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_str.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_text.sql | sudo -u zabbix psql zabbix     ```   * If compression is disabled, run scripts from `database/postgresql/tsdb_history_pk_upgrade_no_compression`:     ``` {.bash}     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_uint.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_log.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_str.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_text.sql | sudo -u zabbix psql zabbix     ```  See also: [Tips](https://blog.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/) for improving INSERT performance.  * Follow [post-migration instructions](#after-migration) to drop the old tables.
zh-cn	### PostgreSQL + TimescaleDB  导出和导入必须在 tmux/screen 中执行，以确保会话不会被丢弃。Zabbix 服务器应该在升级期间关闭。  另请参阅：[重要说明](#important-notes)  * 使用 `history_pk_prepare.sql` 重命名表。  ``` {.bash} sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ``` * 基于压缩设置运行 TimescaleDB 超表迁移脚本（兼容 TSDB v2.x 和 v1.x 版本）：   · * 如果启用了压缩（默认安装），从 `database/postgresql/tsdb_history_pk_upgrade_with_compression` 运行脚本：   · ``` {.bash}   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk.sql | sudo -u zabbix psql zabbix   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_uint.sql | sudo -u zabbix psql zabbix   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_log.sql | sudo -u zabbix psql zabbix   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_str.sql | sudo -u zabbix psql zabbix   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_text.sql | sudo -u zabbix psql zabbix   ·```   · * 如果压缩被禁用，从`database/postgresql/tsdb_history_pk_upgrade_no_compression`运行脚本：   · ``` {.bash}   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk.sql | sudo -u zabbix psql zabbix   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_uint.sql | sudo -u zabbix psql zabbix   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_log.sql | sudo -u zabbix psql zabbix   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_str.sql | sudo -u zabbix psql zabbix   · cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_text.sql | sudo -u zabbix psql zabbix   ·```  另请参阅：[Tips](https://blog.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/) 以提高 INSERT 性能。  * 按照 [post-migration instructions](#after-migration) 删除旧表。

en-us	#### PostgreSQL  You need to have database user with permissions to create database objects.   If you are installing from Zabbix **packages**, proceed to the [instructions](https://www.zabbix.com/download) for your platform.  If you are installing Zabbix from sources:  * Create a database user.  The following shell command will create user `zabbix`. Specify a password when prompted and repeat the password (note, you may first be asked for `sudo` password):  ```bash sudo -u postgres createuser --pwprompt zabbix ```  * Create a database.  The following shell command will create the database `zabbix` (last parameter) with the previously created user as the owner (`-O zabbix`).  ```bash sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix ```  * Import the initial schema and data (assuming you are in the root directory of Zabbix sources).   For a Zabbix proxy database, only `schema.sql` should be imported (no images.sql nor data.sql).  ```bash cd database/postgresql cat schema.sql | sudo -u zabbix psql zabbix # stop here if you are creating database for Zabbix proxy cat images.sql | sudo -u zabbix psql zabbix cat data.sql | sudo -u zabbix psql zabbix ```  ::: noteimportant The above commands are provided as an example that will work in most of GNU/Linux installations. You can use different commands depending on how your system/database is configured, for example: <br><br> `psql -U <username>` <br><br> If you have any trouble setting up the database, please consult your Database administrator.  :::
zh-cn	#### PostgreSQL  您需要拥有有权创建数据库对象的数据库用户。  如果您从 Zabbix **packages** 安装，请继续执行适用于您的平台的 [instructions](https://www.zabbix.com/download)。  如果您从源码安装 Zabbix：  * 创建数据库用户。  以下 shell 命令将创建用户 `zabbix`。 出现提示时指定密码并重复密码（注意，系统可能首先要求您输入 `sudo` 密码）：  ```bash sudo -u postgres createuser --pwprompt zabbix ```  * 创建数据库。  以下 shell 命令将创建数据库 `zabbix`（最后一个参数），并将先前创建的用户作为所有者（`-O zabbix`）。  ```bash sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix ```  * 导入初始模式和数据（假设您在 Zabbix 源码的根目录中）。  对于 Zabbix 代理数据库，只应导入 `schema.sql`（不导入 images.sql 或 data.sql）。  ```bash cd database/postgresql cat schema.sql | sudo -u zabbix psql zabbix # 如果您正在为 Zabbix 代理创建数据库，请在此处停止 cat images.sql | sudo -u zabbix psql zabbix cat data.sql | sudo -u zabbix psql zabbix ```  ::: noteimportant 上面的命令作为示例提供，可以在大多数 GNU/Linux 安装中使用。 您可以使用不同的命令，例如：<br><br>`psql -U <username>`<br><br> 取决于您的系统/数据库的配置方式。 如果您在设置数据库时遇到问题，请咨询您的数据库管理员。 :::

en-us	 ### Post-migration  For all databases, once the migration is completed, do the following:  * Verify that everything works as expected.  * Drop old tables:  ``` {.sql} DROP TABLE history_old; DROP TABLE history_uint_old; DROP TABLE history_str_old; DROP TABLE history_log_old; DROP TABLE history_text_old; ```
zh-cn	### 迁移后  对于所有数据库，迁移完成后，执行以下操作：  * 验证一切是否按预期工作。  * 删除旧表：  ``` {.sql} DROP TABLE history_old; DROP TABLE history_uint_old; DROP TABLE history_str_old; DROP TABLE history_log_old; DROP TABLE history_text_old; ```

en-us	#### - Potential errors  Functions return -1 in such situations:  -   specified evaluation period contains no data;  ```{=html} <!-- --> ``` -   result of mathematical operation is not defined[^3];  ```{=html} <!-- --> ``` -   numerical complications (unfortunately, for some sets of input data     range and precision of double-precision floating-point format become     insufficient)[^4].  ::: notetip No warnings or errors are flagged if chosen fit poorly describes provided data or there is just too few data for accurate prediction. :::
zh-cn	#### 4 潜在错误  在如下情况，函数返回 -1:  -   指定的评估期不包含数据；  ```{=html} <!-- --> ``` -   数学运算的结果未定义[^3];  ```{=html} <!-- --> ``` -   数值复杂性（不幸的是，对于某些输入数据集的双精度浮点格式的范围和精度变得不够）[^4]。  ::: notetip 如果选择的拟合不能很好地描述所提供的数据，或者无法准确预测的数据太少，则不会标记警告或错误。 :::