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 nemen aan dat er een zabbix databasegebruiker met password wachtwoord bestaat en heeft machtigingen om database-objecten in de ORCL-service te maken op de host Oracle-databaseserver. Zabbix vereist een Unicode-database tekenset en een UTF8
nationale tekenset. Controleer stroom instellingen:
sqlplus> selecteer parameter,waarde uit v$nls_parameters waarbij parameter='NLS_CHARACTERSET' of parameter='NLS_NCHAR_CHARACTERSET';
Bereid nu de database voor:
shell> cd /pad/naar/zabbix-sources/database/oracle
shell> sqlplus zabbix/password@oracle_host/ORCL
sqlplus> @schema.sql
# stop hier als u een database maakt voor Zabbix-proxy
sqlplus> @images.sql
sqlplus> @data.sql
Stel de initialisatieparameter in CURSOR_SHARING=FORCE 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 wordt omgezet naar een verbindingsdescriptor.
Om de service naam te gebruiken voor het maken van een verbinding, moet deze service naam gedefinieerd zijn in het tnsnames.ora bestand dat zich bevindt op zowel de databaseserver als de client systemen. 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 ingesteld zijn. Deze geeft de standaard externe Oracle service (service naam) aan. Als deze variabele is gedefinieerd, maakt de connector verbinding met de gespecificeerde database via een Oracle listener die verbindingsverzoeken accepteert. Deze variabele is alleen voor gebruik op Linux en UNIX. Gebruik de LOCAL omgevingsvariabele voor Microsoft Windows.
Voorbeeld:
Verbinding maken met een database met behulp van een Net-service naam die is ingesteld als ORCL en de standaard poort. Databaseparameters ingesteld in het server- of proxy-configuratiebestand (zabbix_server.conf en zabbix_proxy.conf):
Tijdens de installatie van Zabbix frontend, stel de overeenkomstige parameters in de Configure DB connection stap van de installatiewizard in:
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 van nclob naar nvarchar2 converteren, zie bekende problemen.