Zabbix Tutorial · 23 min read · Oct 09, 2025

Como Instalar e Configurar o Servidor e Cliente Zabbix no Rocky Linux 9

Zabbix é uma solução de monitoramento gratuita e de código aberto para infraestrutura de TI, como redes, servidores, máquinas virtuais e serviços em nuvem. Seu núcleo é escrito em C e Java, com o frontend escrito em PHP. O frontend fornece uma interface baseada na web para rastrear e monitorar métricas como utilização de rede, carga da CPU, espaço em disco, etc., e enviar notificações com base em gatilhos personalizados.

Zabbix opera como um modelo Cliente/Servidor. Os clientes ou agentes disponíveis para vários sistemas operacionais contatam o servidor para enviar os dados. Para sistemas sem um agente, o Zabbix oferece a opção de usar protocolos de monitoramento genéricos, como o Protocolo Simples de Gerenciamento de Rede (SNMP) ou a Interface de Gerenciamento de Plataforma Inteligente (IPMI).

Neste tutorial, você aprenderá como instalar o Servidor Zabbix e o cliente em um servidor Rocky Linux 9.

Pré-requisitos

  • Dois servidores executando Rocky Linux 9. Um funcionará como o servidor e o outro será o cliente que monitoraremos usando o servidor.
  • Um usuário não-root com privilégios sudo.
  • Um Nome de Domínio Totalmente Qualificado (FQDN) como zabbix.example.com apontando para seu servidor.
  • Uma conta SMTP com um serviço de e-mail como Amazon SES ou Mailgun.
  • Tudo atualizado. $ sudo dnf update
  • Alguns pacotes essenciais são necessários para o tutorial e para o funcionamento do Servidor Zabbix. Alguns deles já estarão no seu servidor. $ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y

Passo 1 - Configurar o Firewall

O primeiro passo é configurar o firewall. O Rocky Linux usa o Firewall Firewalld. Verifique o status do firewall.

$ sudo firewall-cmd --state
running

O firewall funciona com diferentes zonas, e a zona pública é a padrão que usaremos. Liste todos os serviços e portas ativos no firewall.

$ sudo firewall-cmd --permanent --list-services

Deve mostrar a seguinte saída.

cockpit dhcpv6-client ssh

As portas 10050 e 10051 são necessárias para o servidor Zabbix se conectar ao agente.

$ sudo firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent

Permita as portas HTTP e HTTPS.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Verifique novamente o status do firewall.

$ sudo firewall-cmd --permanent --list-all

Você deve ver uma saída semelhante.

público
  alvo: padrão
  inversão de bloqueio icmp: não
  interfaces:
  fontes:
  serviços: cockpit dhcpv6-client http https ssh
  portas: 10051/tcp 10050/tcp
  protocolos:
  encaminhamento: sim
  mascarar: não
  portas de encaminhamento:
  portas de origem:
  bloqueios icmp:
  regras ricas:

Recarregue o firewall para habilitar as alterações.

$ sudo firewall-cmd --reload

Passo 2 - Definir o SELinux para modo permissivo

Configure o SELinux para funcionar em modo permissivo. Neste modo, o SELinux não bloqueará nenhum processo, mas registrará tudo no arquivo de log de auditoria. Usaremos isso mais tarde para configurar as regras do SELinux.

$ sudo setenforce 0 && sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Verifique o status do SELinux.

$ sestatus
Status do SELinux:                 habilitado
Montagem do SELinuxfs:                /sys/fs/selinux
Diretório raiz do SELinux:         /etc/selinux
Nome da política carregada:             direcionada
Modo atual:                   permissivo
Modo do arquivo de configuração:          permissivo
Status da política MLS:              habilitado
Status da política deny_unknown:     permitido
Verificação de proteção de memória:     atual (seguro)
Versão máxima da política do kernel:      33

Passo 3 - Configurar o repositório Nginx e PHP

