1 Создание базы данных
Обзор
База данных Zabbix должна быть создана в процессе установки Zabbix сервера или прокси.
Этот раздел предлагает инструкции для создания базы данных Zabbix. Отдельный скрипт схемы поставляется для каждой поддерживаемой базы данных.
Файлы schema.sql, images.sql and data.sql
размещены в подпапке database исходных кодов Zabbix. Если Zabbix
установлен из распространяемых пакетов, обратитесь к документации
распространителя.
Для базы данных Zabbix прокси необходимо
импортировать только schema.sql (без images.sql и
data.sql)
UTF-8 является единственной кодировкой, которая поддерживается Zabbix. Она, как известно, работает без каких-либо проблем с безопасностью. Пользователи должны знать, что существуют известные проблемы с безопасностью при использовании некоторых других кодировок.
MySQL
Для нормальной работы Zabbix сервера с MySQL базой данных требуются кодировка utf8 и utf8_bin тип сравнения.
shell> mysql -uroot -p<пароль>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<пароль>';
mysql> quit;
Если вы используете пакеты Zabbix продолжите ознакомление с инструкциями для Debian/Ubuntu или RHEL/CentOS, чтобы импортировать данные в базу данных.
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
PostgreSQL
У вас должна быть база данных с правами создания объектов базы данных.
Следующая команда командной оболочки создаст zabbix. Задайте пароль
при появлении запроса и затем повторите этот пароль (обратите внимание,
что сначала возможно у вас будет запрошен пароль для sudo):
shell> sudo -u postgres createuser --pwprompt zabbix
Теперь мы настроим базу данных zabbix (последний параметр) с ранее
созданным пользователем в качестве владельца (-O zabbix) и импортируем
изначальную схему и данные (предполагается, что вы находитесь в корневой
папке исходных кодов Zabbix):
shell> sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
Если вы используете пакеты Zabbix продолжите ознакомление с инструкциями для Debian/Ubuntu или RHEL/CentOS, чтобы импортировать данные в базу данных.
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
Приведенные выше команды представлены как пример, который будет работать на большинстве GNU/Linux инсталляций. Вы можете использовать другие команды, например "psql -U <username>" зависит от того каким образом настроена ваша система/база данных. Если у вас появились проблемы с настройкой базы данных, пожалуйста, проконсультируйтесь с вашим администратором баз данных.
Oracle
Мы полагаем, что пользователь 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 из исходных кодов Zabbix. Скопируйте их в /tmp/zabbix_images папку на хосте с Oracle:
shell> cd /путь/к/исходным/кодам/zabbix
shell> ssh user@oracle_host "mkdir /tmp/zabbix_images"
shell> scp -r misc/images/png_modern user@oracle_host:/tmp/zabbix_images/
Теперь подготовьте базу данных:
shell> cd /путь/к/исходным/кодам/zabbix/database/oracle
shell> sqlplus zabbix/пароль@oracle_host/ORCL
sqlplus> schema.sql
# остановитесь здесь, если вы создаете базу данных для Zabbix прокси
sqlplus> images.sql
sqlplus> data.sql
Пожалуйста, установите параметр инициализации CURSOR_SHARING=FORCE для лучшей производительности.
Теперь временную папку можно удалить:
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
# остановитесь здесь, если вы создаете базу данных для 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 символы.
Веб-интерфейс Zabbix использует условия OFFSET и LIMIT в SQL
запросах. Чтобы они работали, IBM DB2 сервер должен иметь переменную
DB2_COMPATIBILITY_VECTOR заданную значением 3. Выполните следующую
команду перед запуском сервера базы данных:
shell> db2set DB2_COMPATIBILITY_VECTOR=3
SQLite
Использование SQLite поддерживается только на Zabbix прокси!
Если с Zabbix прокси используется SQLite, то база данных будет автоматически создана, если она еще не существует.
shell> cd database/sqlite3
shell> sqlite3 /var/lib/sqlite/zabbix.db < schema.sql
Вернуться в раздел установки.