A monitorização de infraestrutura é uma das áreas com maior gap em PME portuguesas — muitas organizações só sabem que um servidor caiu quando o telefone começa a tocar. Uma solução de monitorização correctamente configurada detecta problemas antes de afectarem os utilizadores: disco a encher, CPU em stress, serviço parado, ping elevado para o ISP.

Este artigo compara o Zabbix (open source, mais flexível) e o PRTG (comercial, mais fácil de implementar) para ambientes PME, com guia de instalação, configuração de alertas essenciais e os itens de monitorização mais importantes.

1. Zabbix vs PRTG — qual escolher para PME

Zabbix PRTG Network Monitor
Licenciamento Open Source — gratuito Comercial — gratuito até 100 sensores
Facilidade de instalação Média — requer Linux e configuração Alta — instalador Windows, autodiscovery
Escalabilidade Muito alta — dezenas de milhares de hosts Limitada por sensores — custo cresce com escala
Curva de aprendizagem Alta — interface complexa, muita configuração Baixa — autodiscovery, interface intuitiva
Flexibilidade Muito alta — templates, scripts, API completa Média — sensores pré-definidos, customização limitada
Recomendação PME IT interno com experiência Linux; ambientes com >50 hosts; sem orçamento para licenças PME sem IT dedicado ou com IT Windows; início rápido; até ~100 sensores gratuitos cobre a maioria das PME

2. Instalar Zabbix 7.0 no Ubuntu 24.04 LTS

A instalação cobre quatro componentes: repositório Zabbix, pacotes do servidor e frontend, MariaDB e configuração do locale. Executar todos os comandos como root ou com sudo.

Passo 1 — Repositório e pacotes Zabbix

# Adicionar repositório oficial Zabbix 7.0
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
apt update

# Instalar servidor Zabbix, frontend PHP, configuração Apache e agente local
apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

Passo 2 — MariaDB: instalar, iniciar e configurar

# Instalar MariaDB
apt install -y mariadb-server

# Iniciar e activar o serviço (IMPORTANTE — sem este passo o setup web falha com "Cannot connect to database")
systemctl start mariadb
systemctl enable mariadb

# Confirmar que está a correr antes de continuar
systemctl status mariadb   # Deve mostrar: Active: active (running)

# Criar a base de dados e o utilizador Zabbix
mysql -uroot -e "CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
mysql -uroot -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ZabbixPass2026#';"
mysql -uroot -e "GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';"
mysql -uroot -e "FLUSH PRIVILEGES;"
mysql -uroot -e "SET GLOBAL log_bin_trust_function_creators = 1;"

Passo 3 — Importar o schema da base de dados

# Importar schema (introduzir a password ZabbixPass2026# quando pedido)
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz |     mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

# Desactivar log_bin_trust após o import
mysql -uroot -e "SET GLOBAL log_bin_trust_function_creators = 0;"

Passo 4 — Configurar a password no servidor Zabbix

# Configurar a password da DB no ficheiro de configuração do servidor Zabbix
sed -i 's/# DBPassword=/DBPassword=ZabbixPass2026#/' /etc/zabbix/zabbix_server.conf

# Confirmar que ficou correcto
grep DBPassword /etc/zabbix/zabbix_server.conf

Passo 5 — Locale en_US.UTF-8 (obrigatório para o frontend PHP)

⚠ Sem este passo o setup web falha no “Check of pre-requisites” com erro System locale en_US — Fail. O frontend PHP do Zabbix exige o locale en_US.UTF-8 instalado no sistema operativo, independentemente do idioma do servidor.

# Instalar o locale en_US.UTF-8
apt install -y locales
locale-gen en_US.UTF-8
update-locale

# Confirmar que ficou disponível
locale -a | grep en_US   # Deve mostrar: en_US.utf8

# Verificar que o PHP consegue usar o locale (deve retornar "en_US.UTF-8", não false)
php -r "var_dump(setlocale(LC_ALL, 'en_US.UTF-8'));"

Passo 6 — Iniciar todos os serviços

systemctl restart zabbix-server zabbix-agent apache2
systemctl enable  zabbix-server zabbix-agent apache2

# Verificar que todos os serviços estão activos
systemctl status zabbix-server mariadb apache2 --no-pager

Passo 7 — Wizard de configuração web

Aceder a http://[IP-do-servidor]/zabbix no browser e seguir o wizard:

  1. Check of pre-requisites — todos os itens devem estar verdes, incluindo o locale. Se algum falhar, corrigir antes de avançar
  2. Configure DB connection — preencher com os valores abaixo
  3. Settings — definir nome do servidor Zabbix (ex: “Zabbix PME”)
  4. Install — concluir a instalação
  5. Login inicial: utilizador Admin / password zabbixalterar imediatamente após o primeiro login

ℹ Configure DB connection — valores correctos

Database type MySQL
Database host 127.0.0.1 (não usar “localhost” — força TCP e evita erro de socket)
Database port 0
Database name zabbix
User zabbix
Password ZabbixPass2026#

Se surgir o erro “Cannot connect to the database — No such file or directory” com Database host = localhost, substituir por 127.0.0.1. O MariaDB no Ubuntu 24.04 usa socket Unix por defeito quando o host é “localhost”; com “127.0.0.1” força ligação TCP que funciona sempre.

3. Adicionar hosts e aplicar templates

