Parametry konfiguracji: frontend Zabbix

Przegląd

Parametry konfiguracji umożliwiają dostosowanie działania frontendu Zabbix.

Określ wartości parametrów w pliku konfiguracji frontendu (zabbix.conf.php).

Ta strona ma następującą strukturę:

  • Przegląd parametrów (aby wyświetlić pełne informacje o parametrze, kliknij jego nazwę)
  • Szczegóły parametrów
Parametr Opis
$DB['TYPE'] Typ bazy danych.
$DB['SERVER'] Nazwa hosta bazy danych lub adres IP.
$DB['PORT'] Port bazy danych.
$DB['DATABASE'] Nazwa bazy danych używanej przez frontend Zabbix do łączenia się ze skonfigurowaną bazą danych.
$DB['USER'] Nazwa użytkownika używana przez frontend Zabbix do łączenia się z bazą danych.
$DB['PASSWORD'] Hasło używane przez frontend Zabbix do łączenia się z bazą danych.
$DB['SCHEMA'] Nazwa schematu bazy danych używanego przez PostgreSQL.
$DB['ENCRYPTION'] Włącza lub wyłącza szyfrowanie TLS połączeń między frontendem Zabbix a bazą danych.
$DB['KEY_FILE'] Ścieżka do pliku prywatnego klucza klienta używanego do połączenia TLS z bazą danych.
$DB['CERT_FILE'] Ścieżka do pliku certyfikatu klienta używanego do połączenia TLS z bazą danych.
$DB['CA_FILE'] Ścieżka do pliku certyfikatu CA używanego do połączenia TLS z bazą danych.
$DB['VERIFY_HOST'] Włącza lub wyłącza weryfikację nazwy hosta serwera bazy danych w certyfikacie TLS.
$DB['CIPHER_LIST'] Lista dozwolonych szyfrów TLS dla połączenia z bazą danych.
$DB['VAULT'] Określa menedżera sekretów Vault używanego do przechowywania danych uwierzytelniających bazy danych.
$DB['VAULT_URL'] URL menedżera sekretów Vault używanego do pobierania danych uwierzytelniających bazy danych.
$DB['VAULT_PREFIX'] Prefiks ścieżki lub zapytania Vault używanego do pobierania danych uwierzytelniających bazy danych.
$DB['VAULT_DB_PATH'] Ścieżka do danych uwierzytelniających bazy danych w menedżerze sekretów Vault.
$DB['VAULT_TOKEN'] Token uwierzytelniania używany do uzyskiwania dostępu do menedżera sekretów Vault.
$DB['VAULT_APP_ROLE_ID'] Identyfikator roli AppRole używany do uwierzytelniania w HashiCorp Vault.
$DB['VAULT_APP_SECRET_ID'] Identyfikator sekretu AppRole używany do uwierzytelniania w HashiCorp Vault.
$DB['VAULT_CERT_FILE'] Ścieżka do pliku certyfikatu klienta używanego do uwierzytelniania w menedżerze sekretów Vault.
$DB['VAULT_KEY_FILE'] Ścieżka do pliku prywatnego klucza klienta używanego do uwierzytelniania w menedżerze sekretów Vault.
$DB['VAULT_CACHE'] Włącza lub wyłącza buforowanie danych uwierzytelniających pobranych z menedżera sekretów Vault.
$ZBX_SERVER Określa wartość zastępującą nazwę hosta lub adres IP Zabbix.
$ZBX_SERVER_PORT Określa wartość zastępującą port serwera Zabbix.
$ZBX_SERVER_NAME Nazwa serwera Zabbix.
$IMAGE_FORMAT_DEFAULT Domyślny format obrazu.
$HISTORY_PROVIDERS[] Konfiguracja dostawców przechowywania danych historycznych dla Elasticsearch lub ClickHouse.
$SSO['SETTINGS'] Ustawienia konfiguracji logowania SAML.
$SSO['CERT_STORAGE'] Określa miejsce przechowywania certyfikatów SAML.
$SSO['SP_KEY'] Ścieżka do pliku prywatnego klucza dostawcy usług SAML (SP), gdy klucz prywatny jest przechowywany w systemie plików.
$SSO['SP_CERT'] Ścieżka do pliku certyfikatu dostawcy usług SAML (SP), gdy certyfikat jest przechowywany w systemie plików.
$SSO['IDP_CERT'] Ścieżka do pliku certyfikatu dostawcy tożsamości SAML, gdy certyfikat jest przechowywany w systemie plików.
$ZBX_FEATURE_FLAGS['banners_enabled'] Włącza lub wyłącza obsługę banerów.
$ZBX_FEATURE_FLAGS['http_auth_enabled'] Włącza lub wyłącza uwierzytelnianie użytkowników HTTP.
$ZBX_FEATURE_FLAGS['modules_config_enabled'] Włącza lub wyłącza dostęp do modułów.
$ZBX_FEATURE_FLAGS['media_type_denylist'] Wyłącza edycję określonych wstępnie skonfigurowanych typów mediów.
$ZBX_SERVER_TLS['ACTIVE'] Określa, czy TLS jest włączony dla połączeń z serwerem Zabbix.
$ZBX_SERVER_TLS['CA_FILE'] Ścieżka do pliku certyfikatu urzędu certyfikacji (CA) używanego do weryfikacji certyfikatu serwera.
$ZBX_SERVER_TLS['KEY_FILE'] Ścieżka do prywatnego klucza klienta odpowiadającego certyfikatowi klienta.
$ZBX_SERVER_TLS['CERT_FILE'] Ścieżka do pliku certyfikatu klienta, gdy wymagane jest wzajemne uwierzytelnianie TLS.
$ZBX_SERVER_TLS['CERTIFICATE_ISSUER'] Nazwa wyróżniająca (DN) wystawcy, która ma zostać dopasowana do certyfikatu serwera.
$ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] Nazwa wyróżniająca (DN) podmiotu, która ma zostać dopasowana do certyfikatu serwera.