O pacote Zabbix instalará automaticamente o PHP e o Nginx. Mas ele pegará versões mais antigas deles. Portanto, precisamos garantir que o processo instale a versão mais recente disponível.

Crie e abra o arquivo /etc/yum.repos.d/nginx.repo para edição.

$ sudo nano /etc/yum.repos.d/nginx.repo

Cole o seguinte código nele.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Uma vez que você tenha terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Habilite o repositório principal do Nginx.

$ sudo dnf config-manager --enable nginx-mainline

Em seguida, precisamos configurar o repositório PHP.

O primeiro passo é pegar o repositório Epel.

$ sudo dnf install epel-release -y

Em seguida, instale o repositório Remi.

$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Verifique os streams de PHP disponíveis.

$ dnf module list php -y
Nome    Stream              Perfis                                      Resumo
php     8.1                 comum [d], devel, minimal                    Linguagem de script PHP

Repositório Modular do Remi para Enterprise Linux 9 - x86_64
Nome    Stream              Perfis                                      Resumo
php     remi-7.4            comum [d], devel, minimal                    Linguagem de script PHP
php     remi-8.0            comum [d], devel, minimal                    Linguagem de script PHP
php     remi-8.1            comum [d], devel, minimal                    Linguagem de script PHP
php     remi-8.2            comum [d], devel, minimal                    Linguagem de script PHP
php     remi-8.3            comum [d], devel, minimal                    Linguagem de script PHP

Dica: [d]efault, [e]nabled, [x]disabled, [i]nstalled

A versão padrão é 8.1. No momento da redação deste tutorial, o Zabbix é compatível com o PHP 8.2. Portanto, habilite o repositório PHP 8.2 do Remi. A próxima versão do Zabbix suportará o PHP 8.3, então você pode habilitar isso se sua versão do Zabbix for 6.0.26 ou superior.

$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.2

Agora, podemos prosseguir com a instalação do Zabbix.

Passo 4 - Instalar o Servidor Zabbix

Os pacotes Zabbix são fornecidos por padrão no repositório EPEL. Antes de prosseguir com nossa instalação, precisamos desativá-los. Abra o /etc/yum.repos.d/epel.repo para edição e adicione a seguinte linha na seção [epel].

[epel]
...
excludepkgs=zabbix*

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

A versão mais recente do Zabbix é 6.4.x, mas vamos continuar usando a versão LTS (suporte a longo prazo), que é muito mais estável para um ambiente de produção.

Instale o repositório do Zabbix.

$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm

Remova todo o cache RPM.

$ sudo dnf clean all

Instale o servidor Zabbix, frontend e agente. Usaremos o servidor PostgreSQL para nosso propósito e, portanto, precisamos do pacote zabbix-web-pgsql. Se você estiver usando MySQL/MariaDB/Percona, precisará instalar o pacote zabbix-web-mysql.

$ sudo dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

Passo 5 - Instalar e Configurar o PostgreSQL

O Zabbix funciona com PostgreSQL 13 e superior. O Rocky Linux 9 vem com o PostgreSQL 13 por padrão. No entanto, usaremos o PostgreSQL 16 para nosso tutorial.

Instale o arquivo RPM do repositório PostgreSQL.

$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Desative o módulo PostgreSQL embutido.

$ sudo dnf -qy module disable postgresql

Agora, você pode instalar o PostgreSQL usando o comando abaixo.

$ sudo dnf install -y postgresql16-server postgresql16-contrib

Inicialize o banco de dados.

$ sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

Habilite o serviço PostgreSQL.

$ sudo systemctl enable postgresql-16

Inicie o serviço PostgreSQL.

$ sudo systemctl start postgresql-16

Verifique o status do serviço PostgreSQL.

