1 Criação do banco de dados
Visão geral
Um banco de dados do Zabbix deve ser criado durante a instalação do server ou proxy do Zabbix.
Esta seção fornece instruções para criar um banco de dados do Zabbix. Um conjunto separado de instruções está disponível para cada banco de dados suportado.
Para melhorar a segurança do banco de dados criando funções/usuários do banco de dados com privilégios mínimos, consulte as melhores práticas de criação de banco de dados para cada banco de dados suportado:
Para configurar conexões TLS seguras, consulte Secure connection to the database.
UTF-8 é a única codificação suportada pelo Zabbix. Sabe-se que ela funciona sem falhas de segurança. Os usuários devem estar cientes de que há problemas de segurança conhecidos ao usar algumas das outras codificações. Para mudar para UTF-8, consulte Repairing Zabbix database character set and collation. Veja também Limits of filtering with utf8mb4 collations.
Se estiver instalando a partir do Zabbix Git repository, você precisa executar o seguinte comando antes de prosseguir para as próximas etapas:
make dbschema
MySQL/MariaDB
Os conjuntos de caracteres utf8 (também conhecido como utf8mb3) e utf8mb4 são suportados (com as colações utf8_bin e utf8mb4_bin, respectivamente) para que o server/proxy do Zabbix funcione corretamente com o banco de dados MySQL. Recomenda-se usar utf8mb4 para novas instalações.
Triggers determinísticos precisam ser criados durante a importação do schema.
No MySQL e MariaDB, isso exige que GLOBAL log_bin_trust_function_creators = 1 seja definido se o log binário estiver habilitado e não houver privilégios de superusuário, e se log_bin_trust_function_creators = 1 não estiver definido no arquivo de configuração do MySQL.
Se você estiver instalando o Zabbix a partir de packages ou containers, consulte as instruções correspondentes.
Se você estiver instalando o Zabbix a partir do código-fonte:
- Crie e configure um banco de dados e um usuário.
mysql -uroot -p<password>
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by '<password>';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> quit;
- Importe os dados para o banco de dados e defina o conjunto de caracteres utf8mb4 como padrão (assumindo que você esteja no diretório raiz do código-fonte do Zabbix).
Para um banco de dados de Zabbix proxy, apenas
schema.sqldeve ser importado (semimages.sqlnemdata.sql).
cd database/mysql
mysql -uzabbix -p<password> zabbix < schema.sql
# pare aqui se você estiver criando o banco de dados para o Zabbix proxy
mysql -uzabbix -p<password> zabbix < images.sql
mysql -uzabbix -p<password> --default-character-set=utf8mb4 zabbix < data.sql
log_bin_trust_function_creators pode ser desabilitado após o schema ter sido importado com sucesso:
mysql -uroot -p<password>
mysql> SET GLOBAL log_bin_trust_function_creators = 0;
mysql> quit;
PostgreSQL
Você precisa ter um usuário de banco de dados com permissões para criar objetos no banco.
Se você estiver instalando o Zabbix a partir de pacotes ou containers, consulte as instruções correspondentes.
Se você estiver instalando o Zabbix a partir do código-fonte:
- Crie um usuário de banco de dados.
O seguinte comando de shell criará o usuário zabbix.
Especifique uma senha quando solicitado e repita a senha (observe que talvez você seja solicitado primeiro a informar a senha do sudo):
sudo -u postgres createuser --pwprompt zabbix
- Crie um banco de dados.
O seguinte comando de shell criará o banco de dados zabbix (último parâmetro) com o usuário criado anteriormente como proprietário (-O zabbix).
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
- Importe o schema inicial e os dados (assumindo que você esteja no diretório raiz do código-fonte do Zabbix).
Para um banco de dados do Zabbix proxy, somente
schema.sqldeve ser importado (semimages.sqlnemdata.sql).
cd database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
# pare aqui se você estiver criando o banco de dados para o Zabbix proxy
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix
Os comandos acima são fornecidos como exemplo e funcionarão na maioria das instalações GNU/Linux.
Você pode usar comandos diferentes dependendo de como seu sistema/banco de dados está configurado, por exemplo:
psql -U <username>
Se você tiver qualquer problema ao configurar o banco de dados, consulte o administrador do seu banco de dados.
TimescaleDB
As instruções para criar e configurar o TimescaleDB são fornecidas em uma seção separada.
SQLite
O uso do SQLite é suportado apenas para Zabbix proxy!
O banco de dados será criado automaticamente se ele não existir.
Volte para a seção de instalação.