База данных Zabbix должна быть создана в процессе установки Zabbix сервера или прокси.
Этот раздел предлагает скрипты для создания базы данных Zabbix. Отдельный скрипт схемы поставляется для каждой поддерживаемой базы данных.
schema.sql
, images.sql
and data.sql
размещены в подпапке database исходных кодов Zabbix. Если Zabbix установлен из распространяемых пакетов, обратитесь к документации распространителя.
schema.sql
(без images.sql и data.sql)
Скрипты
shell> mysql -uroot -p<пароль> mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to [email protected] identified by '<пароль>'; mysql> quit; # остановитесь здесь, если вы создаете базу данных с помощью пакетов Zabbix shell> cd database/mysql shell> mysql -uzabbix -p<пароль> zabbix < schema.sql # остановитесь здесь, если вы создаете базу данных для Zabbix прокси shell> mysql -uzabbix -p<пароль> zabbix < images.sql shell> mysql -uzabbix -p<пароль> zabbix < data.sql
Пожалуйста, обратитесь к этому разделу, если вы устанавливаете Zabbix из пакетов.
У вас должна быть база данных с правами создания объектов базы данных. Следующая команда командной оболочки создаст zabbix
. Задайте пароль при появлении запроса и затем повторите этот пароль (обратите внимание, что сначала возможно у вас будет запрошен пароль для sudo
):
shell> sudo -u postgres createuser --pwprompt zabbix
Теперь мы настроим базу данных zabbix
(последний параметр) с ранее созданным пользователем в качестве владельца (-O zabbix
) и импортируем изначальную схему и данные (предполагается, что вы находитесь в корневой папке исходных кодов Zabbix):
shell> sudo -u postgres createdb -O zabbix zabbix shell> cd database/postgresql shell> cat schema.sql | sudo -u zabbix psql zabbix
остановитесь здесь, если вы создаете базу данных для Zabbix прокси.
shell> cat images.sql | sudo -u zabbix psql zabbix shell> cat data.sql | sudo -u zabbix psql zabbix
Мы полагаем, что пользователь zabbix базы данных с паролем пароль уже существует и имеет права на создание объектов в ORCL службе, расположенной на хост сервере базы данных Oracle c shell пользователем пользователь, который имеет доступ в папку /tmp
. Zabbix требует базу данных в Юникод кодировке и национальную кодировку UTF8
. Проверьте текущие настройки:
sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';
Если вы создаете базу данных для Zabbix сервера вам необходимо поместить куда-то изображения на хост с Oracle. Скопируйте все изображения из misc/images/png_modern в /tmp/zabbix_images папку на хосте с Oracle:
shell> cd /путь/к/исходным/кодам/zabbix shell> ssh пользователь@хост "mkdir /tmp/zabbix_images" shell> scp -r misc/images/png_modern пользователь@хост:/tmp/zabbix_images/
Теперь подготовьте базу данных:
shell> sqlplus zabbix/пароль@хост/ORCL sqlplus> @database/oracle/schema.sql # остановитесь здесь, если вы создаете базу данных для Zabbix прокси sqlplus> @database/oracle/images.sql sqlplus> @database/oracle/data.sql
Временную папку /tmp/zabbix_images изображений можно удалить после выполнения скрипта images.sql.
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
Веб-интерфейс Zabbix использует условия OFFSET
и LIMIT
в SQL запросах. Чтобы они работали, IBM DB2 сервер должен иметь переменную DB2_COMPATIBILITY_VECTOR заданную значением 3. Выполните следующую команду перед запуском сервера базы данных:
shell> db2set DB2_COMPATIBILITY_VECTOR=3
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
Вернуться в раздел установки.