$ sudo systemctl status postgresql-16
? postgresql-16.service - Servidor de banco de dados PostgreSQL 16
     Carregado: carregado (/usr/lib/systemd/system/postgresql-16.service; habilitado; preset: desativado)
     Ativo: ativo (em execução) desde Qui 2024-01-18 14:54:46 UTC; 10s atrás
       Docs: https://www.postgresql.org/docs/16/static/
    Processo: 3407 ExecStartPre=/usr/pgsql-16/bin/postgresql-16-check-db-dir ${PGDATA} (código=exited, status=0/SUCCESS)
   Main PID: 3412 (postgres)
      Tarefas: 7 (limite: 24694)
     Memória: 17.4M
        CPU: 117ms
     CGroup: /system.slice/postgresql-16.service
             ??3412 /usr/pgsql-16/bin/postgres -D /var/lib/pgsql/16/data/
             ??3413 "postgres: logger "
             ??3414 "postgres: checkpointer "
             ??3415 "postgres: background writer "
             ??3417 "postgres: walwriter "
             ??3418 "postgres: autovacuum launcher "
             ??3419 "postgres: logical replication launcher "

Crie o usuário do banco de dados Zabbix.

$ sudo -u postgres createuser --pwprompt zabbix

Você será solicitado a inserir a senha.

Digite a senha para o novo papel: 
Digite-a novamente: 

Crie o banco de dados Zabbix.

$ sudo -u postgres createdb -O zabbix zabbix

Importe o esquema inicial e os dados do banco de dados. Você será novamente solicitado a inserir sua senha.

$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

Esse processo pode levar alguns minutos para terminar.

Abra o arquivo /etc/zabbix/zabbix_server.conf para edição.

$ sudo nano /etc/zabbix/zabbix_server.conf

Encontre a variável DBPassword, descomente-a removendo o hash (#) na frente dela e defina seu valor como a senha escolhida na etapa anterior.

DBPassword=psqlpassword

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Inicie e habilite os serviços do servidor e agente Zabbix.

$ sudo systemctl enable zabbix-server zabbix-agent --now

Passo 6 - Configurar o PHP

O Zabbix instala arquivos de configuração do PHP e Nginx que usaremos. No entanto, precisamos fazer algumas edições antes de podermos usá-los.

Primeiro, precisamos abrir /etc/php-fpm.d/zabbix.conf para edição.

$ sudo nano /etc/php-fpm.d/zabbix.conf

Altere os valores de user = apache e group = apache para nginx, conforme mostrado abaixo.

user = nginx
group = nginx

Isso ocorre porque, como estamos usando o Nginx do seu repositório oficial, ele é executado sob o usuário nginx e não apache, que é o que a cópia da distribuição do Nginx executa.

Você também pode editar quaisquer outros valores relacionados ao PHP ou adicionar quaisquer definições personalizadas aqui. Uma vez terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Inicie e habilite o serviço PHP-FPM.

$ sudo systemctl enable php-fpm --now

Passo 7 - Instalar SSL

Precisamos instalar o Certbot para gerar o certificado SSL. Usaremos o instalador de pacotes Snapd para isso. Como o Rocky Linux não vem com ele, instale o instalador Snapd. Ele requer o repositório EPEL (Pacotes Extras para Linux Empresarial) para funcionar. Mas, como já o instalamos na etapa 3, podemos seguir em frente.

Instale o Snapd.

$ sudo dnf install -y snapd

Habilite e inicie o serviço Snap.

$ sudo systemctl enable snapd --now

Instale o pacote Snap core e certifique-se de que sua versão do Snapd esteja atualizada.

$ sudo snap install core && sudo snap refresh core

Crie os links necessários para o Snapd funcionar.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Instale o Certbot.

$ sudo snap install --classic certbot

Use o seguinte comando para garantir que o comando Certbot possa ser executado criando um link simbólico para o diretório /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Verifique se o Certbot está funcionando corretamente.

$ certbot --version
certbot 2.8.0

Execute o seguinte comando para gerar um Certificado SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d zabbix.example.com

O comando acima fará o download de um certificado para o diretório /etc/letsencrypt/live/zabbix.example.com em seu servidor.

Gere um certificado de grupo Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Verifique o serviço do agendador de renovação do Certbot.

$ sudo systemctl list-timers

Você encontrará snap.certbot.renew.service como um dos serviços agendados para execução.

PRÓXIMO                        RESTANTE          ÚLTIMO                        PASSADO       UNIDADE                        ATIVA                 -------------------------------------------------------------------------------------------------------------------------------------    
Sáb 2024-01-20 10:04:02 UTC 1min 32s restante Sáb 2024-01-20 08:52:11 UTC 1h 10min atrás dnf-makecache.timer         dnf-makecache.service
Dom 2024-01-21 00:00:00 UTC 13h restante      Sáb 2024-01-20 00:00:10 UTC 10h atrás      logrotate.timer             logrotate.service
Sáb 2024-01-20 21:13:00 UTC 11h restante      Sáb 2024-01-20 08:19:11 UTC 1h 43min atrás snap.certbot.renew.timer    snap.certbot.renew.service

Faça um teste do processo para verificar se a renovação do SSL está funcionando corretamente.

$ sudo certbot renew --dry-run

Se você não vir erros, está tudo pronto. Seu certificado será renovado automaticamente.

Passo 8 - Configurar o Nginx

O Zabbix instala um arquivo de configuração padrão do Nginx. Precisamos editar para adicionar o código para habilitar os certificados SSL. Também precisamos alterar a porta listen e adicionar código para redirecionar links HTTP para HTTPS.

Abra o arquivo /etc/nginx/conf.d/zabbix.conf para edição.

$ sudo nano /etc/nginx/conf.d/zabbix.conf

Edite o código para que o arquivo fique assim:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;

    root /usr/share/zabbix;

    index index.php;

    access_log  /var/log/nginx/zabbix.access.log;
    error_log   /var/log/nginx/zabbix.error.log;

    ssl_certificate      /etc/letsencrypt/live/zabbix.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/zabbix.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/zabbix.example.com/chain.pem;

    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    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 /vendor {
        deny            all;
        return          404;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_pass    unix:/run/php-fpm/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;
    }
}

