2 Requisitos
Hardware
Memória
O Zabbix requer memória física e em disco. A quantidade de memória em disco necessária obviamente depende do número de hosts e parâmetros que estão sendo monitorados. Se você planeja manter um histórico longo dos parâmetros monitorados, deve considerar pelo menos alguns gigabytes para ter espaço suficiente para armazenar o histórico no banco de dados. Cada processo do daemon do Zabbix requer várias conexões com um servidor de banco de dados. A quantidade de memória alocada para a conexão depende da configuração do mecanismo de banco de dados.
Quanto mais memória física você tiver, mais rápido o banco de dados (e, portanto, o Zabbix) funcionará.
CPU
O Zabbix e especialmente o banco de dados do Zabbix podem exigir recursos significativos de CPU, dependendo do número de parâmetros monitorados e do mecanismo de banco de dados escolhido.
Outro hardware
Uma porta de comunicação serial e um modem GSM serial são necessários para usar o suporte a notificações por SMS no Zabbix. Conversores USB-para-serial também funcionarão.
Exemplos de configuração de hardware
A tabela fornece exemplos de configuração de hardware, considerando uma plataforma Linux/BSD/Unix.
Estes são exemplos de dimensionamento e configuração de hardware para começar. Cada instalação do Zabbix é única. Certifique-se de avaliar o desempenho do seu sistema Zabbix em um ambiente de homologação ou desenvolvimento, para compreender completamente seus requisitos antes de implantar a instalação do Zabbix no ambiente de produção.
| Tamanho da instalação | Métricas monitoradas1 | Núcleos de CPU/vCPU | Memória (GiB) |
Banco de dados | Amazon EC22 |
|---|---|---|---|---|---|
| Pequena | 1 000 | 2 | 8 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.large/m6g.large |
| Média | 10 000 | 4 | 16 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.xlarge/m6g.xlarge |
| Grande | 100 000 | 16 | 64 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.4xlarge/m6g.4xlarge |
| Muito grande | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.8xlarge/m6g.8xlarge |
1 Para fins de dimensionamento, 1 métrica monitorada é representada aproximadamente pela fórmula 1 métrica = 1 item + 1 trigger + 1 gráfico. Esta é apenas uma regra de estimativa, não uma fórmula para calcular métricas monitoradas.
2 Exemplo com instâncias EC2 de uso geral da Amazon, usando a arquitetura ARM64 ou x86_64. Um tipo de instância adequado, como otimizado para computação/memória/armazenamento, deve ser selecionado durante a avaliação e os testes da instalação do Zabbix, antes da instalação no ambiente de produção.
A configuração real depende muito do número de itens ativos e das taxas de atualização (consulte a seção tamanho do banco de dados desta página para obter detalhes). É altamente recomendável executar o banco de dados em um server separado para instalações grandes.
Plataformas suportadas
Devido aos requisitos de segurança e à natureza crítica do servidor de monitoramento, o UNIX é o único sistema operacional que pode fornecer consistentemente o desempenho, tolerância a falhas e resiliência necessários. O Zabbix opera nas versões líderes de mercado.
Os componentes do Zabbix estão disponíveis e foram testados nas seguintes plataformas:
| Plataforma | Server | Agent | Agent 2 | Comentários |
|---|---|---|---|---|
| Linux | x | x | x | |
| Windows | - | x | x | O agent do Zabbix é suportado em todas as versões desktop e server desde o Windows XP (64-bit)/Server 2003. O agent 2 do Zabbix é suportado em todas as versões desktop e server desde o Windows 10 (32-bit)/Server 2016, pois é compilado apenas com uma versão Go suportada para evitar vulnerabilidades críticas de segurança. Desde o Go 1.21, as versões mínimas exigidas do Windows foram elevadas, tornando o Windows 10/Server 2016 a versão mínima para o agent 2 do Zabbix. |
| macOS | x | x | - | |
| IBM AIX | x | x | - | O agent do Zabbix não funciona em plataformas AIX abaixo das versões 6.1 TL07 / 7.1 TL01. |
| FreeBSD | x | x | - | |
| OpenBSD | x | x | - | |
| Solaris | x | x | - | |
| NetBSD | x | x | - | |
| HP-UX | x | x | - |
O server/agent do Zabbix pode funcionar em outros sistemas operacionais semelhantes ao Unix.
O Zabbix desabilita core dumps se compilado com criptografia e não inicia se o sistema não permitir a desabilitação de core dumps.
Software necessário
O Zabbix é construído em torno de servidores web modernos, principais mecanismos de banco de dados e linguagem de script PHP.
Software externo de terceiros ao redor
Se indicado como obrigatório, o software/biblioteca necessário é estritamente indispensável. Os opcionais são necessários para dar suporte a alguma função específica.
| Software | Mandatory status | Supported versions | Comments |
|---|---|---|---|
| MySQL/Percona | One of | 8.0.30-9.7.X | Necessário se MySQL (ou Percona) for usado como banco de dados backend do Zabbix. O mecanismo InnoDB é obrigatório. Suporte adicionado para versões do MySQL: - 8.4.X desde Zabbix 7.0.1; - 9.0.X desde Zabbix 7.0.2; - 9.5.X desde Zabbix 7.0.22; - 9.6.X desde Zabbix 7.0.25; - 9.7.X desde Zabbix 7.0.28. Recomendamos usar a biblioteca C API (libmysqlclient) para compilar server/proxy. Recomendamos fortemente usar apenas versões LTS em ambientes de produção. Versões rotuladas como "rolling release", "early access" ou similares não são recomendadas. |
| MariaDB | 10.5.00-12.3.X | O mecanismo InnoDB é obrigatório. Recomendamos usar a biblioteca MariaDB Connector/C para compilar server/proxy. Suporte adicionado para versões do MariaDB: - 11.4.X desde Zabbix 7.0.1; - 11.5.X desde Zabbix 7.0.4; - 12.0.X desde Zabbix 7.0.19; - 12.2.X desde Zabbix 7.0.25; - 12.3.X desde Zabbix 7.0.28. Veja também: Possíveis deadlocks com MariaDB e Acesso a elementos da UI com MariaDB 10.5.1-10.5.9. Recomendamos fortemente usar apenas versões LTS em ambientes de produção. Versões rotuladas como "rolling release", "early access" ou similares não são recomendadas. |
|
| Oracle | 19c - 21c | Necessário se Oracle for usado como banco de dados backend do Zabbix. O suporte ao Oracle DB está obsoleto desde Zabbix 7.0. |
|
| PostgreSQL | 13.0-18.X | Necessário se PostgreSQL for usado como banco de dados backend do Zabbix. Dependendo do tamanho da instalação, pode ser necessário aumentar a propriedade de configuração work_mem do PostgreSQL (4MB é o valor padrão), para que a quantidade de memória usada pelo banco de dados para uma operação específica seja suficiente e a execução da consulta não demore demais. Suporte adicionado para versões do PostgreSQL: - 17.X desde Zabbix 7.0.6; - 18.X desde Zabbix 7.0.20. |
|
| TimescaleDB for PostgreSQL | 2.13.0-2.29.X | Necessário se TimescaleDB for usado como extensão de banco de dados do PostgreSQL. Certifique-se de instalar a TimescaleDB Community Edition, que oferece suporte à compressão. Consulte a documentação do TimescaleDB para detalhes sobre a compatibilidade entre as versões do PostgreSQL e do TimescaleDB. Suporte adicionado para versões do TimescaleDB: - 2.15.X desde Zabbix 7.0.1; - 2.16.X desde Zabbix 7.0.4; - 2.17.X desde Zabbix 7.0.6; - 2.18.X desde Zabbix 7.0.10; - 2.19.X desde Zabbix 7.0.13; - 2.20.X desde Zabbix 7.0.17; - 2.21.X desde Zabbix 7.0.18; - 2.22.X desde Zabbix 7.0.20; - 2.23.X desde Zabbix 7.0.22; - 2.24.X desde Zabbix 7.0.23; - 2.25.X desde Zabbix 7.0.24; - 2.26.X desde Zabbix 7.0.25; - 2.27.X desde Zabbix 7.0.28; - 2.28.X desde Zabbix 7.0.29; - 2.29.X desde Zabbix 7.0.30. |
|
| SQLite | Opcional | 3.3.5-3.53.X | SQLite é suportado apenas com proxies do Zabbix. Necessário se SQLite for usado como banco de dados do proxy do Zabbix. Suporte para versões do SQLite: - 3.53.X desde Zabbix 7.0.25. |
| Elasticsearch | 7.X | Elasticsearch é suportado apenas com servers do Zabbix, exclusivamente para armazenar dados de histórico. O suporte ao Elasticsearch é atualmente experimental. Veja também o software necessário para server/proxy. | |
| smartmontools | 7.1 ou posterior | Necessário para o Zabbix agent 2. | |
| who | Necessário para o plugin de contagem de usuários. | ||
| dpkg | Necessário para o plugin system.sw.packages. | ||
| pkgtool | Necessário para o plugin system.sw.packages. | ||
| rpm | Necessário para o plugin system.sw.packages. | ||
| pacman | Necessário para o plugin system.sw.packages. | ||
| q applets | qlist e qsize, como parte de q applets, são necessários para o plugin system.sw.packages no Gentoo Linux. |
Embora o Zabbix possa funcionar com bancos de dados disponíveis nos sistemas operacionais, para a melhor experiência, recomendamos usar bancos de dados instalados a partir dos repositórios oficiais do desenvolvedor do banco de dados.
Frontend
A largura mínima de tela suportada para o frontend do Zabbix é 1200px.
Se indicado como obrigatório, o software/biblioteca exigido é estritamente necessário. Os opcionais são necessários para oferecer suporte a alguma função específica.
| Software | Mandatory status | Supported versions | Comments |
|---|---|---|---|
| PHP | Yes | 8.0.0 - 8.5.X | Suporte adicionado para versões do PHP: - 8.4.X desde o Zabbix 7.0.10; - 8.5.X desde o Zabbix 7.0.25. |
| Apache | One of | 2.4 or later | |
| Nginx | 1.20 or later | ||
| MySQL | One of | See Third-party external surrounding software | |
| PostgreSQL | |||
| Oracle | |||
| PHP extensions | |||
| mysqli | Yes | Obrigatório se o MySQL for usado como banco de dados backend do Zabbix. | |
| pgsql | Obrigatório se o PostgreSQL for usado como banco de dados backend do Zabbix. | ||
| oci8 | Obrigatório se o Oracle for usado como banco de dados backend do Zabbix. | ||
| bcmath | php-bcmath (--enable-bcmath) | ||
| mbstring | php-mbstring (--enable-mbstring) | ||
| sockets | php-net-socket (--enable-sockets); necessário para suporte a user script. | ||
| gd | 2.0.28 or later | php-gd (se fornecido como um pacote separado pelo distribuidor); a extensão GD do PHP deve oferecer suporte a imagens PNG (--with-png-dir), imagens JPEG (--with-jpeg-dir) e FreeType 2 (--with-freetype-dir). A versão 2.3.0 ou posterior pode ser necessária para evitar possível sobreposição de texto em gráficos em alguns idiomas do frontend. | |
| libxml | 2.6.15 or later | php-xml (se fornecido como um pacote separado pelo distribuidor) | |
| xmlwriter | php-xmlwriter (se fornecido como um pacote separado pelo distribuidor) | ||
| xmlreader | php-xmlreader (se fornecido como um pacote separado pelo distribuidor) | ||
| ctype | php-ctype (--enable-ctype) | ||
| session | php-session (se fornecido como um pacote separado pelo distribuidor) | ||
| ldap | No | php-ldap; necessário para autenticação LDAP. | |
| openssl | php-openssl; necessário para autenticação SAML. | ||
| gettext | php-gettext (--with-gettext); necessário para traduções. | ||
| cURL | php-curl; necessário para Duo Universal Prompt MFA. | ||
Bibliotecas de frontend de terceiros fornecidas com o Zabbix:
| Library | Mandatory status | Supplied version | Comments |
|---|---|---|---|
| jQuery JavaScript Library | Yes | 3.6.0 | Biblioteca JavaScript que simplifica o processo de desenvolvimento entre navegadores. |
| jQuery UI | 1.12.1 | Um conjunto de interações, efeitos, widgets e temas de interface do usuário construído sobre o jQuery. | |
| SAML PHP Toolkit | 4.3.1 | Um toolkit PHP que adiciona suporte à autenticação SAML 2.0 para permitir o login no Zabbix. Histórico da versão fornecida: - 4.0.0 desde o Zabbix 7.0.0; - 4.3.1 desde o Zabbix 7.0.24 (recomendado). |
|
| Duo Universal PHP library | 1.1.2 | Uma biblioteca PHP que adiciona suporte à autenticação multifator Duo Universal Prompt para o Zabbix. Histórico da versão fornecida: - 1.0.2 desde o Zabbix 7.0.0; - 1.1.0 desde o Zabbix 7.0.23; - 1.1.2 desde o Zabbix 7.0.26 (recomendado). |
|
| Symfony Yaml Component | 5.1.0 | Adiciona suporte para exportar e importar elementos de configuração do Zabbix no formato YAML. |
O Zabbix também pode funcionar em versões anteriores do Apache, MySQL, Oracle e PostgreSQL.
Para fontes diferentes da DejaVu padrão, a função PHP imagerotate pode ser necessária. Se ela estiver ausente, essas fontes podem ser renderizadas incorretamente quando um gráfico for exibido. Essa função só está disponível se o PHP for compilado com GD integrado, o que não ocorre no Debian e em outras distribuições.
Bibliotecas de terceiros usadas para escrever e depurar o código do frontend do Zabbix:
| Library | Mandatory status | Minimum version | Description |
|---|---|---|---|
| Composer | No | 2.4.1 | Um gerenciador de pacotes em nível de aplicação para PHP que fornece um formato padrão para gerenciar dependências de software PHP e bibliotecas necessárias. |
| PHPUnit | 8.5.29 | Uma estrutura de testes unitários em PHP para testar o frontend do Zabbix. | |
| SASS | 3.4.22 | Uma linguagem de script pré-processadora que é interpretada e compilada em Cascading Style Sheets (CSS). |
Navegador web no lado do cliente
Cookies e JavaScript devem estar habilitados.
As versões estáveis mais recentes do Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari e Opera são suportadas.
A política de mesma origem para IFrames está implementada, o que significa que o Zabbix não pode ser colocado em frames em um domínio diferente.
Ainda assim, páginas colocadas em um frame do Zabbix terão acesso ao frontend do Zabbix (através de JavaScript) se a página que é colocada no frame e o frontend do Zabbix estiverem no mesmo domínio.
Uma página como http://secure-zabbix.com/cms/page.html, se colocada em dashboards em http://secure-zabbix.com/zabbix/, terá acesso total ao JS do Zabbix.
Server/proxy
Se indicado como obrigatório, o software/biblioteca exigido é estritamente necessário. Os opcionais são necessários para oferecer suporte a alguma função específica.
| Requirement | Mandatory status | Description |
|---|---|---|
| libpcre/libpcre2 | One of | A biblioteca PCRE/PCRE2 é necessária para suporte a Perl Compatible Regular Expression (PCRE). A nomenclatura pode variar dependendo da distribuição GNU/Linux, por exemplo, 'libpcre3' ou 'libpcre1'. São suportadas as versões PCRE v8.x e PCRE2 v10.x. |
| libevent | Yes | Necessária para comunicação entre processos. Versão 2.0.10 ou superior (desde o Zabbix 7.0.4; 1.4 antes disso). |
| libevent-pthreads | Necessária para comunicação entre processos. | |
| libpthread | Necessária para suporte a mutex e lock de leitura/escrita (pode fazer parte da libc). | |
| libresolv | Necessária para resolução de DNS (pode fazer parte da libc). | |
| libiconv | Necessária para codificação/conversão de formato de texto (pode fazer parte da libc). Obrigatória para o Zabbix server no Linux. | |
| libz | Necessária para suporte à compactação. | |
| libm | Biblioteca matemática. Necessária apenas para o Zabbix server. | |
| libmysqlclient | One of | Necessária se MySQL for usado. |
| libmariadb | Necessária se MariaDB for usado. | |
| libclntsh | Necessária se Oracle for usado; a versão de libclntsh deve corresponder ou ser superior à versão do banco de dados Oracle utilizado. | |
| libpq5 | Necessária se PostgreSQL for usado; a versão de libpq5 deve corresponder ou ser superior à versão do banco de dados PostgreSQL utilizado. | |
| libsqlite3 | Necessária se SQLite for usado. Necessária apenas para o Zabbix proxy. | |
| libOpenIPMI | No | Necessária para suporte a IPMI. Necessária apenas para o Zabbix server. |
| libssh2 or libssh | Necessária para verificações SSH. Versão 1.0 ou superior (libssh2); 0.9.0 ou superior (libssh). | |
| libcurl | Necessária para os seguintes recursos: - itens Web monitoring, VMware monitoring e HTTP agent (para todos: versão 7.19.1 ou superior); - itens Zabbix agent web.page.* (versão 7.19.1 ou superior; veja também os requisitos do agent); - SMTP authentication (versão 7.20.0 ou superior); - Elasticsearch (versão 7.28.0 ou superior). Recomenda-se a versão 7.28.0 ou superior para todos os recursos. Para usar recursos atualizados do cURL para itens web.page.*, reinicie o Zabbix server/proxy.Para autenticação SMTP, use o pacote libcurl-full em tempo de execução. |
|
| libxml2 | Necessária para monitoramento VMware e pré-processamento XML XPath. | |
| net-snmp | Necessária para suporte a SNMP. Versão 5.3.0 ou superior. O suporte a protocolos de criptografia forte (AES192/AES192C, AES256/AES256C) está disponível a partir da biblioteca net-snmp 5.8; em sistemas baseados em RHEL 8+, recomenda-se usar net-snmp 5.8.15 ou posterior. |
|
| libunixodbc | Necessária para monitoramento de banco de dados. | |
| libgnutls or libopenssl | Necessária ao usar encryption. Versões mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
| libldap | Necessária para suporte a LDAP. | |
| fping | Necessária para itens ICMP ping. | |
| c-ares | Necessária para resolução assíncrona de DNS se o Zabbix estiver configurado com a opção --with-ares. Caso contrário, libevent será usada.Suportada desde o Zabbix 7.0.11; versão mínima: 1.16.0 |
Agent
| Requirement | Mandatory status | Description |
|---|---|---|
| libpcre/libpcre2 | One of | A biblioteca PCRE/PCRE2 é necessária para suporte a Perl Compatible Regular Expression (PCRE). A nomenclatura pode variar dependendo da distribuição GNU/Linux, por exemplo, 'libpcre3' ou 'libpcre1'. São suportadas as versões PCRE v8.x e PCRE2 v10.x. Necessária para monitoramento de logs. Também é necessária no Windows. |
| libpthread | Yes | Necessária para suporte a mutex e read-write lock (pode fazer parte da libc). Não é necessária no Windows. |
| libresolv | Necessária para resolução de DNS (pode fazer parte da libc). Não é necessária no Windows. | |
| libiconv | Necessária para conversão de codificação/formato de texto para UTF-8 em itens de log, conteúdo de arquivo, regex de arquivo e itens regmatch (pode fazer parte da libc). Não é necessária no Windows. | |
| libgnutls or libopenssl | No | Necessária se estiver usando encryption. Versões mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1 No Microsoft Windows, é necessário OpenSSL 1.1.1 ou posterior. |
| libldap | Necessária se LDAP for usado. Não há suporte no Windows. | |
| libcurl | Necessária para suporte estendido aos itens web.page.* do Zabbix agent. Sem libcurl, a funcionalidade básica está disponível (por exemplo, web.page.get[http://example.com]). Com libcurl, o agent oferece suporte a recursos adicionais, como URLs HTTP com credenciais (por exemplo, http://user:[email protected]) e URLs HTTPS. É necessária a versão 7.19.1 ou superior (recomenda-se 7.28.0 ou superior). Para usar recursos atualizados do cURL, reinicie o Zabbix agent. |
|
| libmodbus | Necessária apenas se o monitoramento Modbus for usado. Versão 3.0 ou superior. |
Agent 2
| Requirement | Mandatory status | Description |
|---|---|---|
| Go | Yes | Necessário para compilar o Zabbix agent 2 e seus plugins a partir do código-fonte. Go 1.25 ou posterior é suportado. Consulte go.dev para instruções de instalação. As bibliotecas Go usadas pelo Zabbix agent 2 e seus plugins estão listadas no repositório Git do Zabbix (as bibliotecas marcadas como indirect no repositório são dependências de outras bibliotecas necessárias):- Zabbix agent 2 - Plugin support - PostgreSQL - MongoDB - MSSQL - Ember+ - Example plugin |
| libpcre/libpcre2 | One of | A biblioteca PCRE/PCRE2 é necessária para suporte a Expressões Regulares Compatíveis com Perl (PCRE). A nomenclatura pode variar dependendo da distribuição GNU/Linux, por exemplo, 'libpcre3' ou 'libpcre1'. São suportadas as versões PCRE v8.x e PCRE2 v10.x. Necessária para monitoramento de logs. Também é necessária no Windows. |
| libopenssl | No | Necessária ao usar criptografia. OpenSSL 1.0.1 ou posterior é necessário em plataformas UNIX. A biblioteca OpenSSL deve ter suporte a PSK habilitado. LibreSSL não é suportado. Em sistemas Microsoft Windows, OpenSSL 1.1.1 ou posterior é necessário. |
Serviço web
A versão estável mais recente do Google Chrome é suportada para gerar relatórios agendados usando o serviço web do Zabbix.
A versão do Go necessária para compilar o serviço web corresponde à utilizada para o Zabbix agent 2.
Java gateway
Se você obteve o Zabbix do repositório de código-fonte ou de um arquivo compactado, as dependências necessárias já estão incluídas na árvore de código-fonte.
Se você obteve o Zabbix do pacote da sua distribuição, as dependências necessárias já são fornecidas pelo sistema de empacotamento.
Em ambos os casos acima, o software está pronto para ser usado e não são necessários downloads adicionais.
No entanto, se você quiser fornecer suas próprias versões dessas dependências (por exemplo, se estiver preparando um pacote para alguma distribuição Linux), abaixo está a lista de versões das bibliotecas com as quais o Java gateway é conhecido por funcionar. O Zabbix também pode funcionar com outras versões dessas bibliotecas.
A tabela a seguir lista os arquivos JAR atualmente incluídos no Java gateway no código original:
| Biblioteca | Status obrigatório | Versão incluída | Comentários |
|---|---|---|---|
| android-json | Sim | 4.3r1 | JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados. Esta é a implementação compatível com org.json do Android, extraída do Android SDK. |
| logback-classic | 1.5.25 | ||
| logback-core | 1.5.25 | ||
| slf4j-api | 2.0.16 |
O Java gateway pode ser compilado usando o Oracle Java ou o OpenJDK de código aberto (versão 8 ou posterior). Os pacotes fornecidos pelo Zabbix são compilados usando o OpenJDK. A tabela a seguir lista os pacotes OpenJDK usados para compilar os pacotes do Zabbix por distribuição:
| Distribuição | Pacote OpenJDK |
|---|---|
| AlmaLinux 10 | java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2) |
| AlmaLinux 9 | java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2) |
| AlmaLinux 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.332.b09-2; arm64: 1.8.0.382.b05-2) |
| Amazon Linux 2023 | java-22-amazon-corretto-devel (amd64, arm64: 22.0.2+9-1) |
| CentOS Stream 10 | java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2) |
| CentOS Stream 9 | java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2) |
| CentOS Stream 8 | java-1.8.0-openjdk-devel (amd64, arm64: 1.8.0.362.b08-3) |
| CentOS 7 | java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1) |
| Debian 13 | default-jdk-headless (amd64, arm64: 2:1.21-76) |
| Debian 12 | default-jdk-headless (amd64, arm64: 2:1.17-74) |
| Debian 11 | default-jdk-headless (amd64: 2:1.11-72) |
| OpenSUSE Leap 16 | java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.2.1) |
| OpenSUSE Leap 15 | java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1) |
| Oracle Linux 10 | java-21-openjdk-devel (amd64, arm64: 21.0.11.0.10-2.0.1) |
| Oracle Linux 9 | java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2.0.1) |
| Oracle Linux 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4.0.1); java-11-openjdk-devel (arm64: 11.0.20.0.8-3.0.1) |
| Oracle Linux 7 | java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1) |
| Raspberry Pi OS 13 | default-jdk-headless (arm64, armhf: 2:1.21-76) |
| Raspberry Pi OS 12 | default-jdk-headless (arm64, armhf: 2:1.17-74) |
| Raspberry Pi OS 11 | default-jdk-headless (arm64: 2:1.11-72; armhf: 2:1.11-72+b4) |
| RHEL 10 | java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2) |
| RHEL 9 | java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2) |
| RHEL 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2) |
| RHEL 7 | java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1) |
| Rocky Linux 10 | java-21-openjdk-devel (amd64, arm64: 21.0.12.0.8-1.2) |
| Rocky Linux 9 | java-17-openjdk-devel (amd64, arm64: 17.0.15.0.6-2) |
| Rocky Linux 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2) |
| SLES 16 | java-21-openjdk-devel (amd64, arm64: 21.0.11.0-160000.1.1) |
| SLES 15 | java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1) |
| Ubuntu 26.04 | default-jdk-headless (amd64, arm64: 2:1.25-77) |
| Ubuntu 24.04 | default-jdk-headless (amd64, arm64: 2:1.21-75+exp1) |
| Ubuntu 22.04 | default-jdk-headless (amd64, arm64: 2:1.11-72build2) |
| Ubuntu 20.04 | default-jdk-headless (amd64, arm64: 2:1.11-72) |
Portas padrão
A lista a seguir contém as portas que os componentes do Zabbix podem usar em uma configuração padrão:
| Componente do Zabbix | Protocolo e porta | Conexão iniciada por |
|---|---|---|
| Zabbix agent | TCP 10050 | Zabbix server ou Zabbix proxy (somente verificações passivas) |
| Zabbix agent 2 | TCP 10050 | Zabbix server ou proxy (somente verificações passivas) |
| Zabbix server | TCP 10051 | Zabbix agents ativos, Zabbix proxy ativo, Zabbix sender, Zabbix frontend |
| Zabbix proxy | TCP 10051 | Zabbix agents ativos, Zabbix sender, Zabbix server (somente proxy passivo) |
| Zabbix Java gateway | TCP 10052 | Zabbix server ou proxy |
| Zabbix web service | TCP 10053 | Zabbix server |
| Zabbix frontend | TCP 80 | Navegadores da web, Zabbix web service (relatórios agendados), clientes da API |
| TCP 443 | ||
| SNMP traps (snmptrapd) | UDP 162 | Dispositivos SNMP |
Abra somente as portas exigidas pelos componentes que você realmente executa e restrinja cada regra de firewall aos hosts específicos que precisam se conectar (por exemplo, permita a porta 10050 somente a partir do Zabbix server ou proxy, e não de qualquer endereço).
Não exponha as portas do Zabbix diretamente à internet.
Antes de abrir as portas, proteja a instalação: habilite a criptografia entre os componentes, restrinja os hosts permitidos nos arquivos de configuração dos componentes e consulte as práticas recomendadas de segurança.
Tamanho do banco de dados
Os dados de configuração do Zabbix exigem uma quantidade fixa de espaço em disco e não crescem muito.
O tamanho do banco de dados do Zabbix depende principalmente destas variáveis, que definem a quantidade de dados históricos armazenados:
- Número de valores processados por segundo
Este é o número médio de novos valores que o server do Zabbix recebe a cada segundo. Por exemplo, se tivermos 3000 items para monitoramento com uma taxa de atualização de 60 segundos, o número de valores por segundo é calculado como 3000/60 = 50.
Isso significa que 50 novos valores são adicionados ao banco de dados do Zabbix a cada segundo.
- Configurações do housekeeper para history
O Zabbix mantém valores por um período fixo de tempo, normalmente várias semanas ou meses. Cada novo valor requer uma certa quantidade de espaço em disco para dados e índice.
Portanto, se quisermos manter 30 dias de history e recebermos 50 valores por segundo, o número total de valores será em torno de (30*24*3600)* 50 = 129.600.000, ou cerca de 130M de valores.
Dependendo do mecanismo de banco de dados usado, do tipo de valores recebidos (floats, integers, strings, arquivos de log etc.), o espaço em disco para manter um único valor pode variar de 40 bytes a centenas de bytes. Normalmente, é em torno de 90 bytes por valor para items numéricos2. No nosso caso, isso significa que 130M de valores exigirão 130M * 90 bytes = 10.9GB de espaço em disco.
O tamanho dos valores de items de texto/log é impossível de prever com exatidão, mas você pode esperar cerca de 500 bytes por valor.
- Configuração do housekeeper para trends
O Zabbix mantém um conjunto de valores de 1 hora de max/min/avg/count para cada item na tabela trends. Os dados são usados para tendências e gráficos de longo período. O período de uma hora não pode ser personalizado.
O banco de dados do Zabbix, dependendo do tipo de banco de dados, requer cerca de 90 bytes para cada total. Suponha que queiramos manter dados de trends por 5 anos. Os valores para 3000 items exigirão 3000*24*365* 90 = 2.2GB por ano, ou 11GB por 5 anos.
- Configurações do housekeeper para events
Cada event do Zabbix requer aproximadamente 250 bytes de espaço em disco1. É difícil estimar o número de events gerados pelo Zabbix diariamente. No pior cenário, podemos assumir que o Zabbix gera um event por segundo.
Para cada event recuperado, um registro event_recovery é criado. Normalmente, a maioria dos events será recuperada, então podemos assumir um registro event_recovery por event. Isso significa 80 bytes adicionais por event.
Opcionalmente, events podem ter tags, e cada registro de tag requer aproximadamente 100 bytes de espaço em disco1. O número de tags por event (#tags) depende da configuração. Assim, cada um precisará de #tags * 100 bytes adicionais de espaço em disco.
Isso significa que, se quisermos manter 3 anos de events, isso exigirá 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B de espaço em disco2.
1 Mais quando houver nomes de events, tags e valores não ASCII.
2 As estimativas de tamanho são baseadas em MySQL e podem ser diferentes para outros bancos de dados.
A tabela contém fórmulas que podem ser usadas para calcular o espaço em disco necessário para o sistema Zabbix:
| Parameter | Formula for required disk space (in bytes) |
|---|---|
| Zabbix configuration | Tamanho fixo. Normalmente 10MB ou menos. |
| History | days*(items/refresh rate)*24*3600*bytes items : número de items days : número de dias para manter history refresh rate : taxa média de atualização de items bytes : número de bytes necessários para manter um único valor, depende do mecanismo do banco de dados, normalmente ~90 bytes. |
| Trends | days*(items/3600)*24*3600*bytes items : número de items days : número de dias para manter history bytes : número de bytes necessários para manter um único trend, depende do mecanismo do banco de dados, normalmente ~90 bytes. |
| Events | days*events*24*3600*bytes events : número de event por segundo. Um (1) event por segundo no pior cenário. days : número de dias para manter history bytes : número de bytes necessários para manter um único event, depende do mecanismo do banco de dados, normalmente ~330 + número médio de tags por event * 100 bytes. |
Portanto, o espaço total em disco necessário pode ser calculado como:
Configuration + History + Trends + Events
O espaço em disco NÃO será usado imediatamente após a instalação do Zabbix. O tamanho do banco de dados crescerá e então deixará de crescer em algum momento, o que depende das configurações do housekeeper.
Sincronização de tempo
É muito importante ter o tempo do sistema preciso no servidor com o Zabbix em execução. ntpd é o daemon mais popular que sincroniza o tempo do host com o tempo de outras máquinas. É altamente recomendável manter o tempo do sistema sincronizado em todos os sistemas em que os componentes do Zabbix estão em execução.