Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm

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 12 Bookworm

Instalação do Debian 12 Bookworm limpa passo-a-passo
Servidor WEB NGINX + PHP 8.2 + PostgreSQL +Let’s Encrypt Debian 12 Bookworm (LNP)

Instalação do Zabbix 6 LTS

Para instalação do Zabbix vamos incluir o repositório do oficial do Zabbix Versão 6 LTS.

# su -
# cd /tmp
# apt install wget

Repositório Debian 12

# cd /tmp/
# wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-5+debian12_all.deb
# apt install ./zabbix-release_6.0-5+debian12_all.deb
# apt update; apt upgrade -y; apt update
# 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
# vim /etc/php/8.2/fpm/php.ini

Localize max_execution_time e altere de 30 para 600

max_execution_time = 600
# systemctl restart zabbix-server zabbix-agent nginx php8.2-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!

Fontes:
https://www.zabbix.com/documentation/

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

11 Resultados

  1. Fabio Santos disse:

    Ótimo conteúdo direto e com dicas de segurança importantes, queria saber como atualizar para Zabbix 7.0 em um servidor utilizando esse tutorial. A maioria que vejo é utilizando Apache e MySQL.

  2. Fabio de Aquino disse:

    Obrigado pela contribuição!
    Quando fará um tutor demonstrando a instalação de um certificado auto-assinado no zabbix?
    Pode ajudar bastante, estou apanhando pacas! rsrs…

  3. Oscar Alves disse:

    Excelente amigo, que você continue compartilhando seus conhecimentos, Deus te abençoe.

  4. William J. disse:

    Parabéns pelo tutorial detalhado. Eu particularmente não gostei de usar o nginx. Então tive que reinstalar para usar com o apache.
    A dica que eu dou é fazer outro tutorial com o conjunto: apache + mariadb + zabbix + grafana para ficar completo!

  5. Ulisses disse:

    Parabéns mais uma vez!! Ótimo tutorial, completo e bem detalhado.

  6. Diogo Dorea Santos disse:

    Muito bom, muito completo e didático. Parabéns pelo trabalho. e Obrigado

  7. Jocelio Almeida disse:

    Quem ai tbm foi direto pra instalação do zabbix e não instalou o NGINX e nen o banco de dados, e teve que re-instalar tudo denovo kk?

  8. matheus disse:

    Muito obrigado amigo, finalizei a instalação, tudo certo.

  1. 14 de junho de 2023

    […] Instalação Debian 12 Bookworm Instalação Debian 11 Bullseye Zabbix: Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 11 […]

  2. 19 de dezembro de 2023

    […] remontti, […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *