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.