Dit gedeelte bevat instructies voor het maken van een Oracle-database en: verbindingen configureren tussen de database en Zabbix-server, proxy, en front-end.
We gaan ervan uit dat een zabbix databasegebruiker met wachtwoord wachtwoord bestaat en toestemming heeft om databaseobjecten te maken in de ORCL-service op de host Oracle-databaseserver. Zabbix vereist een Unicode-databasekarakterset en een UTF8
nationale karakterset. Controleer de huidige instellingen:
sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';
Bereid nu de database voor:
cd /pad/naar/zabbix-bronnen/database/oracle
sqlplus zabbix/wachtwoord@oracle_host/ORCL
sqlplus> @schema.sql
# stop hier als je een database voor Zabbix-proxy aanmaakt
sqlplus> @images.sql
sqlplus> @data.sql
Stel de initialisatieparameter CURSOR_SHARING=FORCE in voor de beste prestaties.
Zabbix ondersteunt twee soorten verbindings-ID's (verbindingsmethoden):
Verbindingsconfiguratieparameters voor Zabbix-server en Zabbix-proxy kan worden ingesteld in de configuratiebestanden. Belangrijke parameters voor de server en proxy zijn DBHost, DBUser, DBName en DBPassword. De dezelfde parameters zijn belangrijk voor de frontend: $DB["SERVER"], $DB["POORT"], $DB["DATABASE"], $DB["USER"], $DB["WACHTWOORD"].
Zabbix gebruikt de volgende syntaxis van de verbindingsreeks:
<connect_identifier> kan worden opgegeven in de vorm van "Net Servicenaam" of "Easy Connect".
Easy Connect gebruikt de volgende parameters om verbinding te maken met de database:
Voorbeeld:
Databaseparameters ingesteld in het server- of proxyconfiguratiebestand (zabbix_server.conf en zabbix_proxy.conf):
Verbindingsreeks gebruikt door Zabbix om verbinding tot stand te brengen:
Stel tijdens Zabbix frontend-installatie de bijbehorende parameters in de stap DB-verbinding configureren van de installatiewizard:
Als alternatief kunnen deze parameters worden ingesteld in de frontend-configuratie bestand (zabbix.conf.php):
$DB["TYPE"] = 'ORAKLE';
$DB["SERVER"] = 'localhost';
$DB["POORT"] = '1521';
$DB["DATABASE"] = 'ORCL';
$DB["USER"] = 'mijngebruikersnaam';
$DB["PASSWORD"] = 'mijnwachtwoord';
Sinds Zabbix 5.4.0 is het mogelijk om verbinding te maken met Oracle door gebruik te maken van een net service naam.
<net_service_name> is een eenvoudige naam voor een service die oplost naar een connect descriptor.
Om de service naam te gebruiken voor het maken van een verbinding, moet deze service naam worden gedefinieerd in het tnsnames.ora-bestand dat zich zowel op de databaseserver als op de clientsystemen bevindt. De eenvoudigste manier om ervoor te zorgen dat de verbinding slaagt, is door de locatie van het tnsnames.ora-bestand te definiëren in de TNS_ADMIN omgevingsvariabele. De standaardlocatie van het tnsnames.ora-bestand is:
Een eenvoudig voorbeeld van een tnsnames.ora-bestand:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
Om configuratieparameters in te stellen voor de "Net Service Name" verbindingsmethode, gebruik een van de volgende opties:
In het tweede geval moet de TWO_TASK omgevingsvariabele worden ingesteld. Het specificeert de standaard externe Oracle-service (service naam). Wanneer deze variabele is gedefinieerd, maakt de connector verbinding met de gespecificeerde database door gebruik te maken van een Oracle-listener die verbindingsverzoeken accepteert. Deze variabele is alleen voor gebruik op Linux en UNIX. Gebruik de LOCAL omgevingsvariabele voor Microsoft Windows.
Voorbeeld:
Maak verbinding met een database met behulp van de Net Service Name ingesteld als ORCL en de standaard poort. Databaseparameters ingesteld in het configuratiebestand van de server of proxy (zabbix_server.conf en zabbix_proxy.conf):
Tijdens de installatie van de Zabbix frontend stel je de overeenkomstige parameters in bij de Configure DB connection stap van de installatiewizard:
Als alternatief kunnen deze parameters worden ingesteld in het frontend configuratiebestand (zabbix.conf.php):
$DB["TYPE"] = 'ORACLE';
$DB["SERVER"] = '';
$DB["PORT"] = '0';
$DB["DATABASE"] = 'ORCL';
$DB["USER"] = 'myusername';
$DB["PASSWORD"] = 'mypassword';
Verbindingsreeks die door Zabbix wordt gebruikt om verbinding te maken:
Om de prestaties te verbeteren, kunt u de veldtypen converteren van nclob naar nvarchar2, zie bekende problemen.