Esta é uma tradução da página de documentação original em inglês. Ajude-nos a torná-la melhor.

Sidebar

5 Configuração do TimescaleDB

Visão geral

O Zabbix suporta TimescaleDB, uma solução de banco de dados baseada em PostgreSQL de particionando automaticamente os dados em pedaços baseados em tempo para oferecer suporte mais rápido desempenho em escala.

Atualmente TimescaleDB não é suportado pelo Zabbix procurador.

As instruções nesta página podem ser usadas para criar o banco de dados TimescaleDB ou migrando de tabelas PostgreSQL existentes para TimescaleDB.

Configuração

Assumimos que a extensão TimescaleDB já foi instalada no servidor de banco de dados (veja instalação instruções).

A extensão TimescaleDB também deve ser habilitada para o banco de dados específico por executando:

echo "CRIAR EXTENSÃO SE NÃO EXISTIR timescaledb CASCADE;" | sudo -u postgres psql zabbix

A execução deste comando requer privilégios de administrador de banco de dados.

Se você usa um esquema de banco de dados diferente de 'público', você precisa adicione uma cláusula SCHEMA ao comando acima. Por exemplo.:
echo "CRIAR EXTENSÃO SE NÃO EXISTE timescaledb SCHEMA yourschema CASCADE;" | sudo -u postgres psql zabbix

Em seguida, execute o script timescaledb.sql localizado em database/postgresql. Para novas instalações, o script deve ser executado após o O banco de dados PostgreSQL foi criado com esquema/dados iniciais (veja criação de banco de dados):

cat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix

A migração do histórico existente e dos dados de tendência pode levar muito tempo. O servidor Zabbix e o frontend devem estar inativos durante o período de migração.

O script timescaledb.sql define os seguintes parâmetros de manutenção:

  • Substituir o período do histórico do item
  • Substituir período de tendência do item

A fim de usar a arrumação particionada para o histórico e as tendências, tanto essas opções devem estar ativadas. É possível usar o particionamento TimescaleDB apenas para tendências (definindo Substituir período de tendência do item) ou apenas para histórico (Substituir o período do histórico do item).

Para PostgreSQL versão 10.2 ou superior e TimescaleDB versão 1.5 ou superior, o script timescaledb.sql define dois parâmetros adicionais:

  • Ativar a compactação
  • Comprimir registros com mais de 7 dias

Todos esses parâmetros podem ser alterados em AdministraçãoGeralArrumação após a instalação.

Você pode querer executar a ferramenta timescaledb-tune fornecida pelo TimescaleDB para otimizar os parâmetros de configuração do PostgreSQL em seu postgresql.conf.

TimescaleDB compression

Native TimescaleDB compression is supported starting from Zabbix 5.0 for PostgreSQL version 10.2 or higher and TimescaleDB version 1.5 or higher for all Zabbix tables that are managed by TimescaleDB. During the upgrade or migration to TimescaleDB, initial compression of the large tables may take a lot of time.

Users are encouraged to get familiar with TimescaleDB compression documentation before using compression.

Note, that there are certain limitations imposed by compression, specifically:

  • Compressed chunk modifications (inserts, deletes, updates) are not allowed
  • Schema changes for compressed tables are not allowed.

Compression settings can be changed in the History and trends compression block in AdministrationGeneralHousekeeping section of Zabbix frontend.

Parameter Default Comments
Enable compression Enabled Checking or unchecking the checkbox does not activate/deactivate compression immediately. Because compression is handled by the Housekeeper, the changes will take effect in up to 2 times HousekeepingFrequency hours (set in zabbix_server.conf)

After disabling compression, new chunks that fall into the compression period will not be compressed. However, all previously compressed data will stay compressed. To uncompress previously compressed chunks, follow instructions in TimescaleDB documentation.

When upgrading from older versions of Zabbix with TimescaleDB support, compression will not be enabled by default.
Compress records older than 7d This parameter cannot be less than 7 days.

Due to immutability of compressed chunks all late data (e.g. data delayed by a proxy) that is older than this value will be discarded.