Szczegóły parametrów

$DB['TYPE']

Typ bazy danych.

Wartości: MYSQL - MySQL, POSTGRESQL - PostgreSQL.

$DB['SERVER']

Nazwa hosta bazy danych lub adres IP.

Jeśli parametr $DB['SERVER'] nie jest zdefiniowany, używany jest domyślny gniazdo domeny Unix. W przypadku MySQL ustawienie $DB['SERVER'] na localhost również powoduje połączenie za pośrednictwem domyślnego gniazda Unix.
W przypadku PostgreSQL parametr $DB['SERVER'] może zawierać wiele wpisów host:port oddzielonych przecinkami. Jeśli dla hosta na liście rozdzielanej przecinkami nie zdefiniowano portu, jako port domyślny używana jest wartość zdefiniowana w $DB['PORT']. Jeśli w parametrze $DB['SERVER'] określono ścieżkę gniazda (na przykład /var/run/pgbouncer), używane jest to gniazdo domeny Unix.

Przykłady:

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

Port bazy danych.

Jeśli nie zdefiniowano, używana jest wartość 0.

$DB['DATABASE']

Nazwa bazy danych używana przez frontend Zabbix do łączenia się ze skonfigurowaną bazą danych.

Przykład:

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

Nazwa użytkownika używana przez frontend Zabbix do łączenia się z bazą danych.

$DB['PASSWORD']

Hasło używane przez frontend Zabbix do łączenia się z bazą danych.

$DB['SCHEMA']

Nazwa schematu bazy danych używanego przez PostgreSQL.

$DB['ENCRYPTION']

Włącz lub wyłącz szyfrowanie połączeń między frontendem Zabbix a bazą danych.

Wartości: true - włączone, false - wyłączone.

$DB['KEY_FILE']

Ścieżka do pliku klucza prywatnego klienta używanego do połączenia TLS z bazą danych.

Przykład:

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

Ścieżka do pliku certyfikatu klienta używanego do połączenia TLS z bazą danych.

Przykład:

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

Ścieżka do pliku certyfikatu CA używanego do połączenia TLS z bazą danych.

Przykłady:

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

Włącz lub wyłącz weryfikację nazwy hosta serwera bazy danych w certyfikacie TLS.

Wartości: true - włączone, false - wyłączone.

$DB['CIPHER_LIST']

Lista dozwolonych szyfrów TLS dla połączenia z bazą danych.

Przykłady:

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

Określa menedżera sekretów Vault używanego do przechowywania danych uwierzytelniających bazy danych.

Wartości: CyberArk lub HashiCorp.

Przykłady:

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

URL menedżera sekretów Vault używanego do pobierania danych uwierzytelniających do bazy danych.

Przykłady:

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

Prefiks ścieżki Vault lub zapytania używanego do pobierania danych uwierzytelniających bazy danych.

Przykład:

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

Ścieżka do danych uwierzytelniających bazy danych w menedżerze sekretów Vault.

Przykłady:

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

Token uwierzytelniający używany do uzyskiwania dostępu do menedżera sekretów Vault.

Przykład:

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

Identyfikator roli VaultAppSecretID używany do uwierzytelniania w HashiCorp Vault.

Przykład:

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

VaultAppSecretID używany do uwierzytelniania w HashiCorp Vault.

Przykład:

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

Ścieżka do pliku certyfikatu klienta używanego do uwierzytelniania w menedżerze sekretów Vault.

Przykład:

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

Ścieżka do pliku klucza prywatnego klienta używanego do uwierzytelniania w menedżerze sekretów Vault.

Przykład:

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

Włącza lub wyłącza buforowanie danych uwierzytelniających pobranych z menedżera sekretów Vault.

Wartości: true - włączone, false - wyłączone.

$ZBX_SERVER

Określ wartość zastępującą nazwę hosta/adres IP Zabbix.
Jeśli parametr $ZBX_SERVER zostanie określony bez $ZBX_SERVER_PORT, zostanie użyty port domyślny (10051).

$ZBX_SERVER_PORT

Określ wartość zastępującą port serwera Zabbix.
Ten parametr jest używany razem z $ZBX_SERVER.

