配置参数:Zabbix 前端
概述
配置参数允许自定义 Zabbix 前端的行为。
在前端配置文件(zabbix.conf.php)中指定参数值。
本页面的结构如下:
- 参数概述(要查看参数的完整详细信息,请单击其名称)
- 参数详细信息
| 参数 | 描述 |
|---|---|
| $DB['TYPE'] | 数据库类型。 |
| $DB['SERVER'] | 数据库主机名或 IP 地址。 |
| $DB['PORT'] | 数据库端口。 |
| $DB['DATABASE'] | Zabbix 前端用于连接已配置数据库的数据库名称。 |
| $DB['USER'] | Zabbix 前端用于连接数据库的用户名。 |
| $DB['PASSWORD'] | Zabbix 前端用于连接数据库的密码。 |
| $DB['SCHEMA'] | PostgreSQL 使用的数据库模式名称。 |
| $DB['ENCRYPTION'] | 启用或禁用 Zabbix 前端与数据库之间连接的 TLS 加密。 |
| $DB['KEY_FILE'] | 用于数据库 TLS 连接的客户端私钥文件路径。 |
| $DB['CERT_FILE'] | 用于数据库 TLS 连接的客户端证书文件路径。 |
| $DB['CA_FILE'] | 用于数据库 TLS 连接的 CA 证书文件路径。 |
| $DB['VERIFY_HOST'] | 启用或禁用对 TLS 证书中数据库服务器主机名的验证。 |
| $DB['CIPHER_LIST'] | 数据库连接允许使用的 TLS 密码套件列表。 |
| $DB['VAULT'] | 指定用于存储数据库凭据的 Vault 密钥管理器。 |
| $DB['VAULT_URL'] | 用于检索数据库凭据的 Vault 密钥管理器 URL。 |
| $DB['VAULT_PREFIX'] | 用于检索数据库凭据的 Vault 路径或查询的前缀。 |
| $DB['VAULT_DB_PATH'] | Vault 密钥管理器中数据库凭据的路径。 |
| $DB['VAULT_TOKEN'] | 用于访问 Vault 密钥管理器的身份验证令牌。 |
| $DB['VAULT_APP_ROLE_ID'] | 用于向 HashiCorp Vault 进行身份验证的 AppRole 角色 ID。 |
| $DB['VAULT_APP_SECRET_ID'] | 用于向 HashiCorp Vault 进行身份验证的 AppRole 密钥 ID。 |
| $DB['VAULT_CERT_FILE'] | 用于向 Vault 密钥管理器进行身份验证的客户端证书文件路径。 |
| $DB['VAULT_KEY_FILE'] | 用于向 Vault 密钥管理器进行身份验证的客户端私钥文件路径。 |
| $DB['VAULT_CACHE'] | 启用或禁用对从 Vault 密钥管理器检索的凭据进行缓存。 |
| $ZBX_SERVER | 指定一个值以覆盖 Zabbix 主机名/IP 地址。 |
| $ZBX_SERVER_PORT | 指定一个值以覆盖 Zabbix 服务器端口。 |
| $ZBX_SERVER_NAME | Zabbix 服务器名称。 |
| $IMAGE_FORMAT_DEFAULT | 默认图像格式。 |
| $HISTORY_PROVIDERS[] | Elasticsearch 或 ClickHouse 的历史数据存储提供程序配置。 |
| $SSO['SETTINGS'] | SAML 登录的配置设置。 |
| $SSO['CERT_STORAGE'] | 指定 SAML 证书的存储位置。 |
| $SSO['SP_KEY'] | 当私钥存储在文件系统中时,SAML 服务提供商(SP)私钥文件的路径。 |
| $SSO['SP_CERT'] | 当证书存储在文件系统中时,SAML 服务提供商(SP)证书文件的路径。 |
| $SSO['IDP_CERT'] | 当证书存储在文件系统中时,SAML 身份提供商证书文件的路径。 |
| $ZBX_FEATURE_FLAGS['banners_enabled'] | 启用或禁用对横幅的支持。 |
| $ZBX_FEATURE_FLAGS['http_auth_enabled'] | 启用或禁用用户 HTTP 身份验证。 |
| $ZBX_FEATURE_FLAGS['modules_config_enabled'] | 启用或禁用对模块的访问。 |
| $ZBX_FEATURE_FLAGS['media_type_denylist'] | 禁用对特定预配置媒介类型的编辑。 |
| $ZBX_SERVER_TLS['ACTIVE'] | 指定与 Zabbix 服务器的连接是否启用 TLS。 |
| $ZBX_SERVER_TLS['CA_FILE'] | 用于验证服务器证书的证书颁发机构(CA)证书文件路径。 |
| $ZBX_SERVER_TLS['KEY_FILE'] | 与客户端证书对应的客户端私钥文件路径。 |
| $ZBX_SERVER_TLS['CERT_FILE'] | 需要双向 TLS 身份验证时的客户端证书文件路径。 |
| $ZBX_SERVER_TLS['CERTIFICATE_ISSUER'] | 用于与服务器证书进行匹配的颁发者可分辨名称(DN)。 |
| $ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] | 用于与服务器证书进行匹配的主题可分辨名称(DN)。 |
参数详细信息
$DB['TYPE']
数据库类型。
取值:MYSQL - MySQL,POSTGRESQL - PostgreSQL。
$DB['SERVER']
数据库主机名或 IP 地址。
如果未定义 $DB['SERVER'],则使用默认的 Unix 域套接字。
对于 MySQL,将 $DB['SERVER'] 设置为 localhost 也会通过默认的 Unix 奟接字建立连接。
对于 PostgreSQL,$DB['SERVER'] 可以包含多个以逗号分隔的 host:port 条目。
如果逗号分隔列表中的某个主机未定义端口,则使用 $DB['PORT'] 中定义的值作为默认端口。
如果在 $DB['SERVER'] 中指定了套接字路径(例如 /var/run/pgbouncer),则使用该 Unix 域套接字。
示例:
$DB['SERVER'] = 'localhost';
$DB['SERVER'] = 127.0.0.1;
$DB['PORT']
数据库端口。
如果未定义,则使用值 0。
$DB['DATABASE']
Zabbix 前端用于连接已配置数据库的数据库名称。
示例:
$DB['DATABASE'] = 'zabbix';
$DB['USER']
Zabbix 前端用于连接数据库的用户名。
$DB['PASSWORD']
Zabbix 前端用于连接数据库的密码。
$DB['SCHEMA']
用于 PostgreSQL 的数据库架构名称。
$DB['ENCRYPTION']
启用或禁用 Zabbix 前端与数据库之间连接的加密。
取值:true - 启用,false - 禁用。
$DB['KEY_FILE']
用于数据库 TLS 连接的客户端私钥文件路径。
示例:
// 对于 MySQL:
$DB['KEY_FILE'] = '/etc/ssl/mysql/client-key.pem';
$DB['CERT_FILE']
用于数据库 TLS 连接的客户端证书文件路径。
示例:
// 对于 MySQL:
$DB['CERT_FILE'] = '/etc/ssl/mysql/client-cert.pem';
$DB['CA_FILE']
用于数据库 TLS 连接的 CA 证书文件路径。
示例:
// 对于 MySQL:
$DB['CA_FILE'] = '/etc/ssl/mysql/ca.pem';
// 对于 PostgreSQL:
$DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt';
$DB['VERIFY_HOST']
启用或禁用 TLS 证书中数据库服务器主机名的验证。
取值:true - 启用,false - 禁用。
$DB['CIPHER_LIST']
数据库连接允许使用的 TLS 加密套件列表。
示例:
// 对于 MySQL:
$DB['CIPHER_LIST'] = 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-GC';
$DB['VAULT']
指定用于存储数据库凭据的 Vault 密钥管理器。
值:CyberArk 或 HashiCorp。
示例:
// 对于 CyberArk:
$DB['VAULT'] = 'CyberArk';
// 对于 HashiCorp:
$DB['VAULT'] = 'HashiCorp';
$DB['VAULT_URL']
用于检索数据库凭据的 Vault 密钥管理器 URL。
示例:
// 对于 CyberArk:
$DB['VAULT_URL'] = 'https://127.0.0.1:1858';
// 对于 HashiCorp:
$DB['VAULT_URL'] = 'https://localhost:8200';
$DB['VAULT_PREFIX']
用于检索数据库凭据的 Vault 路径或查询的前缀。
示例:
// 对于 HashiCorp:
$DB['VAULT_PREFIX'] = '/v1/secret/data/zabbix/';
$DB['VAULT_DB_PATH']
Vault secrets manager 中数据库凭据的路径。
示例:
// 对于 CyberArk:
$DB['VAULT_DB_PATH'] = 'AppID=foo&Query=Safe=bar;Object=buzz';
// 对于 HashiCorp:
$DB['VAULT_DB_PATH'] = 'database';
$DB['VAULT_TOKEN']
用于访问 Vault 密钥管理器的身份验证令牌。
示例:
// 对于 HashiCorp:
$DB['VAULT_TOKEN'] = 'hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg';
$DB['VAULT_APP_ROLE_ID']
用于向 HashiCorp Vault 进行身份验证的 VaultAppSecretID 角色 ID。
示例:
$DB['VAULT_APP_ROLE_ID'] = '6f1567f1-538d-7d70-e8e4-5d3e59471b2e';
$DB['VAULT_APP_SECRET_ID']
用于向 HashiCorp Vault 进行身份验证的 VaultAppSecretID。
示例:
$DB['VAULT_APP_SECRET_ID'] = '89dac8b1-f7d6-96a7-2ecf-f94d2de3d6f1';
$DB['VAULT_CERT_FILE']
用于向 Vault secrets manager 进行身份验证的客户端证书文件路径。
示例:
// 对于 CyberArk:
$DB['VAULT_CERT_FILE'] = 'conf/certs/cyberark-cert.pem';
$DB['VAULT_KEY_FILE']
用于向 Vault secrets manager 进行身份验证的客户端私钥文件路径。
示例:
// 对于 CyberArk:
$DB['VAULT_KEY_FILE'] = 'conf/certs/cyberark-key.pem';
$DB['VAULT_CACHE']
启用或禁用从 Vault secrets manager 检索的凭据缓存。
值:true - 启用,false - 禁用。
$ZBX_SERVER
指定一个值以覆盖 Zabbix 主机名/IP 地址。
如果指定了 $ZBX_SERVER 但未指定 $ZBX_SERVER_PORT,则使用默认端口(10051)。
$ZBX_SERVER_PORT
指定一个值以覆盖 Zabbix 服务器端口。
此参数与 $ZBX_SERVER 一起使用。
$ZBX_SERVER_NAME
Zabbix 服务器名称。
$IMAGE_FORMAT_DEFAULT
默认图像格式。
默认值:IMAGE_FORMAT_PNG
值:
IMAGE_FORMAT_PNG- PNG 格式IMAGE_FORMAT_JPEG- JPEG 格式IMAGE_FORMAT_GIF- GIF 格式
$HISTORY_PROVIDERS[]
Elasticsearch 或 ClickHouse 的历史数据存储提供程序配置。
支持的配置参数:
types- 要存储在外部存储中的数据类型数组;provider- 历史数据提供程序类型:elasticsearch或clickhouse;url- 历史数据提供程序 URL;db- 数据库名称(用于 ClickHouse);username- 数据库用户(用于 ClickHouse);password- 数据库密码(用于 ClickHouse)。
示例:
// 对于 ClickHouse:
$HISTORY_PROVIDERS[] = [
'types' => ['uint', 'dbl', 'str', 'log', 'text', 'json'],
'provider' => 'clickhouse',
'url' => 'http://localhost:8123',
'db' => 'zabbix',
'username' => 'zabbix',
'password' => 'zabbix'
];
// 对于 Elasticsearch:
$HISTORY_PROVIDERS[] = [
'types' => ['uint', 'dbl', 'str', 'log', 'text', 'json'],
'provider' => 'elasticsearch',
'url' => 'http://localhost:9200'
];
$SSO['SETTINGS']
SAML 登录的配置设置。
$SSO['SETTINGS'] 数组必须遵循 SAML PHP Toolkit 库所需的结构(该库由 Zabbix 提供)。
$SSO['SETTINGS'] 中只能指定以下选项:
strictbaseurlcompresscontactPersonorganizationsp(仅限此列表中指定的选项)attributeConsumingServicex509certNew
idp(仅限此列表中指定的选项)singleLogoutService(仅限一个选项)responseUrl
certFingerprintcertFingerprintAlgorithmx509certMulti
security(仅限此列表中指定的选项)signMetadatawantNameIdrequestedAuthnContextrequestedAuthnContextComparisonwantXMLValidationrelaxDestinationValidationdestinationStrictlyMatchesrejectUnsolicitedResponsesWithInResponseTosignatureAlgorithmdigestAlgorithmlowercaseUrlencoding
所有其他选项均从数据库中获取,无法覆盖。
debug 选项将被忽略。
如果 Zabbix UI 位于 proxy 或负载均衡器之后,可以使用自定义的 use_proxy_headers 选项:
false(默认)- 忽略X-Forwarded-*HTTP 标头;true- 使用X-Forwarded-*HTTP 标头构建基础 URL。
有关可用配置选项的完整说明,请参阅官方库文档。
示例:
$SSO['SETTINGS'] = [
'security' => [
'signatureAlgorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384',
'digestAlgorithm' => 'http://www.w3.org/2001/04/xmldsig-more#sha384',
// ...
],
// ...
];
$SSO['CERT_STORAGE']
指定 SAML 证书的存储位置。
默认值:file
值:
database- 私钥和证书存储在数据库中;file- 私钥和证书存储在文件系统中。
示例:
$SSO['CERT_STORAGE'] = 'database';
$SSO['SP_KEY']
当私钥存储在文件系统中时,SAML 服务提供商(SP)私钥文件的路径。
示例:
$SSO['SP_KEY'] = 'conf/certs/sp.key';
$SSO['SP_CERT']
当证书存储在文件系统中时,SAML 服务提供商(SP)证书文件的路径。
示例:
$SSO['SP_CERT'] = 'conf/certs/sp.crt';
$SSO['IDP_CERT']
当证书存储在文件系统中时,SAML 身份提供商证书文件的路径。
示例:
$SSO['IDP_CERT'] = 'conf/certs/idp.crt';
$ZBX_FEATURE_FLAGS['banners_enabled']
启用或禁用对横幅的支持。
默认值:true
值:true - 已启用,false - 已禁用。
$ZBX_FEATURE_FLAGS['http_auth_enabled']
启用或禁用用户 HTTP 身份验证。
默认值:true
值:true - 已启用,false - 已禁用。
$ZBX_FEATURE_FLAGS['modules_config_enabled']
启用或禁用对模块的访问。
默认值:true
值:true - 已启用,false - 已禁用。
$ZBX_FEATURE_FLAGS['media_type_denylist']
禁止编辑特定的预配置媒介类型。
值:email、script、sms、webhook、push。
示例:
$ZBX_FEATURE_FLAGS['media_type_denylist'] = ['webhook','push'];
$ZBX_SERVER_TLS['ACTIVE']
指定是否启用 Zabbix 前端与 Zabbix 服务器之间的 TLS 连接。
默认值:false
值:true - 启用,false - 禁用。
$ZBX_SERVER_TLS['CA_FILE']
用于验证服务器证书的证书颁发机构(CA)证书文件路径。
示例:
$ZBX_SERVER_TLS['CA_FILE'] = '/etc/zabbix/ssl/ca.crt';
$ZBX_SERVER_TLS['KEY_FILE']
与用于双向 TLS 身份验证的客户端证书对应的客户端私钥文件路径。
示例:
$ZBX_SERVER_TLS['KEY_FILE'] = '/etc/zabbix/ssl/frontend.key';
$ZBX_SERVER_TLS['CERT_FILE']
需要双向 TLS 身份验证时,客户端证书文件的路径。
示例:
$ZBX_SERVER_TLS['CERT_FILE'] = '/etc/zabbix/ssl/frontend.crt';
$ZBX_SERVER_TLS['CERTIFICATE_ISSUER']
用于与服务器证书进行匹配的颁发者可分辨名称(DN)。
示例:
$ZBX_SERVER_TLS['CERTIFICATE_ISSUER'] = 'CN=MyZabbixCA';
$ZBX_SERVER_TLS['CERTIFICATE_SUBJECT']
用于与服务器证书进行匹配的使用者专有名称(DN)。
示例:
$ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = 'CN=zabbix-server.example.com';