Parametri di configurazione: frontend Zabbix

Panoramica

I parametri di configurazione consentono di personalizzare il comportamento del frontend Zabbix.

Specificare i valori dei parametri nel file di configurazione del frontend (zabbix.conf.php).

Questa pagina è strutturata come segue:

  • Panoramica dei parametri (per visualizzare tutti i dettagli di un parametro, fare clic sul suo nome)
  • Dettagli dei parametri
Parametro Descrizione
$DB['TYPE'] Tipo di database.
$DB['SERVER'] Nome host o indirizzo IP del database.
$DB['PORT'] Porta del database.
$DB['DATABASE'] Nome del database utilizzato dal frontend Zabbix per connettersi al database configurato.
$DB['USER'] Nome utente utilizzato dal frontend Zabbix per connettersi al database.
$DB['PASSWORD'] Password utilizzata dal frontend Zabbix per connettersi al database.
$DB['SCHEMA'] Nome dello schema del database utilizzato per PostgreSQL.
$DB['ENCRYPTION'] Abilita o disabilita la crittografia TLS per le connessioni tra il frontend Zabbix e il database.
$DB['KEY_FILE'] Percorso del file della chiave privata client utilizzato per la connessione TLS al database.
$DB['CERT_FILE'] Percorso del file del certificato client utilizzato per la connessione TLS al database.
$DB['CA_FILE'] Percorso del file del certificato CA utilizzato per la connessione TLS al database.
$DB['VERIFY_HOST'] Abilita o disabilita la verifica del nome host del server del database nel certificato TLS.
$DB['CIPHER_LIST'] Elenco dei cifrari TLS consentiti per la connessione al database.
$DB['VAULT'] Specifica il gestore dei segreti Vault utilizzato per archiviare le credenziali del database.
$DB['VAULT_URL'] URL del gestore dei segreti Vault utilizzato per recuperare le credenziali del database.
$DB['VAULT_PREFIX'] Prefisso per il percorso o la query di Vault utilizzato per recuperare le credenziali del database.
$DB['VAULT_DB_PATH'] Percorso delle credenziali del database nel gestore dei segreti Vault.
$DB['VAULT_TOKEN'] Token di autenticazione utilizzato per accedere al gestore dei segreti Vault.
$DB['VAULT_APP_ROLE_ID'] ID del ruolo AppRole utilizzato per autenticarsi a HashiCorp Vault.
$DB['VAULT_APP_SECRET_ID'] ID segreto AppRole utilizzato per autenticarsi a HashiCorp Vault.
$DB['VAULT_CERT_FILE'] Percorso del file del certificato client utilizzato per autenticarsi al gestore dei segreti Vault.
$DB['VAULT_KEY_FILE'] Percorso del file della chiave privata client utilizzato per autenticarsi al gestore dei segreti Vault.
$DB['VAULT_CACHE'] Abilita o disabilita la memorizzazione nella cache delle credenziali recuperate dal gestore dei segreti Vault.
$ZBX_SERVER Specifica un valore per sostituire il nome host/l'indirizzo IP di Zabbix.
$ZBX_SERVER_PORT Specifica un valore per sostituire la porta del server Zabbix.
$ZBX_SERVER_NAME Nome del server Zabbix.
$IMAGE_FORMAT_DEFAULT Formato immagine predefinito.
$HISTORY_PROVIDERS[] Configurazione dei provider di archiviazione della cronologia per Elasticsearch o ClickHouse.
$SSO['SETTINGS'] Impostazioni di configurazione per l'accesso SAML.
$SSO['CERT_STORAGE'] Specifica dove sono archiviati i certificati SAML.
$SSO['SP_KEY'] Percorso del file della chiave privata del provider di servizi (SP) SAML quando la chiave privata è archiviata nel file system.
$SSO['SP_CERT'] Percorso del file del certificato del provider di servizi (SP) SAML quando il certificato è archiviato nel file system.
$SSO['IDP_CERT'] Percorso del file del certificato del provider di identità SAML quando il certificato è archiviato nel file system.
$ZBX_FEATURE_FLAGS['banners_enabled'] Abilita o disabilita il supporto per i banner.
$ZBX_FEATURE_FLAGS['http_auth_enabled'] Abilita o disabilita l'autenticazione HTTP degli utenti.
$ZBX_FEATURE_FLAGS['modules_config_enabled'] Abilita o disabilita l'accesso ai moduli.
$ZBX_FEATURE_FLAGS['media_type_denylist'] Disabilita la modifica di specifici tipi di supporto preconfigurati.
$ZBX_SERVER_TLS['ACTIVE'] Specifica se TLS è abilitato per le connessioni al server Zabbix.
$ZBX_SERVER_TLS['CA_FILE'] Percorso del file del certificato dell'autorità di certificazione (CA) utilizzato per verificare il certificato del server.
$ZBX_SERVER_TLS['KEY_FILE'] Percorso del file della chiave privata client corrispondente al certificato client.
$ZBX_SERVER_TLS['CERT_FILE'] Percorso del file del certificato client quando è richiesta l'autenticazione TLS reciproca.
$ZBX_SERVER_TLS['CERTIFICATE_ISSUER'] Nome distinto (DN) dell'emittente da confrontare con il certificato del server.
$ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] Nome distinto (DN) del soggetto da confrontare con il certificato del server.

