This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

1 Création de la base de données

Aperçu

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)

MySQL

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

PostgreSQL

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) :

shell> sudo -u postgres createuser --pwprompt zabbix

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) :

shell> sudo -u postgres createdb -O zabbix 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.

Oracle

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> ssh user@oracle_host "rm -rf /tmp/zabbix_images"

IBM DB2

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 :

shell> db2set DB2_COMPATIBILITY_VECTOR=3

SQLite

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.

shell> cd database/sqlite3
       shell> sqlite3 /var/lib/sqlite/zabbix.db < schema.sql

Retournez à la section installation.