$ZBX_SERVER_NAME

Nazwa serwera Zabbix.

$IMAGE_FORMAT_DEFAULT

Domyślny format obrazu.

Domyślnie: IMAGE_FORMAT_PNG
Wartości:

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

Konfiguracja dostawców przechowywania historii dla Elasticsearch lub ClickHouse.

Obsługiwane parametry konfiguracji:

  • types - tablica typów danych przechowywanych w magazynie zewnętrznym;
  • provider - typ dostawcy historii: elasticsearch lub clickhouse;
  • url - adres URL dostawcy historii;
  • db - nazwa bazy danych (używana przez ClickHouse);
  • username - użytkownik bazy danych (używany przez ClickHouse);
  • password - hasło do bazy danych (używane przez ClickHouse).

Przykłady:

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

Ustawienia konfiguracyjne logowania SAML. Tablica $SSO['SETTINGS'] musi mieć strukturę oczekiwaną przez bibliotekę SAML PHP Toolkit (dostarczaną wraz z Zabbix).

W $SSO['SETTINGS'] można określić tylko następujące opcje:

  • strict
  • baseurl
  • compress
  • contactPerson
  • organization
  • sp (tylko opcje określone na tej liście)
    • attributeConsumingService
    • x509certNew
  • idp (tylko opcje określone na tej liście)
    • singleLogoutService (tylko jedna opcja)
      • responseUrl
    • certFingerprint
    • certFingerprintAlgorithm
    • x509certMulti
  • security (tylko opcje określone na tej liście)
    • signMetadata
    • wantNameId
    • requestedAuthnContext
    • requestedAuthnContextComparison
    • wantXMLValidation
    • relaxDestinationValidation
    • destinationStrictlyMatches
    • rejectUnsolicitedResponsesWithInResponseTo
    • signatureAlgorithm
    • digestAlgorithm
    • lowercaseUrlencoding

Wszystkie pozostałe opcje są pobierane z bazy danych i nie można ich zastąpić. Opcja debug zostanie zignorowana.

Jeśli interfejs użytkownika Zabbix znajduje się za proxy lub modułem równoważenia obciążenia, można użyć niestandardowej opcji use_proxy_headers:

  • false (domyślnie) - ignorowanie nagłówków HTTP X-Forwarded-*;
  • true - używanie nagłówków HTTP X-Forwarded-* do utworzenia bazowego adresu URL.

Pełny opis dostępnych opcji konfiguracji znajduje się w oficjalnej dokumentacji biblioteki.

Przykład:

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

Określ, gdzie są przechowywane certyfikaty SAML.

Wartość domyślna: file
Wartości:

  • database - klucz prywatny i certyfikaty są przechowywane w bazie danych;
  • file - klucz prywatny i certyfikaty są przechowywane w systemie plików.

Przykład:

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

Ścieżka do pliku klucza prywatnego dostawcy usług SAML (SP), gdy klucz prywatny jest przechowywany w systemie plików.

Przykład:

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

Ścieżka do pliku certyfikatu dostawcy usługi SAML (SP), gdy certyfikat jest przechowywany w systemie plików.

Przykład:

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

Ścieżka do pliku certyfikatu dostawcy tożsamości SAML, gdy certyfikat jest przechowywany w systemie plików.

Przykład:

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

Włącz lub wyłącz obsługę banerów.

Wartość domyślna: true
Wartości: true - włączona, false - wyłączona.

$ZBX_FEATURE_FLAGS['http_auth_enabled']

Włącz lub wyłącz uwierzytelnianie użytkowników HTTP.

Wartość domyślna: true
Wartości: true - włączone, false - wyłączone.

$ZBX_FEATURE_FLAGS['modules_config_enabled']

Włącz lub wyłącz dostęp do modułów.

Wartość domyślna: true
Wartości: true - włączone, false - wyłączone.

$ZBX_FEATURE_FLAGS['media_type_denylist']

Wyłącz edytowanie określonych wstępnie skonfigurowanych typów mediów.

Wartości: email, script, sms, webhook, push.

Przykład:

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

Określa, czy połączenie TLS między frontendem Zabbix a serwerem Zabbix jest włączone.

Wartość domyślna: false
Wartości: true - włączone, false - wyłączone.

$ZBX_SERVER_TLS['CA_FILE']

Ścieżka do pliku certyfikatu urzędu certyfikacji (CA) używanego do weryfikacji certyfikatu serwera.

Przykład:

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

Ścieżka do pliku klucza prywatnego klienta odpowiadającego certyfikatowi klienta używanemu do wzajemnego uwierzytelniania TLS.

Przykład:

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

Ścieżka do pliku certyfikatu klienta, gdy wymagane jest wzajemne uwierzytelnianie TLS.

Przykład:

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

Nazwa wyróżniająca (DN) wystawcy, która ma zostać porównana z certyfikatem serwera.

Przykład:

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

Distinguished Name (DN) podmiotu, który ma zostać porównany z certyfikatem serwera.

Przykład:

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