# forçar HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name  zabbix.example.com;
    return 301   https://$host$request_uri;
}

Uma vez terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Abra o arquivo /etc/nginx/nginx.conf para edição.

$ sudo nano /etc/nginx/nginx.conf

Adicione a seguinte linha antes da linha include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size 64;

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Verifique sua configuração do Nginx.

$ sudo nginx -t

Inicie e habilite o serviço Nginx.

$ sudo systemctl enable nginx --now

Passo 9 - Acessar o Frontend do Zabbix

Antes de instalar o frontend do Zabbix, defina a permissão no diretório /etc/zabbix/web para que o Nginx possa acessá-lo.

$ sudo chown -R nginx:nginx /etc/zabbix/web

Abra a URL https://zabbix.example.com em seu navegador e você verá a seguinte tela.

Tela Inicial do Instalador Web do Zabbix

Clique no botão Próximo passo para finalizar a instalação do Zabbix. A próxima página verifica os requisitos do sistema e se todos estão satisfeitos.

Verificação dos Requisitos do Sistema do Zabbix

Se não houver problemas, clique no botão Próximo passo para prosseguir. Em seguida, você será solicitado a inserir suas credenciais do banco de dados. Desmarque a opção Criptografia TLS do Banco de Dados, pois não a configuramos.

Detalhes do Banco de Dados do Zabbix

Pressione o botão Próximo passo para prosseguir. Insira o nome do seu servidor Zabbix. No entanto, é opcional, mas se configurado, será exibido na barra de menu e nos títulos das páginas.

Configurações do Zabbix

Pressione o botão Próximo passo para prosseguir. Você será solicitado a confirmar todas as configurações.