Dettagli dei parametri

$DB['TYPE']

Tipo di database.

Valori: MYSQL - MySQL, POSTGRESQL - PostgreSQL.

$DB['SERVER']

Nome host o indirizzo IP del database.

Se $DB['SERVER'] non è definito, viene utilizzato il socket Unix predefinito. Per MySQL, impostando $DB['SERVER'] su localhost si ottiene una connessione tramite il socket Unix predefinito.
Per PostgreSQL, $DB['SERVER'] può contenere più voci host:port separate da virgole. Se per un host nell'elenco separato da virgole non è definita una porta, viene utilizzato come porta predefinita il valore definito in $DB['PORT']. Se in $DB['SERVER'] viene specificato un percorso del socket (ad esempio, /var/run/pgbouncer), viene utilizzato tale socket Unix.

Esempi:

$DB['SERVER'] = 'localhost';
$DB['SERVER'] = 127.0.0.1;
$DB['PORT']

Porta del database.

Se non definito, viene utilizzato il valore 0.

$DB['DATABASE']

Nome del database utilizzato dal frontend di Zabbix per connettersi al database configurato.

Esempio:

$DB['DATABASE'] = 'zabbix';
$DB['USER']

Nome utente utilizzato dal frontend Zabbix per connettersi al database.

$DB['PASSWORD']

Password utilizzata dal frontend Zabbix per connettersi al database.

$DB['SCHEMA']

Nome dello schema del database utilizzato per PostgreSQL.

$DB['ENCRYPTION']

Abilita o disabilita la crittografia per le connessioni tra il frontend Zabbix e il database.

Valori: true - abilitata, false - disabilitata.

$DB['KEY_FILE']

Percorso al file della chiave privata del client utilizzato per la connessione TLS al database.

Esempio:

// Per MySQL:
$DB['KEY_FILE'] = '/etc/ssl/mysql/client-key.pem';
$DB['CERT_FILE']

Percorso al file del certificato client utilizzato per la connessione TLS al database.

Esempio:

// Per MySQL:
$DB['CERT_FILE'] = '/etc/ssl/mysql/client-cert.pem';
$DB['CA_FILE']

Percorso al file del certificato CA utilizzato per la connessione TLS al database.

Esempi:

// Per MySQL:
$DB['CA_FILE'] = '/etc/ssl/mysql/ca.pem';
// Per PostgreSQL:
$DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt';
$DB['VERIFY_HOST']

Abilita o disabilita la verifica del nome host del server del database nel certificato TLS.

Valori: true - abilitata, false - disabilitata.

$DB['CIPHER_LIST']

Elenco dei cifrari TLS consentiti per la connessione al database.

Esempi:

// Per 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']

Specificare il gestore dei segreti Vault utilizzato per archiviare le credenziali del database.

Valori: CyberArk o HashiCorp.

Esempi:

// Per CyberArk:
$DB['VAULT'] = 'CyberArk';
// Per HashiCorp:
$DB['VAULT'] = 'HashiCorp';
$DB['VAULT_URL']

URL del gestore dei segreti Vault utilizzato per recuperare le credenziali del database.

Esempi:

// Per CyberArk:
$DB['VAULT_URL'] = 'https://127.0.0.1:1858';
// Per HashiCorp:
$DB['VAULT_URL'] = 'https://localhost:8200';
$DB['VAULT_PREFIX']

Prefisso per il percorso o la query di Vault utilizzato per recuperare le credenziali del database.

Esempio:

// Per HashiCorp:
$DB['VAULT_PREFIX'] = '/v1/secret/data/zabbix/';
$DB['VAULT_DB_PATH']

Percorso delle credenziali del database nel gestore dei segreti Vault.