O Zabbix tem centenas de templates pré-definidos para servidores Windows, Linux, switches Cisco/HP, FortiGate, VMware, e muito mais. O processo para adicionar um host monitorizado:

  1. Instalar o Zabbix Agent no host a monitorizar (Windows ou Linux)
  2. No frontend: Configuration → Hosts → Create host
  3. Definir hostname, IP e porta do agente (padrão: 10050)
  4. Separador Templates → adicionar template adequado (ex: “Windows by Zabbix agent”, “Linux by Zabbix agent”)
  5. Separador Groups → adicionar a um grupo (ex: “Servers”, “Network devices”)
# Configurar o agente após instalação em Windows
# Ficheiro: %ProgramData%\Zabbix Agent 2\zabbix_agent2.conf
Server=10.10.10.50             # IP do servidor Zabbix
ServerActive=10.10.10.50       # Para checks activos
Hostname=PC-JOAO               # Tem de coincidir com o hostname no Zabbix frontend

# Reiniciar o serviço após configuração
Restart-Service "Zabbix Agent 2"

# Testar conectividade do agente (executar no servidor Zabbix)
zabbix_get -s 192.168.10.50 -p 10050 -k system.hostname

4. Monitorização via SNMP — switches e firewall

Dispositivos de rede (switches, firewalls, UPS) não têm agente Zabbix — são monitorizados via SNMP (Simple Network Management Protocol). O SNMP permite consultar métricas como tráfego por interface, CPU, temperatura e estado de porta.

# Activar SNMP no FortiGate
config system snmp sysinfo
    set status enable
    set description "FortiGate-PME"
    set location "Escritório Lisboa"
end
config system snmp community
    edit 1
        set name "zabbix-monitor"    # Community string — usar valor não padrão
        config hosts
            edit 1
                set ip 10.10.10.50 255.255.255.255  # IP do servidor Zabbix
            next
        end
        set query-v2c-status enable
    next
end

# Instalar utilitários SNMP no servidor Zabbix (necessário para testes)
apt install -y snmp snmp-mibs-downloader

# Testar SNMP do servidor Zabbix para o switch/firewall
snmpwalk -v2c -c zabbix-monitor 192.168.10.1 system
snmpget  -v2c -c zabbix-monitor 192.168.10.1 1.3.6.1.2.1.1.1.0  # sysDescr

5. Configurar alertas por email e Microsoft Teams

Email: Administration → Media types → Email → configurar SMTP

Teams: Administration → Media types → Microsoft Teams → configurar Webhook URL

# Configurar alertas de email via relay SMTP (ex: Office 365)
# Administration → Media types → Email:
SMTP server:     smtp.office365.com
SMTP port:       587
SMTP email:      [email protected]
Security:        STARTTLS
Authentication:  Username + Password

# Configurar Teams via Incoming Webhook:
# 1. No Teams: canal → ... → Connectors → Incoming Webhook → configurar → copiar URL
# 2. No Zabbix: Administration → Media types → Microsoft Teams
#    → Webhook URL: [colar URL do Teams]

# Criar acção de alerta (Actions → Trigger actions → Create action):
Conditions:   Trigger severity >= High
Operations:  Send message to [grupo de utilizadores] via Email + Teams
Recovery:    Notificar quando problema resolvido

6. O que monitorizar — checklist para PME

Categoria O que monitorizar Threshold de alerta
Servidores (Windows/Linux)
Disco Espaço livre em % por volume (C:, D:, partições Linux) Warning: <20% | Critical: <10%
CPU Utilização média 5 minutos Warning: >80% | Critical: >95%
Memória RAM Memória disponível em MB Warning: <20% livre | Critical: <10%
Disponibilidade Ping ICMP + tempo de resposta Critical: host inacessível por 3 min
Serviços específicos
Active Directory Serviço NTDS, replicação, número de objectos Critical: serviço parado ou replicação falhada
Certificados SSL Dias até expiração de certificados HTTPS Warning: <30 dias | Critical: <7 dias
Backup Última execução de backup com sucesso Critical: sem backup bem-sucedido há >24h
Rede
Interfaces de rede Tráfego in/out, erros e descartes por interface (SNMP) Warning: >80% de utilização da largura de banda
Ligação ISP Ping e latência para IP externo (ex: 8.8.8.8) Warning: latência >100ms | Critical: sem resposta

7. PRTG — início rápido para PME

O PRTG é ideal para PME que querem monitorização funcional em horas em vez de dias. O autodiscovery encontra automaticamente hosts e cria sensores básicos sem configuração manual.

  1. Descarregar e instalar o PRTG em prtg.com (instalador Windows)
  2. Aceder ao frontend em https://[IP-servidor]:8443
  3. Setup → Auto-Discovery → definir range de IPs da rede interna → iniciar
  4. O PRTG cria automaticamente hosts e sensores para dispositivos detectados via SNMP e WMI
  5. Setup → Notifications → configurar email para alertas
  6. Verificar o dashboard — o semáforo de estado dá uma visão imediata do ambiente

ℹ PRTG gratuito — o que cobre nas PME

O PRTG gratuito inclui 100 sensores. Um host típico usa 5–10 sensores (ping, CPU, memória, disco, tráfego de rede). Com 100 sensores cobres aproximadamente 10–20 servidores/dispositivos — suficiente para a maioria das PME até ~50 utilizadores. Para além disso, o licenciamento é por número de sensores (500, 1000, XL, etc.).

Este artigo foi útil?

Duarte Spínola

Deixe um Comentário