Resumo da Instalação do Zabbix

Se tudo estiver certo, pressione o botão Próximo passo para prosseguir. Você deve ver a mensagem informando que a instalação foi bem-sucedida.

Instalação do Zabbix Completa

Clique no botão Concluir para finalizar o processo. Você será levado à página de login.

Página de Login do Zabbix

O nome de usuário padrão é Admin e a senha é zabbix. Insira as informações de login e clique no botão Entrar para acessar o painel do Zabbix.

Painel do Zabbix

Passo 10 - Configurar o SELinux

Habilite o daemon HTTP para se conectar ao Zabbix.

$ sudo setsebool -P httpd_can_connect_zabbix 1

Permita que o Zabbix se conecte a todas as portas TCP.

$ sudo setsebool -P zabbix_can_network on

Habilite o daemons_enable_cluster_mode para evitar erros do gerenciador HA.

$ sudo setsebool -P daemons_enable_cluster_mode on

Crie um pacote de política SELinux personalizado usando o log de auditoria.

$ sudo grep "denied.*zabbix" /var/log/audit/audit.log | audit2allow -M zabbix_policy
****************** IMPORTANTE ********************* Para tornar este pacote de política ativo, execute:

semodule -i zabbix_policy.pp

Instale o pacote de política SELinux personalizado criado.

$ sudo semodule -i zabbix_policy.pp

Execute o comando para verificar se há erros no banco de dados.

$ sudo sealert -a /var/log/audit/audit.log

Ele sugerirá muitas regras a serem aplicadas.

Execute os seguintes comandos.

$ sudo ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
$ sudo semodule -X 300 -i my-phpfpm.pp
$ sudo ausearch -c 'zabbix_agentd' --raw | audit2allow -M my-zabbixagentd
$ sudo semodule -X 300 -i my-zabbixagentd.pp

Aplique a política para permitir que o Nginx tenha acesso ao PostgreSQL.

$ sudo setsebool -P httpd_can_network_connect_db 1

Aplique a política para permitir que conexões sejam feitas para hosts externos.

$ sudo setsebool -P httpd_can_network_connect 1

Defina o SELinux para modo de aplicação.

$ sudo setenforce 1 && sudo sed -i 's/^SELINUX=.*/SELINUX=enforcing/g' /etc/selinux/config

Passo 11 - Instalar o Agente Zabbix em um sistema remoto

A principal função do agente Zabbix é coletar informações do sistema e enviá-las ao servidor Zabbix central para análise. Instalaremos o agente em um sistema Rocky Linux 9, mas você pode fazer isso em qualquer distribuição.

Passo 11.1 - Configurar o Firewall no sistema remoto

Abra a porta 10050 para permitir que o agente Zabbix se conecte ao servidor.

$ sudo firewall-cmd --add-port=10050/tcp --permanent --zone=public
$ sudo firewall-cmd --reload

Passo 11.2 - Instalar o Agente Zabbix

Você precisa repetir o passo 4, exceto pela última instrução de instalação. Isso significa editar o arquivo /etc/yum.repos.d/epel.repo e adicionar a seguinte linha na seção [epel].

[epel]
...
excludepkgs=zabbix*

Em seguida, instale o repositório Zabbix e limpe o cache RPM.

$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
$ sudo dnf clean all

Instale o agente Zabbix.

$ sudo dnf install zabbix-agent

Passo 11.3 - Configurar o Agente Zabbix

O Zabbix suporta criptografia baseada em certificado, mas para a simplicidade deste tutorial, usaremos chaves pré-compartilhadas (PSK) para proteger a conexão entre o servidor e o agente.

Gere um arquivo PSK.

$ sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

Mostre a chave para copiar.

$ cat /etc/zabbix/zabbix_agentd.psk
797c84746dfe86f71b0f207785906d2bb886be27149b296d86df6b1ec9de6bbe

