Painel de Monitorização
A secção Monitorização é um painel em tempo real, com gráficos e grelhas, do servidor por trás de uma ligação — taxa de transações, backends, produção de WAL, tamanho da base de dados, rácios de acerto da cache e muito mais — construído a partir de pequenos cartões independentes chamados Unidades de Monitorização. Além das unidades que vêm com o OmniDB, pode escrever as suas próprias, cada uma com uma única consulta SQL.
Existem unidades incorporadas para PostgreSQL (16 unidades) e MySQL (1 unidade, Thread Count). As ligações MariaDB e Oracle também têm o painel, para as suas próprias unidades personalizadas. Para outros motores, a secção mostra A monitorização não é suportada para ligações ….
Abrir o painel
Clique no ícone Monitorização na barra esquerda (entre Base de dados e Notificações). O painel pertence a uma ligação que está aberta na secção Base de dados: a faixa de separadores de ligação abertos é mostrada no topo da secção, e selecionar um separador mostra o painel dessa ligação. Sem nenhuma ligação aberta, mostra Nenhuma ligação aberta.
Todas as unidades começam em pausa quando o painel é carregado, pelo que abri-lo não começa, por si só, a consultar o servidor. Inicie as que quiser com o respetivo botão de reprodução, ou todas de uma vez com Ativar tudo.

A barra de ferramentas
A barra de ferramentas no topo mantém-se no lugar enquanto os cartões se deslocam por baixo dela:
- o primeiro botão, só com ícone (dica Gerir unidades), abre ou fecha o painel lateral com a lista de unidades, descrito abaixo;
- Atualizar tudo atualiza uma vez todas as unidades mostradas;
- Ativar tudo / Pausar tudo iniciam ou param a atualização automática de todas as unidades desta ligação;
- Tamanho dos cartões — Pequeno, Médio, Grande ou Largura total — define a largura que um cartão pode atingir antes de a grelha passar para menos colunas: uma janela estreita mostra um cartão por linha, um monitor largo vários lado a lado. A escolha é memorizada no seu browser.
Um cartão de Unidade de Monitorização
Cada cartão tem o título no topo, um × que remove (oculta) a unidade do painel e — para as suas unidades personalizadas — um botão de edição que abre o respetivo editor (ambos aparecem quando passa o rato sobre o cartão). Por baixo do título estão os controlos da unidade: atualizar agora, pausa / reprodução e o intervalo de atualização em segundos. O resto do cartão é o gráfico ou a grelha da unidade.
Uma unidade é de um de três tipos:
- Grelha: executa a sua consulta a cada atualização e mostra o resultado como uma grelha de dados.
- Gráfico (sem acumular): redesenha um gráfico completo a cada atualização; os valores anteriores são substituídos. Ideal para gráficos circulares ou de anel de um estado atual.
- Série temporal: acrescenta um novo conjunto de valores ao seu gráfico a cada atualização, mantendo os pontos mais recentes, para que possa acompanhar a evolução de um valor ao longo do tempo. Todas as unidades incorporadas são séries temporais.
Gerir unidades
O painel lateral Gerir unidades (aberto e fechado pelo primeiro botão da barra de ferramentas, e redimensionável arrastando a sua margem) lista todas as unidades disponíveis para a ligação:
- a caixa de seleção à frente de uma unidade mostra-a ou oculta-a no painel (ocultar para-a, tal como o × do seu cartão, mas guarda o seu intervalo de atualização para a próxima vez);
- arraste uma linha para cima ou para baixo para alterar a ordem dos cartões no painel;
- o + por baixo da lista abre o editor Nova unidade;
- numa unidade personalizada, clique com o botão direito → Editar ou Eliminar, ou faça duplo clique para abrir o seu editor. As unidades incorporadas não podem ser editadas nem eliminadas, apenas mostradas ou ocultadas.
As suas unidades personalizadas são privadas do seu utilizador do OmniDB.

Unidades incorporadas
PostgreSQL: Transaction Rate, Backends, Autovacuum Workers Usage, WAL Production Rate, Temp Files Creation Rate, Autovacuum Freeze, Blocked Locks, Database Size, Database Growth Rate, Heap Cache Miss Ratio, Index Cache Miss Ratio, Seq Scan Ratio, Long Transaction, Long Query, Long Autovacuum e Checkpoints. MySQL: Thread Count. Não precisam de nada adicional instalado na base de dados.
Escrever Unidades de Monitorização personalizadas
Uma unidade personalizada é uma única consulta SQL executada periodicamente — com a mesma ligação e permissões que o seu editor SQL tem. Não existe nenhuma linguagem de scripting separada para aprender.
Nota: uma vez que a consulta é executada novamente sem supervisão, apenas são aceites consultas SELECT (ou
WITH ... SELECT) — uma instrução destrutiva colada por engano
é rejeitada de imediato, em vez de ser disparada silenciosamente por um temporizador.
Clique em + no painel Gerir unidades. Abre-se um separador de edição Unidade de monitorização com os campos Nome, Tipo (Série temporal, Gráfico (sem acumular) ou Grelha), Intervalo de atualização (segundos), Modelo (opcionalmente, partir de uma unidade existente), Tipo de gráfico (Barras, Circular, Anel ou Linhas; mostrado apenas para Gráfico (sem acumular)) e o editor Consulta SQL.
O formato da consulta depende do tipo da unidade:
-
Grelha: sem formato específico — quaisquer colunas e linhas que a consulta devolva tornam-se a grelha. Por exemplo:
SELECT * FROM pg_stat_activity -
Gráfico (sem acumular): uma linha por categoria — a primeira coluna é o rótulo, as restantes colunas são cada uma delas uma série (o nome da coluna torna-se o nome da série). Por exemplo, um gráfico circular do tamanho das bases de dados:
SELECT datname, round(pg_catalog.pg_database_size(datname) / 1048576.0, 2) AS size_mb FROM pg_catalog.pg_database WHERE datname NOT IN ('template0', 'template1') -
Série temporal: exatamente uma linha — cada coluna numérica torna-se numa série à qual são continuamente acrescentados valores. Por exemplo, para acompanhar o tamanho total das bases de dados ao longo do tempo:
SELECT round(sum(pg_catalog.pg_database_size(datname)) / 1048576.0, 2) AS total_size_mb FROM pg_catalog.pg_database WHERE NOT datistemplate
Clique em Testar para executar a consulta uma vez e ver o resultado apresentado por baixo do editor — quantas vezes quiser. Quando estiver satisfeito, dê um nome à unidade, defina o intervalo de atualização e clique em Guardar. A unidade aparece então na lista Gerir unidades; assinale-a para a mostrar no painel.