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.
A tabela fornece exemplos de configuração de hardware, assumindo uma plataforma Linux/BSD/Unix.
Estes são exemplos de tamanho 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 que você possa entender completamente seus requisitos antes de implantar a instalação do Zabbix em seu 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 |
m6i.4xlarge/m6g.4xlarge |
Muito grande | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.8xlarge/m6g.8xlarge |
1 1 métrica = 1 item + 1 trigger + 1 gráfico
2 Exemplo com instâncias EC2 de uso geral da Amazon, usando arquitetura ARM64 ou x86_64, um tipo de instância apropriado como Compute/Memory/Storage otimizado deve ser selecionado durante a avaliação e teste da instalação do Zabbix antes de instalar em seu ambiente de produção.
A configuração real depende muito do número de itens ativos e das taxas de atualização (veja a seção tamanho do banco de dados desta página para mais detalhes). É altamente recomendável executar o banco de dados em um servidor separado para instalações grandes.
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.
O Zabbix é construído em torno de servidores web modernos, principais mecanismos de banco de dados e linguagem de script PHP.
Se declarado como obrigatório, o software/biblioteca é estritamente necessário. Os opcionais são necessários para suportar alguma função específica.
Software | Status obrigatório | Versões suportadas | Comentários |
---|---|---|---|
MySQL/Percona | Um dos | 8.4.0-9.0.X | Necessário se MySQL (ou Percona) for usado como banco de dados backend do Zabbix. O mecanismo InnoDB é obrigatório. Recomendamos usar a biblioteca C API (libmysqlclient) para compilar o server/proxy. |
MariaDB | 10.11.00-12.0.X | O mecanismo InnoDB é obrigatório. A versão recomendada é a 11.4. Recomendamos usar a biblioteca MariaDB Connector/C para compilar o server/proxy. Veja também: Possíveis deadlocks com MariaDB e Acesso a elementos da interface com MariaDB 10.5.1–10.5.9. |
|
PostgreSQL | 15.0-17.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 determinada operação seja suficiente e a execução da consulta não demore muito tempo. |
|
TimescaleDB para PostgreSQL | 2.20.X-2.21.X | Necessário se TimescaleDB for usado como extensão do banco de dados PostgreSQL. Certifique-se de instalar o TimescaleDB Community Edition, que suporta compressão. Observe que o PostgreSQL 15 é suportado desde o TimescaleDB 2.10. Você também pode consultar a documentação do TimescaleDB para detalhes sobre a compatibilidade de versões entre PostgreSQL e TimescaleDB. |
|
SQLite | Opcional | 3.3.5-3.34.X | SQLite é suportado apenas com proxies Zabbix. Necessário se SQLite for usado como banco de dados do proxy Zabbix. |
smartmontools | 7.1 ou superior | Necessário para o Zabbix agent 2. | |
who | Necessário para o plugin user count. | ||
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 do 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 dos desenvolvedores dos bancos de dados.
A largura mínima de tela suportada para o frontend do Zabbix é 1200px.
Se declarado como obrigatório, o software/biblioteca é estritamente necessário. Os opcionais são necessários para suportar alguma função específica.
Software | Status obrigatório | Versões suportadas | Comentários |
---|---|---|---|
PHP | Sim | 8.0.0 - 8.4.X | |
Apache | Um dos | 2.4 ou posterior | |
Nginx | 1.20 ou posterior | ||
MySQL | Um dos | Veja Software externo de terceiros | |
PostgreSQL | |||
Extensões PHP | |||
mysqli | Sim | Necessário se o MySQL for usado como banco de dados backend do Zabbix. | |
pgsql | Necessário se o PostgreSQL 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 script de usuário. | ||
gd | 2.0.28 ou posterior | php-gd (se fornecido como pacote separado pelo distribuidor); a extensão PHP GD deve suportar 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íveis sobreposições de texto em gráficos para alguns idiomas do frontend. | |
libxml | 2.6.15 ou posterior | php-xml (se fornecido como pacote separado pelo distribuidor) | |
xmlwriter | php-xmlwriter (se fornecido como pacote separado pelo distribuidor) | ||
xmlreader | php-xmlreader (se fornecido como pacote separado pelo distribuidor) | ||
ctype | php-ctype (--enable-ctype) | ||
session | php-session (se fornecido como pacote separado pelo distribuidor) | ||
ldap | Não | 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 | 7.19.4 ou posterior | php-curl; necessário para Duo Universal Prompt MFA e autenticação SMTP. |
Bibliotecas de frontend de terceiros fornecidas com o Zabbix:
Biblioteca | Status obrigatório | Versão mínima | Comentários |
---|---|---|---|
jQuery JavaScript Library | Sim | 3.6.0 | Biblioteca JavaScript que simplifica o processo de desenvolvimento entre navegadores. |
jQuery UI | 1.12.1 | Um conjunto de interações de interface do usuário, efeitos, widgets e temas construídos sobre o jQuery. | |
SAML PHP Toolkit | 4.0.0 | Um toolkit PHP que adiciona suporte à autenticação SAML 2.0 para poder fazer login no Zabbix. | |
Symfony Yaml Component | 5.1.0 | Adiciona suporte para exportar e importar elementos de configuração do Zabbix no formato YAML. |
O Zabbix pode funcionar em versões anteriores do Apache, MySQL e PostgreSQL também.
Para outras fontes além da padrão DejaVu, a função PHP imagerotate pode ser necessária. Se estiver ausente, essas fontes podem ser renderizadas incorretamente quando um gráfico for exibido. Esta função só está disponível se o PHP for compilado com GD incorporado, o que não é o caso no Debian e em outras distribuições.
Bibliotecas de terceiros usadas para escrever e depurar o código do frontend do Zabbix:
Biblioteca | Status obrigatório | Versão mínima | Descrição |
---|---|---|---|
Composer | Não | 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 | Um framework de teste unitário PHP para testar o frontend do Zabbix. | |
SASS | 3.4.22 | Uma linguagem de script de pré-processamento que é interpretada e compilada em Cascading Style Sheets (CSS). |
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.
Se declarado como obrigatório, o software/biblioteca é estritamente necessário. Os opcionais são necessários para suportar alguma função específica.
Requisito | Status obrigatório | Descrição |
---|---|---|
libpcre2 | Sim | A biblioteca PCRE2 é necessária para suporte a Expressão Regular Compatível com Perl (PCRE). PCRE2 v10.x é suportado. |
libevent | Necessário para comunicação entre processos. Versão 2.0.10 ou superior. | |
libevent-pthreads | Necessário para comunicação entre processos. | |
libpthread | Necessário para suporte a mutex e bloqueio de leitura-escrita (pode fazer parte da libc). | |
libresolv | Necessário para resolução de DNS (pode fazer parte da libc). | |
libiconv | Necessário para conversão de codificação/formato de texto (pode fazer parte da libc). Obrigatório para o Zabbix server no Linux. | |
libz | Necessário para suporte a compressão. | |
libm | Biblioteca matemática. Necessária apenas para o Zabbix server. | |
libmysqlclient | Um dos | Necessário se o MySQL for usado. |
libmariadb | Necessário se o MariaDB for usado. | |
libpq5 | Necessário se o PostgreSQL for usado; a versão do libpq5 deve corresponder ou ser superior à versão do banco de dados PostgreSQL utilizado. | |
libsqlite3 | Necessário se o SQLite for usado. Necessário apenas para o Zabbix proxy. | |
libOpenIPMI | Não | Necessário para suporte a IPMI. Necessário apenas para o Zabbix server. |
libssh2 ou libssh | Necessário para verificações SSH. Versão 1.8.0 ou superior (libssh2); 0.9.0 ou superior (libssh). | |
libcurl | Necessário para os seguintes recursos: - Monitoramento web, Monitoramento VMware e itens 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); - Autenticação SMTP (Básica: versão 7.20.0 ou superior; OAuth: versão 7.33 ou superior; veja também os requisitos do frontend); - Elasticsearch (versão 7.28.0 ou superior). É recomendada a versão 7.28.0 ou superior para todos os recursos. Para usar recursos aprimorados 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ário para monitoramento VMware e pré-processamento XML XPath. | |
net-snmp | Necessário 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ário para monitoramento de banco de dados. | |
libgnutls ou libopenssl | Necessário ao usar criptografia. Versões mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
libldap | Necessário para suporte a LDAP. | |
fping | Necessário para itens ICMP ping. | |
c-ares | Necessário para resolução assíncrona de DNS se o Zabbix for configurado com a opção --with-ares . Caso contrário, libevent será usado.Versão mínima: 1.16.0 |
Requisito | Status obrigatório | Descrição |
---|---|---|
libpcre2 | Sim | A biblioteca PCRE2 é necessária para suporte a Expressão Regular Compatível com Perl (PCRE). PCRE2 v10.x é suportada. Necessária para monitoramento de logs. Também é necessária no Windows. |
libpthread | Necessária para suporte a mutex e bloqueio de leitura-escrita (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 ou libopenssl | Não | Necessária se estiver usando criptografia. Versões mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1 No Microsoft Windows, é necessário OpenSSL 1.1.1 ou superior. |
libldap | Necessária se LDAP for usado. Não é suportada 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 suporta recursos adicionais, como URLs HTTP com credenciais (por exemplo, http://user:[email protected]) e URLs HTTPS. Versão 7.19.1 ou superior é necessária (7.28.0 ou superior é recomendada). Para usar recursos aprimorados do cURL, reinicie o Zabbix agent. |
|
libmodbus | Necessária apenas se o monitoramento Modbus for usado. Versão 3.0 ou superior. |
Requisito | Status obrigatório | Descrição |
---|---|---|
Go | Sim | Necessário para compilar o Zabbix agent 2 e seus plugins a partir do código-fonte. Go 1.23 ou superior é suportado. Veja 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 (bibliotecas marcadas como indirect no repositório são dependências de outras bibliotecas necessárias):- Zabbix agent 2 - Suporte a plugin - PostgreSQL - MongoDB - MSSQL - Ember+ - NVIDIA GPU - Plugin de exemplo |
libpcre2 | Sim | A biblioteca PCRE2 é necessária para suporte a Expressão Regular Compatível com Perl (PCRE). PCRE2 v10.x é suportado. Necessário para monitoramento de logs. Também é necessário no Windows. |
libopenssl | Não | Necessário ao usar criptografia. OpenSSL 1.0.1 ou superior é 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 superior é necessário. |
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.
Se você obteve o Zabbix a partir do repositório de código-fonte ou de um arquivo compactado, então as dependências necessárias já estão incluídas na árvore de código-fonte.
Se você obteve o Zabbix a partir do pacote da sua distribuição, entã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 nenhum download adicional é necessário.
Se, no entanto, você desejar 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 de bibliotecas com as quais o Java gateway é conhecido por funcionar. O Zabbix pode funcionar também com outras versões dessas bibliotecas.
A tabela a seguir lista os arquivos JAR que atualmente são fornecidos junto com o Java gateway no código original:
Biblioteca | Status obrigatório | Versão mínima | 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 extraída do Android SDK. |
logback-classic | 1.5.16 | ||
logback-core | 1.5.16 | ||
slf4j-api | 2.0.16 |
O Java gateway pode ser compilado usando tanto o Oracle Java quanto o OpenJDK de código aberto (versão 1.6 ou mais recente). 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 9 | java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3) |
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 9 | java-11-openjdk-devel (amd64, arm64: 11.0.18.0.10-3) |
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 12 | default-jdk-headless (amd64, arm64: 2:1.17-74) |
Debian 11 | default-jdk-headless (amd64: 2:1.11-72) |
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 9 | java-11-openjdk-devel (amd64: 11.0.19.0.7-4.0.1; arm64: 11.0.20.0.8-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 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 9 | java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3) |
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 9 | java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3) |
Rocky Linux 8 | java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2) |
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 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) |
A seguinte lista de portas abertas por componente é aplicável para a configuração padrão:
Componente Zabbix | Número da porta | Protocolo | Tipo de conexão |
---|---|---|---|
Zabbix agent | 10050 | TCP | sob demanda |
Zabbix agent 2 | 10050 | TCP | sob demanda |
Zabbix server | 10051 | TCP | sob demanda |
Zabbix proxy | 10051 | TCP | sob demanda |
Zabbix Java gateway | 10052 | TCP | sob demanda |
Zabbix web service | 10053 | TCP | sob demanda |
Zabbix frontend | 80 | HTTP | sob demanda |
443 | HTTPS | sob demanda | |
Zabbix trapper | 10051 | TCP | sob demanda |
Os números das portas devem estar abertos no firewall para permitir as comunicações do Zabbix. Conexões TCP de saída geralmente não requerem configurações explícitas de firewall.
Os dados de configuração do Zabbix requerem 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:
Este é o número médio de novos valores que o servidor 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.
O Zabbix mantém os 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 histórico 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 utilizado, do tipo de valores recebidos (floats, inteiros, 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 exatamente, mas você pode esperar cerca de 500 bytes por valor.
O Zabbix mantém um conjunto de valores máximo/mínimo/média/contagem de 1 hora 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 queremos manter dados de tendências por 5 anos. Valores para 3000 items exigirão 3000*24*365* 90 = 2,2GB por ano, ou 11GB por 5 anos.
Cada evento do Zabbix requer aproximadamente 250 bytes de espaço em disco1. É difícil estimar o número de eventos gerados pelo Zabbix diariamente. No pior cenário, podemos supor que o Zabbix gera um evento por segundo.
Para cada evento recuperado, um registro event_recovery é criado. Normalmente, a maioria dos eventos será recuperada, então podemos assumir um registro event_recovery por evento. Isso significa mais 80 bytes por evento.
Opcionalmente, os eventos podem ter tags, cada registro de tag exigindo aproximadamente 100 bytes de espaço em disco1. O número de tags por evento (#tags) depende da configuração. Portanto, cada um precisará de mais #tags * 100 bytes de espaço em disco.
Isso significa que, se quisermos manter 3 anos de eventos, isso exigirá 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B de espaço em disco2.
1 Mais quando houver nomes de eventos, tags e valores não-ASCII.
2 As aproximações 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:
Parâmetro | Fórmula para espaço em disco necessário (em bytes) |
---|---|
Configuração do Zabbix | Tamanho fixo. Normalmente 10MB ou menos. |
Histórico | dias*(items/taxa de atualização)*24*3600*bytes items : número de items dias : número de dias para manter o histórico taxa de atualização : taxa de atualização média dos items bytes : número de bytes necessários para manter um único valor, depende do mecanismo de banco de dados, normalmente ~90 bytes. |
Tendências | dias*(items/3600)*24*3600*bytes items : número de items dias : número de dias para manter o histórico bytes : número de bytes necessários para manter uma única tendência, depende do mecanismo de banco de dados, normalmente ~90 bytes. |
Eventos | dias*eventos*24*3600*bytes eventos : número de eventos por segundo. Um (1) evento por segundo no pior cenário. dias : número de dias para manter o histórico bytes : número de bytes necessários para manter uma única tendência, depende do mecanismo de banco de dados, normalmente ~330 + número médio de tags por evento * 100 bytes. |
Portanto, o espaço total necessário em disco pode ser calculado como:
Configuração + Histórico + Tendências + Eventos
O espaço em disco NÃO será utilizado imediatamente após a instalação do Zabbix. O tamanho do banco de dados crescerá e depois parará de crescer em algum ponto, que depende das configurações do housekeeper.
É 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.
A seguinte lista de portas abertas por componente é aplicável para a configuração padrão.
Componentes | Porta |
---|---|
Frontend | http na 80, https na 443 |
Server | 10051 (para uso com proxy/agents ativos) |
Proxy Ativo | 10051 |
Proxy Passivo | 10051 |
Agent2 | 10050 |
Trapper | |
JavaGateway | 10052 |
WebService | 10053 |
Os números das portas devem ser abertos no firewall para permitir comunicações externas com o Zabbix. Conexões TCP de saída geralmente não requerem configurações explícitas de firewall.