Copie esta chave porque precisaremos dela mais tarde.

O agente Zabbix armazena sua configuração no arquivo /etc/zabbix/zabbix-agentd.conf. Abra-o para edição.

$ sudo nano /etc/zabbix/zabbix_agentd.conf

Descomente as seguintes variáveis e atualize seus valores conforme mostrado abaixo.

Server=
ServerActive=
HostMetadata=ZabbixLinuxClient
Hostname=zabbixclient.example.com

Coloque o endereço IP do seu servidor Zabbix como valor para as variáveis Server e ServerActive. A variável HostMetadata pode ser qualquer coisa que você possa usar para identificar o sistema. Ela também é usada no processo de auto-registro na interface web do Zabbix, que falaremos mais tarde. O item Hostname refere-se ao nome do sistema do nó do agente Zabbix.

Você pode descobrir o nome do host usando o seguinte comando.

$ cat /etc/hostname

Em seguida, encontre a seção que configura uma conexão segura entre o servidor e o agente. Encontre a variável TLSConnect e altere seu valor de unencrypted para psk, conforme mostrado abaixo.

...
### Opção: TLSConnect
#       Como o agente deve se conectar ao servidor ou proxy. Usado para verificações ativas.
#       Apenas um valor pode ser especificado:
#               unencrypted - conectar sem criptografia
#               psk         - conectar usando TLS e uma chave pré-compartilhada
#               cert        - conectar usando TLS e um certificado
#
# Obrigatório: sim, se os parâmetros de certificado TLS ou PSK forem definidos (mesmo para conexão 'não criptografada')
# Padrão:
# TLSConnect=psk
...

Em seguida, localize a seção TLSAccept e altere seu valor para psk, conforme mostrado abaixo.

...
### Opção: TLSAccept
#       Quais conexões de entrada aceitar.
#       Vários valores podem ser especificados, separados por vírgula:
#               unencrypted - aceitar conexões sem criptografia
#               psk         - aceitar conexões protegidas com TLS e uma chave pré-compartilhada
#               cert        - aceitar conexões protegidas com TLS e um certificado
#
# Obrigatório: sim, se os parâmetros de certificado TLS ou PSK forem definidos (mesmo para conexão 'não criptografada')
# Padrão:
# TLSAccept=psk
...

Em seguida, encontre a seção TLSPSKIdentity e altere seu valor para PSK 001, conforme mostrado.

...
### Opção: TLSPSKIdentity
#       String única, sensível a maiúsculas e minúsculas, usada para identificar a chave pré-compartilhada.
#
# Obrigatório: não
# Padrão:
# TLSPSKIdentity=PSK 001
...

Este é o ID PSK que você usará para adicionar o host através da interface web do Zabbix.

Por fim, localize a seção TLSPSKFile e altere seu valor para o local do arquivo PSK, conforme mostrado.

...
### Opção: TLSPSKFile
#       Caminho completo de um arquivo contendo a chave pré-compartilhada.
#
# Obrigatório: não
# Padrão:
# TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...

Uma vez terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Passo 11.4 - Iniciar o Agente Zabbix

Inicie e habilite o serviço do agente Zabbix.

$ sudo systemctl enable zabbix-agent --now

Passo 12 - Adicionar o Cliente Zabbix ao frontend do Zabbix para monitoramento

Podemos adicionar um novo host aos grupos de hosts definidos existentes ou criar um novo grupo de hosts. Os grupos de hosts permitem que você categorize os tipos de nós que está monitorando. Para criar um novo grupo de hosts, abra a opção Grupos de hosts no menu Configuração.

Adicione o nome do grupo na caixa e clique no botão Aplicar para criar o grupo.

Para criar um novo host, clique na opção Hosts no menu Configuração e clique no botão Criar host no canto superior direito.

Criar Hosts do Zabbix

Adicione o nome do host do nó Zabbix.

