.NET

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.

The Monitoring dashboard

A barra de ferramentas

A barra de ferramentas no topo mantém-se no lugar enquanto os cartões se deslocam por baixo dela:

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:

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:

As suas unidades personalizadas são privadas do seu utilizador do OmniDB.

The Manage Units panel of the Monitoring dashboard

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:

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.