Ta sekcja zawiera instrukcje dotyczące tworzenia bazy danych Oracle oraz konfigurowania połączeń między bazą danych a serwerem Zabbix, proxy i frontendem.
Zakładamy, że użytkownik bazy danych zabbix z hasłem password istnieje i ma uprawnienia do tworzenia obiektów bazodanowych w usłudze ORCL znajdującej się na serwerze bazy danych Oracle host. Zabbix wymaga zestawu znaków Unicode i narodowego zestawu znaków UTF8
. Sprawdź bieżące ustawienia:
parameter='NLS_NCHAR_CHARACTERSET';
Teraz przygotuj bazę danych:
cd /path/to/zabbix-sources/database/oracle
sqlplus zabbix/password@oracle_host/ORCL
sqlplus> @schema.sql
# zatrzymaj się tutaj, jeśli tworzysz bazę danych dla Zabbix proxy
sqlplus> @images.sql
sqlplus> @data.sql
Proszę ustawić parametr inicjalizacji CURSOR_SHARING=FORCE dla najlepszej wydajności.
Zabbix obsługuje dwa rodzaje identyfikatorów połączeń (metody połączenia):
Parametry konfiguracji połączenia dla serwera Zabbix i proxy Zabbix można ustawić w plikach konfiguracyjnych. Ważne parametry dla serwera i proxy to DBHost, DBUser, DBName i DBPassword. Te same parametry są ważne dla frontend: $DB["SERVER"], $DB["PORT"], $DB["DATABASE"], $DB["USER"], $DB["PASSWORD"].
Zabbix używa następującej składni ciągu połączenia:
<connect_identifier> może być określony w formie "Net Service Name" lub "Easy Connect".
Easy Connect używa następujących parametrów do połączenia się z bazą danych:
Przykład:
Parametry bazy danych ustawione w pliku konfiguracyjnym serwera lub proxy (zabbix_server.conf i zabbix_proxy.conf):
Ciąg połączenia używany przez Zabbix do nawiązania połączenia:
Podczas instalacji frontendu Zabbix, ustaw odpowiednie parametry w kroku Konfiguruj połączenie DB kreatora konfiguracji:
Alternatywnie, te parametry można ustawić w pliku konfiguracyjnym frontendu (zabbix.conf.php):
$DB["TYPE"] = 'ORACLE';
$DB["SERVER"] = 'localhost';
$DB["PORT"] = '1521';
$DB["DATABASE"] = 'ORCL';
$DB["USER"] = 'myusername';
$DB["PASSWORD"] = 'mypassword';
Od wersji Zabbix 5.4.0 możliwe jest nawiązanie połączenia z Oracle za pomocą net service name.
<net_service_name> to prosty identyfikator dla usługi, który rozwiązuje się do deskryptora połączenia.
Aby używać nazwy usługi do tworzenia połączenia, ta nazwa usługi musi być zdefiniowana w pliku tnsnames.ora znajdującym się zarówno na serwerze bazy danych, jak i na systemach klientów. Najprostszym sposobem zapewnienia, że połączenie będzie udane, jest zdefiniowanie lokalizacji pliku tnsnames.ora w zmiennej środowiskowej TNS_ADMIN. Domyślna lokalizacja pliku tnsnames.ora to:
Prosty przykład pliku tnsnames.ora:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
Aby ustawić parametry konfiguracji dla metody połączenia "Net Service Name", użyj jednej z poniższych opcji:
W drugim przypadku zmienna środowiskowa TWO_TASK musi być ustawiona. Określa domyślną zdalną usługę Oracle (nazwę usługi). Gdy ta zmienna jest zdefiniowana, connector łączy się z określoną bazą danych, korzystając z Oracle listener, który akceptuje żądania połączenia. Ta zmienna jest przeznaczona tylko dla systemów Linux i UNIX. Na systemach Microsoft Windows użyj zmiennej środowiskowej LOCAL.
Przykład:
Nawiąż połączenie z bazą danych za pomocą Net Service Name jako ORCL i domyślnego portu. Parametry bazy danych ustawione w pliku konfiguracyjnym serwera lub proxy (zabbix_server.conf i zabbix_proxy.conf):
Podczas instalacji frontendu Zabbix, ustaw odpowiednie parametry w kroku Konfiguruj połączenie DB kreatora konfiguracji:
Alternatywnie, te parametry można ustawić w pliku konfiguracyjnym frontendu (zabbix.conf.php):
$DB["TYPE"] = 'ORACLE';
$DB["SERVER"] = '';
$DB["PORT"] = '0';
$DB["DATABASE"] = 'ORCL';
$DB["USER"] = 'myusername';
$DB["PASSWORD"] = 'mypassword';
Ciąg połączenia używany przez Zabbix do nawiązania połączenia:
Aby poprawić wydajność, można przekonwertować typy pól z nclob na nvarchar2, Sprawdź znane problemy.