Digite Linux pelo agente Zabbix na seção Templates e selecione o template no dropdown.

Da mesma forma, digite Servidores Linux na seção Grupos e selecione-o.

Clique no botão Adicionar na seção Interfaces e selecione Agente.

Em seguida, adicione o endereço IP do nó cliente Zabbix. Uma vez que você tenha terminado, o popup completo de Novo host deve parecer com o seguinte.

Popup Novo Host do Zabbix

Em seguida, mude para a aba Criptografia. Selecione PSK para as opções Conexões para host e Conexões do host. Defina o ID PSK como PSK 001, que é o valor que definimos na etapa 11.3 para a variável TLSPSKIdentity anteriormente. Em seguida, defina o valor PSK como a chave que você gerou na máquina do agente anteriormente.

Criptografia do Agente Zabbix

Uma vez terminado, clique no botão Adicionar para finalizar a adição do host.

Você deve ver o novo host na lista com um rótulo verde indicando que o agente está conectado ao servidor e está funcionando conforme o esperado.

Lista de Hosts do Zabbix

Passo 13 - Configurar Notificações por E-mail

O Zabbix suporta muitos tipos de notificações, como e-mail, Slack, Telegram, SMS, etc. Para o propósito do nosso tutorial, configuraremos notificações por e-mail. Visite a interface do Zabbix, clique em Administração e depois em Tipos de mídia no menu à esquerda. Você verá dois tipos de e-mail, um para e-mail em texto simples e o outro para e-mail em HTML.

Tipos de Mídia do Zabbix

Clique na opção Email (HTML) e você verá a seguinte página.

Configurar Tipo de Mídia de E-mail do Zabbix

Insira os detalhes do seu servidor SMTP. Para nosso tutorial, estamos usando o serviço Amazon SES. Clique no botão Atualizar assim que terminar para salvar os detalhes. Você será levado de volta à página Tipos de mídia. Clique no botão Testar na página para testar as configurações de e-mail. Isso criará um popup. Preencha seu endereço de e-mail e clique no botão Testar para enviar um e-mail de teste.

Popup de Teste de E-mail do Zabbix

Você deve ver uma mensagem de sucesso no popup informando que funcionou bem e deve receber o seguinte e-mail em sua caixa de entrada. Feche o popup clicando no botão Cancelar.

Teste de E-mail do Zabbix

Passo 14 - Criar um novo usuário

O usuário padrão do Zabbix não está configurado para receber qualquer tipo de notificação. Embora possamos fazer isso, o usuário padrão também é inseguro para usar. A melhor opção é criar um novo usuário e, em seguida, desativar o usuário padrão.

Visite a seção Administração >> Usuários do menu e clique no botão Criar usuário no canto superior direito para abrir a seguinte página.

Página Novo Usuário do Zabbix

Preencha os detalhes do usuário. Selecione Administradores do Zabbix como o grupo de usuários. Assim que terminar, clique na aba Mídia. Clique no botão Adicionar e selecione Email (HTML) como o tipo.

Aba Mídia do Usuário do Zabbix

Insira seu endereço de e-mail no campo Enviar para e clique no botão Adicionar para adicionar a opção de e-mail. Em seguida, mude para a aba Permissões e clique no botão Selecionar para adicionar o papel de super administrador.

Permissões do Usuário do Zabbix

Clique no botão Adicionar para finalizar a adição do usuário. Em seguida, você precisa sair da interface, entrar novamente como o novo usuário e voltar à página do usuário. Clique no usuário Admin, selecione o grupo Desativado e atualize o usuário. Isso desativará o usuário padrão para não ser usado.

Passo 15 - Enviar um Alerta de Teste

Por padrão, o Zabbix rastreia a quantidade de espaço livre no servidor. Ele detecta todas as montagens de disco e realiza verificações regularmente.

