Une base de données Zabbix doit être créée pendant l'installation du serveur ou du proxy Zabbix.
Cette section fournie les instructions pour créer une base de données Zabbix. Un ensemble d'instructions séparées est disponible pour chaque base de données supportée.
Les fichiers schema.sql
, images.sql
et data.sql
sont situés dans le sous-répertoire database des sources Zabbix. Si Zabbix a été installé depuis les packages de distribution, référez-vous à la documentation de la distribution.
Pour la base de données du proxy Zabbix, seul schema.sql
doit être importé (pas images.sql ni data.sql)
Les classements des jeux de caractères utf8 et utf8_bin sont requis pour que le serveur Zabbix fonctionne correctement avec la base de données MySQL.
shell> mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit;
Si vous utilisez les packages Zabbix continuez avec les instructions pour Debian/Ubuntu ou RHEL/CentOS pour importer les données dans la base de données.
shell> cd database/mysql
shell> mysql -uzabbix -p<password> zabbix < schema.sql
# arrêtez ici si vous souhaitez créer une base de données pour le proxy Zabbix
shell> mysql -uzabbix -p<password> zabbix < images.sql
shell> mysql -uzabbix -p<password> zabbix < data.sql
Vous devez disposer d'un utilisateur de base de données autorisé à créer des objets de base de données. La commande suivante va créer l'utilisateur zabbix
. Spécifiez le mot de passe lorsque vous y êtes invité et répétez le mot de passe. (notez que le mot de passe 'sudo' peut vous être demandé en premier lieu) :
Nous allons maintenant configurer la base de données zabbix
(dernier paramètre) avec l'utilisateur créé précédemment en tant que propriétaire (-O zabbix
) et importer le schéma initial et les données (en supposant que vous soyez dans le répertoire racine des sources de Zabbix) :
Si vous utilisez les packages Zabbix continuez avec les instructions pour Debian/Ubuntu ou RHEL/CentOS pour importer les données dans la base de données.
shell> cd database/postgresql
shell> cat schema.sql | sudo -u zabbix psql zabbix
# arrêtez ici si vous souhaitez créer une base de données pour le proxy Zabbix
shell> cat images.sql | sudo -u zabbix psql zabbix
shell> cat data.sql | sudo -u zabbix psql zabbix
Les commandes ci-dessus sont fournies à titre d'exemple et fonctionneront dans la plupart des installations GNU/Linux. Vous pouvez utiliser différentes commandes, e. g. "psql -U <nom d'utilisateur>" en fonction de la configuration de votre système/base de données. Si vous avez des problèmes pour configurer la base de données, veuillez consulter votre administrateur de base de données.
Nous supposons qu'un utilisateur de base de données zabbix avec un mot de passe password existe et dispose d'autorisations pour créer des objets de base de données dans le service ORCL situé sur le serveur de base de données Oracle host avec un utilisateur shell user disposant d'un accès en écriture au répertoire /tmp. Zabbix nécessite un jeu de caractères de base de données Unicode et un jeu de caractères UTF8
. Vérifiez les paramètres actuels :
sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';
Si vous créez une base de données pour le serveur Zabbix, vous devez disposer d'images provenant de sources Zabbix sur l'hôte sur lequel Oracle s'exécute. Copiez-les dans un répertoire /tmp/zabbix_images sur l'hôte Oracle :
shell> cd /path/to/zabbix-sources
shell> ssh user@oracle_host "mkdir /tmp/zabbix_images"
shell> scp -r misc/images/png_modern user@oracle_host:/tmp/zabbix_images/
Maintenant, préparez la base de données :
shell> cd /path/to/zabbix-sources/database/oracle
shell> sqlplus zabbix/password@oracle_host/ORCL
sqlplus> @schema.sql
# arrêter ici si vous souhaitez créer une base de données pour le proxy Zabbix
sqlplus> @images.sql
sqlplus> @data.sql
Définissez le paramètre d'initialisation CURSOR_SHARING=FORCE pour obtenir les meilleures performances.
Maintenant, le répertoire temporaire peut être supprimé :
shell> db2 "create database zabbix using codeset utf-8 territory us pagesize 32768"
shell> cd database/ibm_db2
shell> db2batch -d zabbix -f schema.sql
# arrêter ici si vous souhaitez créer une base de données pour le proxy Zabbix
shell> db2batch -d zabbix -f images.sql
shell> db2batch -d zabbix -f data.sql
Il est important de définir les paramètres régionaux UTF-8 pour le serveur Zabbix, le proxy Zabbix et le serveur Web exécutant l'interface utilisateur Zabbix. Sinon, les informations textuelles de Zabbix seront interprétées par le serveur IBM DB2 comme non-UTF-8 et seront en outre converties entre Zabbix et la base de données. La base de données stockera des caractères non-ASCII corrompus.
L'interface web utilise les clauses OFFSET
et LIMIT
dans les requêtes SQL. Pour que cela fonctionne, la variable DB2_COMPATIBILITY_VECTOR du serveur IBM DB2 doit être définie sur 3. Exécutez la commande suivante avant de démarrer le serveur de base de données :
L'utilisation de SQLite est seulement supporté pour le proxy Zabbix !
Si vous utilisez SQLite avec un proxy Zabbix, la base de données sera automatiquement créée si elle n’existe pas.
Retournez à la section installation.