1 Скрипты создания базы данных

Обзор

База данных Zabbix должна быть создана в процессе установки Zabbix сервера или прокси.

Этот раздел предлагает скрипты для создания базы данных Zabbix. Отдельный скрипт схемы поставляется для каждой поддерживаемой базы данных.

Файлы schema.sql, images.sql and data.sql размещены в подпапке database исходных кодов Zabbix. Если Zabbix установлен из распространяемых пакетов, обратитесь к документации распространителя.

Для базы данных Zabbix прокси необходимо импортировать только schema.sql (без images.sql и data.sql)

** Скрипты **

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 '<пароль>';
       mysql> quit;
       shell> mysql -uzabbix -p<пароль> zabbix < database/mysql/schema.sql
       # остановитесь здесь, если вы создаете базу данных для Zabbix прокси
       shell> mysql -uzabbix -p<пароль> zabbix < database/mysql/images.sql
       shell> mysql -uzabbix -p<пароль> zabbix < database/mysql/data.sql

PostgreSQL

Мы полагаем, что пользователь <username> уже существует и имеет права на создание объектов.

shell> psql -U <username>
       psql> create database zabbix; 
       psql> \q 
       shell> cd database/postgresql
       shell> psql -U <username> zabbix < schema.sql
       # остановитесь здесь, если вы создаете базу данных для Zabbix прокси
       shell> psql -U <username> zabbix < images.sql
       shell> psql -U <username> zabbix < data.sql

Oracle

Мы полагаем, что пользователь zabbix базы данных с паролем password уже существует и имеет права на создание объектов в ORCL службе, расположенной на хост сервере базы данных Oracle c shell пользователем пользователь, который имеет доступ в папку /tmp.

Если вы создаете базу данных для Zabbix сервера вам необходимо поместить куда-то изображения на хост с Oracle, например в папку /tmp/zabbix_images. Скопируйте все изображения из misc/images/png_modern в /tmp/zabbix_images папку на хосте с Oracle:

shell> cd /path/to/zabbix-sources
       shell> scp -r misc/images/png_modern user@host:/tmp/zabbix_images 

Измените файл database/oracle/images.sql и задайте переменную image_dir на /tmp/zabbix_images путь:

CREATE OR REPLACE DIRECTORY image_dir AS '/tmp/zabbix_images'

Теперь подготовьте базу данных:

shell> sqlplus zabbix/password@host/ORCL
       sqlplus> @database/oracle/schema.sql
       # остановитесь здесь, если вы создаете базу данных для Zabbix прокси
       sqlplus> @database/oracle/images.sql
       sqlplus> @database/oracle/data.sql

Zabbix требует кодировку базы данных UTF-8. Если база данных не в UTF-8, её можно сконвертировать, выполнив: ALTER DATABASE NATIONAL CHARACTER SET UTF8;

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
       # остановитесь здесь, если вы создаете базу данных для Zabbix прокси
       shell> db2batch -d zabbix -f images.sql
       shell> db2batch -d zabbix -f data.sql 

Очень важно установить UTF-8 локаль Zabbix серверу, Zabbix прокси и веб-серверу с Zabbix веб-интерфейсом. В противном случае текстовая информация из Zabbix будет интерпретироваться IBM DB2 сервером как не-UTF-8 и будет дополнительно конвертироваться по пути из Zabbix в базу данных и обратно. База данных будет хранить поврежденные не-ASCII символы.

SQLite

shell> cd database/sqlite3
       shell> sqlite3 /var/lib/sqlite/zabbix.db < schema.sql
       # остановитесь здесь, если вы создаете базу данных для Zabbix прокси
       shell> sqlite3 /var/lib/sqlite/zabbix.db < images.sql
       shell> sqlite3 /var/lib/sqlite/zabbix.db < data.sql

Если с Zabbix прокси используется SQLite, то база данных будет автоматически создана, если она еще не существует.

Вернуться в раздел установки.