Requisitos de sistema
Requisitos
O Zabbix tem requisitos específicos de hardware e software que devem ser atendidos, e esses requisitos podem mudar com o tempo. Eles também dependem do tamanho de sua configuração e da pilha de software que você selecionar. Antes de comprar hardware ou instalar uma versão de banco de dados, é essencial consultar a documentação do Zabbix para obter os requisitos mais atualizados para a versão que você planeja instalar. Você pode encontrar os requisitos mais recentes https://www.zabbix.com/documentation/current/en/manual/installation/requirements. Certifique-se de selecionar a versão correta do Zabbix na lista.
Para configurações menores ou de teste, o Zabbix pode ser executado confortavelmente em um sistema com 2 CPUs e 8 GB de RAM. No entanto, o tamanho da sua configuração, o número de itens que você monitora, os acionadores que cria e o tempo que planeja reter os dados afetarão os requisitos de recursos. Nos ambientes virtualizados de hoje, minha recomendação é começar com pouco e aumentar a escala conforme necessário.
Você pode instalar todos os componentes (servidor Zabbix, banco de dados, servidor Web) em uma única máquina ou distribuí-los em vários servidores. Para simplificar, anote os detalhes do servidor:
Componente | Endereço IP |
---|---|
Servidor Zabbix | |
Servidor de banco de dados | |
Servidor Web |
Dica
Zabbix package names often use dashes (-
) in their names, such as zabbix-get
or zabbix-sender
, but the binaries themselves may use underscores (_
),
like zabbix_sender
or zabbix_server
. This naming discrepancy can sometimes
be confusing, particularly if you are using packages from non-official Zabbix
repositories.
Always check if a binary uses a dash or an underscore when troubleshooting.
Nota
Starting from Zabbix 7.2, only MySQL (including its forks) and PostgreSQL are supported as back-end databases. Earlier versions of Zabbix also included support for Oracle Database; however, this support was discontinued with Zabbix 7.0 LTS, making it the last LTS version to officially support Oracle DB.
Configuração básica do sistema operacional
Sistemas operacionais, tantas opções, cada uma com suas próprias vantagens e base de usuários fiéis. Embora o Zabbix possa ser instalado em uma ampla gama de plataformas, documentar o processo para cada sistema operacional disponível seria impraticável. Para manter este livro focado e eficiente, optamos por abordar apenas as opções mais usadas: As distribuições baseadas no Ubuntu e no Red Hat.
Como nem todo mundo tem acesso a uma assinatura do Red Hat Enterprise Linux (RHEL), mesmo que uma conta de desenvolvedor forneça acesso limitado, optamos pelo Rocky Linux como uma alternativa prontamente disponível. Para este livro, usaremos o Rocky Linux 9.x e o Ubuntu LTS 24.04.x.
Firewall
Antes de instalar o Zabbix, é essencial preparar adequadamente o sistema operacional. A primeira etapa é garantir que o firewall esteja instalado e configurado.
Para instalar e ativar o firewall, execute o seguinte comando:
Instalar e ativar o firewall
Red Hat
Ubuntu
Depois de instalado, você pode configurar as portas necessárias. Para o Zabbix,
precisamos permitir o acesso à porta 10051/tcp
, que é onde o coletor do Zabbix
escuta os dados recebidos. Use o seguinte comando para abrir essa porta no
firewall:
Permitir acesso ao Zabbix trapper
Red Hat
Ubuntu
Se o serviço não for reconhecido, você poderá especificar manualmente a porta:
Nota
"Firewalld is the replacement for iptables in RHEL-based systems and allows changes to take effect immediately without needing to restart the service. If your distribution does not use Firewalld, refer to your OS documentation for the appropriate firewall configuration steps." Ubuntu makes use of UFW and is merely a frontend for iptables.
Uma abordagem alternativa é definir zonas de firewall dedicadas para casos de uso específicos. Por exemplo...
Você pode confirmar a criação da zona executando o seguinte comando:
Bloquear a DMZ e descartar todo o tráfego proveniente de redes externas, permitindo apenas o acesso interno por meio das redes home, internal, nm-shared, postgresql-access, public, trusted e work.
O uso de zonas no firewalld para configurar regras de firewall para o PostgreSQL oferece várias vantagens em termos de segurança, flexibilidade e facilidade de gerenciamento. Veja por que as zonas são vantajosas:
- Controle de acesso granular :
- As zonas firewalld permitem diferentes níveis de confiança para diferentes interfaces de rede e intervalos de IP. Você pode definir quais sistemas têm permissão para se conectar ao PostgreSQL com base em seu nível de confiança.
- Gerenciamento simplificado de regras:
- Em vez de definir manualmente regras complexas do iptables, as zonas oferecem uma maneira organizada de agrupar e gerenciar regras de firewall com base em cenários de uso.
- Segurança aprimorada:
- Ao restringir o acesso do PostgreSQL a uma zona específica, você evita conexões não autorizadas de outras interfaces ou redes.
- Configuração dinâmica:
- O firewalld suporta configurações de regras permanentes e em tempo de execução, permitindo alterações sem interromper as conexões existentes.
- Suporte a várias interfaces:
- Se o servidor tiver várias interfaces de rede, as zonas permitirão políticas de segurança diferentes para cada interface.
Juntando tudo, ficaria assim:
Firewalld com configuração de zona
Onde o IP de origem
é o único endereço permitido para estabelecer uma conexão
com o banco de dados.
Servidor de tempo
Outra etapa crucial é a configuração do servidor de horário e a sincronização do servidor Zabbix usando um cliente NTP. A sincronização precisa do horário é vital para o Zabbix, tanto para o servidor quanto para os dispositivos que ele monitora. Se um dos hosts tiver um fuso horário incorreto, isso pode gerar confusão, como investigar um problema no Zabbix que parece ter acontecido horas antes do que realmente aconteceu.
Para instalar e ativar o chrony, nosso cliente NTP, use o seguinte comando:
Instalar cliente NTP
Red Hat
Ubuntu
Após a instalação, verifique se o Chrony está ativado e em execução, verificando seu status com o seguinte comando:
O que é apt ou dnf
dnf is a package manager used in Red Hat-based systems. If you're using another
distribution, replace dnf
with your appropriate package manager, such as zypper
,
apt
, or yum
.
O que é Chrony
Chrony is a modern replacement for ntpd
, offering faster and
more accurate time synchronization. If your OS does not support
Chrony, consider using
ntpd
instead.
Depois que o Chrony estiver instalado, a próxima etapa é garantir que o fuso
horário correto esteja definido. Você pode ver a configuração do horário atual
usando o comando timedatectl
:
verifique a configuração da hora
Certifique-se de que o serviço Chrony esteja ativo (consulte as etapas anteriores, se necessário). Para definir o fuso horário correto, primeiro, você pode listar todos os fusos horários disponíveis com o seguinte comando:
Esse comando exibirá uma lista de fusos horários disponíveis, permitindo que você selecione o mais próximo de sua localização. Por exemplo:
Lista de todos os fusos horários disponíveis
Depois de identificar seu fuso horário, configure-o usando o seguinte comando:
Para verificar se o fuso horário foi configurado corretamente, use novamente o
comando timedatectl
:
Verifique a hora e o fuso horário
Nota
Some administrators prefer installing all servers in the UTC time zone to ensure that server logs across global deployments are synchronized. Zabbix supports user-based time zone settings, which allows the server to remain in UTC while individual users can adjust the time zone via the interface if needed.
Verificação da sincronização do Chrony
Para garantir que o Chrony esteja sincronizando com os servidores de horário corretos, você pode executar o seguinte comando:
O resultado deve ser semelhante:
Verifique a saída do seu chrony
Quando estiver no prompt do Chrony, digite o seguinte para verificar os códigos-fonte:
Exemplo de saída:
Verifique as fontes do seu servidor de horário
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- 51-15-20-83.rev.poneytel> 2 9 377 354 +429us[ +429us] +/- 342ms
^- 5.255.99.180 2 10 377 620 +7424us[+7424us] +/- 37ms
^- hachi.paina.net 2 10 377 412 +445us[ +445us] +/- 39ms
^* leontp1.office.panq.nl 1 10 377 904 +6806ns[ +171us] +/- 2336us
Neste exemplo, os servidores NTP em uso estão localizados fora de sua região local. Recomenda-se mudar para servidores de horário em seu país ou, se disponível, para um servidor de horário dedicado da empresa. Você pode encontrar servidores NTP locais aqui: www.ntppool.org.
Atualizando os servidores de horário
Para atualizar os servidores de horário, modifique o arquivo /etc/chrony.conf
para sistemas baseados no Red Hat e, se você usar o Ubuntu, edite
/etc/chrony/chrony.conf
. Substitua o servidor NTP existente por um mais
próximo de sua localização.
Exemplo da configuração atual:
exemplo de configuração do pool ntp
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
pool 2.centos.pool.ntp.org iburst
Change the pools you want to a local time server:
Depois de fazer essa alteração, reinicie o serviço Chrony para aplicar a nova configuração:
Verifying Updated Time Servers
Check the time sources again to ensure that the new local servers are in use:
Example of expected output with local servers:
Example output
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- ntp1.unix-solutions.be 2 6 17 43 -375us[ -676us] +/- 28ms
^* ntp.devrandom.be 2 6 17 43 -579us[ -880us] +/- 2877us
^+ time.cloudflare.com 3 6 17 43 +328us[ +27us] +/- 2620us
^+ time.cloudflare.com 3 6 17 43
This confirms that the system is now using local time servers.
Conclusion
As we have seen, before even considering the Zabbix packages, attention must be paid to the environment in which it will reside. A properly configured operating system, an open path through the firewall, and accurate timekeeping are not mere suggestions, but essential building blocks. Having laid this groundwork, we can now proceed with confidence to the Zabbix installation, knowing that the underlying system is prepared for the task.
Questions
- Why do you think accurate time synchronization is so crucial for a monitoring system like Zabbix?
- Now that the groundwork is laid, what do you anticipate will be the first step in the actual Zabbix installation process?
- As we move towards installing Zabbix, let's think about network communication. What key ports do you anticipate needing to allow through the firewall for the Zabbix server and agents to interact effectively?