Esempi:

// Per CyberArk:
$DB['VAULT_DB_PATH'] = 'AppID=foo&Query=Safe=bar;Object=buzz';
// Per HashiCorp:
$DB['VAULT_DB_PATH'] = 'database';
$DB['VAULT_TOKEN']

Token di autenticazione utilizzato per accedere al gestore dei segreti Vault.

Esempio:

// Per HashiCorp:
$DB['VAULT_TOKEN'] = 'hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg';
$DB['VAULT_APP_ROLE_ID']

ID del ruolo VaultAppSecretID utilizzato per l'autenticazione a HashiCorp Vault.

Esempio:

$DB['VAULT_APP_ROLE_ID'] = '6f1567f1-538d-7d70-e8e4-5d3e59471b2e';
$DB['VAULT_APP_SECRET_ID']

VaultAppSecretID utilizzato per l'autenticazione a HashiCorp Vault.

Esempio:

$DB['VAULT_APP_SECRET_ID'] = '89dac8b1-f7d6-96a7-2ecf-f94d2de3d6f1';
$DB['VAULT_CERT_FILE']

Percorso al file del certificato client utilizzato per l'autenticazione al gestore dei segreti Vault.

Esempio:

// Per CyberArk:
$DB['VAULT_CERT_FILE'] = 'conf/certs/cyberark-cert.pem';
$DB['VAULT_KEY_FILE']

Percorso del file della chiave privata del client utilizzato per l'autenticazione al gestore dei segreti Vault.

Esempio:

// Per CyberArk:
$DB['VAULT_KEY_FILE'] = 'conf/certs/cyberark-key.pem';
$DB['VAULT_CACHE']

Abilita o disabilita la memorizzazione nella cache delle credenziali recuperate dal gestore dei segreti Vault.

Valori: true - abilitata, false - disabilitata.

$ZBX_SERVER

Specificare un valore per sovrascrivere il nome host/l'indirizzo IP di Zabbix.
Se $ZBX_SERVER viene specificato senza $ZBX_SERVER_PORT, viene utilizzata la porta predefinita (10051).

$ZBX_SERVER_PORT

Specificare un valore per sovrascrivere la porta del server Zabbix.
Questo parametro viene utilizzato insieme a $ZBX_SERVER.

$ZBX_SERVER_NAME

Nome del server Zabbix.

$IMAGE_FORMAT_DEFAULT

Formato immagine predefinito.

Predefinito: IMAGE_FORMAT_PNG
Valori:

  • IMAGE_FORMAT_PNG - formato PNG
  • IMAGE_FORMAT_JPEG - formato JPEG
  • IMAGE_FORMAT_GIF - formato GIF
$HISTORY_PROVIDERS[]

Configurazione dei provider di archiviazione della cronologia per Elasticsearch o ClickHouse.

Parametri di configurazione supportati:

  • types - array dei tipi di dati da archiviare nello storage esterno;
  • provider - tipo di provider della cronologia: elasticsearch o clickhouse;
  • url - URL del provider della cronologia;
  • db - nome del database (utilizzato per ClickHouse);
  • username - utente del database (utilizzato per ClickHouse);
  • password - password del database (utilizzata per ClickHouse).

Esempi:

// Per ClickHouse:
$HISTORY_PROVIDERS[] = [
    'types' => ['uint', 'dbl', 'str', 'log', 'text', 'json'],
    'provider' => 'clickhouse',
    'url' => 'http://localhost:8123',
    'db' => 'zabbix',
    'username' => 'zabbix',
    'password' => 'zabbix'
];
// Per Elasticsearch:
$HISTORY_PROVIDERS[] = [
    'types' => ['uint', 'dbl', 'str', 'log', 'text', 'json'],
    'provider' => 'elasticsearch',
    'url' => 'http://localhost:9200'
];
$SSO['SETTINGS']

Impostazioni di configurazione per l'accesso SAML. L'array $SSO['SETTINGS'] deve seguire la struttura prevista dalla libreria SAML PHP Toolkit (fornita con Zabbix).

In $SSO['SETTINGS'] è possibile specificare solo le seguenti opzioni:

  • strict
  • baseurl
  • compress
  • contactPerson
  • organization
  • sp (solo le opzioni specificate in questo elenco)
    • attributeConsumingService
    • x509certNew
  • idp (solo le opzioni specificate in questo elenco)
    • singleLogoutService (una sola opzione)
      • responseUrl
    • certFingerprint
    • certFingerprintAlgorithm
    • x509certMulti
  • security (solo le opzioni specificate in questo elenco)
    • signMetadata
    • wantNameId
    • requestedAuthnContext
    • requestedAuthnContextComparison
    • wantXMLValidation
    • relaxDestinationValidation
    • destinationStrictlyMatches
    • rejectUnsolicitedResponsesWithInResponseTo
    • signatureAlgorithm
    • digestAlgorithm
    • lowercaseUrlencoding

Tutte le altre opzioni vengono recuperate dal database e non possono essere sovrascritte. L'opzione debug verrà ignorata.

Se la UI di Zabbix si trova dietro un proxy o un bilanciatore del carico, è possibile utilizzare l'opzione personalizzata use_proxy_headers:

  • false (predefinito) - ignora le intestazioni HTTP X-Forwarded-*;
  • true - utilizza le intestazioni HTTP X-Forwarded-* per creare l'URL di base.

Per una descrizione completa delle opzioni di configurazione disponibili, consultare la documentazione ufficiale della libreria.

Esempio:

$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']

Specificare dove vengono archiviati i certificati SAML.

Predefinito: file
Valori:

  • database - la chiave privata e i certificati vengono archiviati nel database;
  • file - la chiave privata e i certificati vengono archiviati nel filesystem.

Esempio:

$SSO['CERT_STORAGE'] = 'database';
$SSO['SP_KEY']

Percorso al file della chiave privata del service provider (SP) SAML quando la chiave privata è archiviata nel filesystem.

Esempio:

$SSO['SP_KEY'] = 'conf/certs/sp.key';
$SSO['SP_CERT']

Percorso al file del certificato del service provider (SP) SAML quando il certificato è archiviato nel filesystem.

Esempio:

$SSO['SP_CERT'] = 'conf/certs/sp.crt';
$SSO['IDP_CERT']

Percorso al file del certificato del provider di identità SAML quando il certificato è archiviato nel file system.

Esempio:

$SSO['IDP_CERT'] = 'conf/certs/idp.crt';
$ZBX_FEATURE_FLAGS['banners_enabled']

Abilita o disabilita il supporto per i banner.

Predefinito: true
Valori: true - abilitato, false - disabilitato.

$ZBX_FEATURE_FLAGS['http_auth_enabled']

Abilita o disabilita l'autenticazione HTTP degli utenti.

Predefinito: true
Valori: true - abilitata, false - disabilitata.

$ZBX_FEATURE_FLAGS['modules_config_enabled']

Abilita o disabilita l'accesso ai moduli.

Predefinito: true
Valori: true - abilitato, false - disabilitato.

$ZBX_FEATURE_FLAGS['media_type_denylist']

Disabilita la modifica di specifici tipi di supporto preconfigurati.

Valori: email, script, sms, webhook, push.

Esempio:

$ZBX_FEATURE_FLAGS['media_type_denylist'] = ['webhook','push'];
$ZBX_SERVER_TLS['ACTIVE']

Specifica se una connessione TLS tra il frontend Zabbix e il server Zabbix è abilitata.

Predefinito: false
Valori: true - abilitata, false - disabilitata.

$ZBX_SERVER_TLS['CA_FILE']

Percorso al file del certificato dell'Autorità di certificazione (CA) utilizzato per verificare il certificato del server.

Esempio:

$ZBX_SERVER_TLS['CA_FILE'] = '/etc/zabbix/ssl/ca.crt';
$ZBX_SERVER_TLS['KEY_FILE']

Percorso del file della chiave privata del client corrispondente al certificato client utilizzato per l'autenticazione TLS reciproca.

Esempio:

$ZBX_SERVER_TLS['KEY_FILE'] = '/etc/zabbix/ssl/frontend.key';
$ZBX_SERVER_TLS['CERT_FILE']

Percorso al file del certificato client quando è richiesta l'autenticazione TLS reciproca.

Esempio:

$ZBX_SERVER_TLS['CERT_FILE'] = '/etc/zabbix/ssl/frontend.crt';
$ZBX_SERVER_TLS['CERTIFICATE_ISSUER']

Nome distinto (DN) dell'emittente da confrontare con il certificato del server.

Esempio:

$ZBX_SERVER_TLS['CERTIFICATE_ISSUER']  = 'CN=MyZabbixCA';
$ZBX_SERVER_TLS['CERTIFICATE_SUBJECT']

Nome distinto (DN) del soggetto da confrontare con il certificato del server.

Esempio:

$ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = 'CN=zabbix-server.example.com';