O primeiro passo é habilitar o gatilho de notificação que permite que o Zabbix envie notificações a todos os administradores. O Zabbix já tem o gatilho padrão configurado. Precisamos habilitá-lo para funcionar. Visite Configuração >> Ações >> Ações de gatilho e clique no status Desativado para alterá-lo para Ativado, conforme mostrado.

Ações de Gatilho do Zabbix

Em seguida, faça login no nó Zabbix e crie um arquivo temporário grande o suficiente para acionar um alerta de uso de disco.

Primeiro, determine o espaço livre no servidor.

$ df -h
Sistema de arquivos      Tamanho  Usado Disponível Uso% Montado em
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           780M   51M  730M   7% /run
/dev/vda2        94G   12G   78G  13% /
/dev/vda1       260M  7.0M  253M   3% /boot/efi
tmpfs           390M  4.0K  390M   1% /run/user/1001

Isso mostra que temos cerca de 78 GB de espaço livre. Em seguida, use o comando fallocate para pré-alocar mais de 80% do espaço em disco. É grande o suficiente para acionar o alerta.

$ fallocate -l 74G /tmp/temp.img

Verifique o uso do disco novamente.

$ df -h
Sistema de arquivos      Tamanho  Usado Disponível Uso% Montado em
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           780M   54M  726M   7% /run
/dev/vda2        94G   86G  3.9G  96% /
/dev/vda1       260M  7.0M  253M   3% /boot/efi
tmpfs           390M  4.0K  390M   1% /run/user/1001

O Zabbix acionará um alerta sobre o espaço em disco e enviará um alerta por e-mail a respeito. O e-mail parecerá com o seguinte.

E-mail de Alerta de Teste do Zabbix

Você também pode verificar o painel para o alerta, que deve aparecer em segundos.

Painel de Monitoramento de Alerta de Verificação de Disco do Zabbix

Delete o arquivo temporário quando terminar.

$ rm -f /tmp/temp.img

Você deve receber outro e-mail notificando que o problema foi resolvido.

E-mail de Teste de Problema Resolvido do Zabbix

Passo 16 - Configurar Registro Automático para Nós Linux

Quando você precisa adicionar vários nós ao servidor Zabbix, o processo pode se tornar um pouco tedioso. Felizmente, a interface do Zabbix permite automatizar o processo usando Registro Automático.

Visite Ações >> Ações de Registro Automático e clique no botão Criar ação no canto superior direito.

Página de Registro Automático do Zabbix

Uma vez na nova tela, dê um nome (Registro automático de servidores Linux) à ação.

Clique no botão Adicionar abaixo de Condições para adicionar uma condição e escolha Metadados do host como o tipo, contém como o operador e Linux como o valor.

Condições de Registro Automático do Zabbix

Clique em Adicionar para prosseguir e a página de criar ação deve parecer com a seguinte.

Nova Página de Ação de Registro Automático do Zabbix

Clique na aba Operações, selecione Adicionar ao grupo de hosts como a Operação e selecione Servidores Linux como os Grupos de Hosts. Clique no botão Adicionar para finalizar.

Detalhes da Operação de Registro Automático do Zabbix

Se você quiser usar criptografia PSK, também pode configurar isso. Visite o menu Administração >> Geral >> Registro Automático e habilite ambas as opções de criptografia. Insira um ID PSK e uma chave PSK criados no servidor Zabbix. Você pode usar esse ID PSK e chave em cada nó e eles serão criptografados usando esses valores.

Criptografia de Registro Automático do Zabbix

A partir de agora, toda vez que você instalar e configurar o agente Zabbix em um servidor Linux, ele será adicionado automaticamente à interface do Zabbix.

Conclusão

Isso conclui nosso tutorial sobre como instalar e configurar um servidor Zabbix em um sistema Rocky Linux 9. Também instalamos um agente Zabbix em um servidor remoto para se conectar ao servidor. Se você tiver alguma dúvida, poste nos comentários abaixo.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.