Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 11 Bullseye
O Zabbix é uma solução de nível enterprise, de código aberto. O Zabbix é um software que monitora vários parâmetros da rede, dos servidores e da saúde dos serviços. Utiliza-se de um mecanismo flexível de notificação que permite configurar alertas por e-mail entre outros como Telegram, para praticamente qualquer evento. As notificações permitem que se reaja rapidamente à problemas no ambiente. O Zabbix oferece excelentes recursos de relatórios e visualização de dados armazenados. Isso faz com que o Zabbix seja a ferramenta ideal para planejamento de capacidade.
Requisitos Debian 11 Bullseye
– Instalação do Debian 11 Bullseye limpa passo-a-passo
– Servidor WEB NGINX + PHP + PostgreSQL + phpPgAdmin + Letsencrypt no Debian 11 Bullseye (LNPP)
Instalação do Zabbix 6
Para instalação do Zabbix vamos incluir o repositório do oficial do Zabbix.
# su - # cd /tmp # apt install wget
Repositório Debian 11
# cd /tmp/ # wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-4+debian11_all.deb # apt install ./zabbix-release_6.0-4+debian11_all.deb # apt update; apt upgrade -y
# apt install zabbix-server-pgsql zabbix-frontend-php php-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Vamos criar uma base de dados chamada zabbix e um usuário também chamado de zabbix no PostgreSQL.
Não esqueça de alterar a senha: Use o gerador de senha: https://senhasegura.remontti.com.br/
# su - postgres $ createuser --pwprompt zabbix Digite a senha para a nova role: <SENHA ZABBIX> Digite-a novamente: <SENHA ZABBIX> Senha: <SENHA POSTGRES CASO TENHA DEFINIDO NA INSTALAÇÃO DO MESMO> $ createdb -O zabbix zabbix Senha: <SENHA POSTGRES>
Importe o esquema inicial e os dados. Você será solicitado a inserir a senha que foi criada anteriormente.
$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | psql -U zabbix -d zabbix &>/dev/null Senha para usuário zabbix: : <SENHA ZABBIX> $ exit
Edite o arquivo zabbix_server.conf para informar os dados para conexão com do PostgreSQL.
# vim /etc/zabbix/zabbix_server.conf
Procure por # DBPassword= descomente e sete sua senha.
#... DBPassword=<SENHA ZABBIX> #...
Ajuste o arquivo /etc/zabbix/php-fpm.conf, descomente e defina o fuso horário correto. timezone Sua região.
# vim /etc/zabbix/php-fpm.conf
Adicione:
php_value[date.timezone] = America/Sao_Paulo
Ajuste as configurações do nginx.
# vim /etc/nginx/conf.d/zabbix.conf
Deixei algumas linhas comentadas como exemplo, faça de acordo com sua necessidade.
server { listen 80; listen [::]:80; server_name zabbix.remontti.com.br localhost; #server_name OU_SEU_IP; # Metodo simples para quem quer rodar em uma determinada porta #listen 8181; #listen [::]:8181; #server_name _; root /usr/share/zabbix; index index.php; # Desmomente para deixar restringido apenas para determinados prefixos #allow 192.168.87.0/24; #allow 127.0.0.1; #allow 2001:0db8::/32; #allow ::1; #deny all; #error_page 403 http://www.remontti.com.br; client_max_body_size 100M; location = /favicon.ico { log_not_found off; } location / { try_files $uri $uri/ =404; } location /assets { access_log off; expires 10d; } location ~ /\.ht { deny all; } location ~ /(api\/|conf[^\.]|include|locale) { deny all; return 404; } location ~ [^/]\.php(/|$) { fastcgi_pass unix:/var/run/php/zabbix.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT /usr/share/zabbix; fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name; fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
Inicie o servidor Zabbix e os processos do agente e configure-os para que sejam iniciados durante o boot do sistema.
# systemctl enable zabbix-server zabbix-agent
Debian 11
# vim /etc/php/7.4/fpm/php.ini
Localize max_execution_time e altere de 30 para 600
max_execution_time = 600
# systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm
Acesse em seu navegador http://seu_ip:porta ou http://zabbix.seudominio.com.br
Selecione o Edioma, e Próximo passo
Se tudo estiver ok: Próximo passo
Selecione PostgreSQL e informe a senha do usuário zabbix criada anteriormente, clique em Próximo passo.
Defina um nome, e selecione o Tema padrão e clique em Próximo passo
Se tudo estiver ok, Próximo passo
Fim
Entre com Usuário Admin e senha zabbix
🙂
Simples né? Gostou e quer me ajudar? 🙂
Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.
Abraço!
Como reseto a senha admin do zabbix pelo postgres
No meu caso o arquivo zabbix_server.conf está vazio. Na instalação dos pacotes diz que não foi encontrado.
Como sempre Rudimar Remontti, mais um conteúdo excelente!
Em alguns casos está sendo necessário informar o host no final do comando:
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | psql -U zabbix -d zabbix –host localhost
õtimo conteúdo. Parabéns.!
estou com um erro na hora da importação, aparece a mensagem abaixo. qualquer versão do zabbix.
gzip: /usr/share/doc/zabbix-server-mysql/create.sql.gz: No such file or directory
Perfeito funcionando certinho seu passo a passo não tem erro é só seguir. Deus abençoe pela disponibilização.
Rudimar, fiz exatamente como informado no tutorial dessa pagina, e também no pre-requisito. Só que no final quando vamos configuraração do zabbix em “Configura a conexão com o DB”, ao informar os dados corretamente como nas imagens que voce publicou, aparece o seguinte erro:
Não foi possível conectar ao banco de dados.
Unable to determine current Zabbix database version: the table “dbversion” was not found.
Saberia nos ajudar com essa questão? Muito obrigado desde já
fiz todo o passo a passo, mas está aparecendo esse erro
Unable to determine current Zabbix database version: the table “dbversion” was not found.
Comigo também aconteceu a mesma coisa. Voce conseguiu resolver?
Bom dia!
Use o comando tail -f /var/log/zabbix/zabbix_server.log para verificar os erros.
No meu caso foi ele n~]ao estava encontrando o esquema inicial do bando de dados, o ” zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | psql -U zabbix -d zabbix &>/dev/null ” que no meu caso estava em um local diferente , estava no “/usr/share/zabbix-sql-scripts/postgresql/server.sql.gz ” refiz ele encontrou o esquema inicial do banco.
Espero ter ajudado, boa sorte.
Pessoal, tive o mesmo problema, o esquema não foi importado corretamente.
Peguei direto do site do Zabbix “zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix” e depois disso funcionou.
Não esquece de instalar o “sudo”.
Se o pessoal começar a ler: Requisitos Debian 11 Bullseye
Sensacional o tutorial o melhor que vi na Internet, parabéns pela didática e detalhamento !!!!!
Só faltou a instalação no Docker kk
Cara muito obrigado.
Apanhei por dois dias até aprender a usar o “tail” e localizar onde estava errando.
Mas seu tutorial é muito massa.
Abs e mais um vez obrigado.