Oracle Database - Amazon Managed Grafana

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Oracle Database

nota

Essa fonte de dados é somente para a Grafana Enterprise. Para ter mais informações, consulte Gerencie o acesso aos plug-ins corporativos.

Além disso, em espaços de trabalho compatíveis com a versão 9 ou mais recente, essa fonte de dados pode exigir a instalação do plug-in apropriado. Para ter mais informações, consulte Plugins Grafana.

Adicionando a fonte de dados

Selecione Fontes de dados no painel esquerdo do Grafana.

Selecione Adicionar fonte de dados:

Digite oracle para encontrar a fonte de dados.

Insira os detalhes do servidor Oracle.

Insira um nome de host (ou endereço IP) junto com o número da porta e o nome de usuário e a senha para se conectar.

Com a opção tnsnames, qualquer entrada válida encontrada no arquivo de configuração tnsnames.ora pode ser usada, junto com a autenticação básica.

Semelhante ao exemplo anterior, mas usando Kerberos para autenticação. Consulte o guia de configuração específico do kerberos para obter detalhes sobre como configurar o sistema operacional ou o contêiner docker para usar o kerberos.

Opcionalmente, altere o fuso horário usado para se conectar ao servidor Oracle e para ser usado por macros com reconhecimento de fuso horário. A configuração padrão é UTC.

Salve e teste a fonte de dados, você deve ver uma mensagem verde com “Conexão de banco de dados OK”

Uso

Macros

Para simplificar a sintaxe e permitir partes dinâmicas, como filtros de intervalo de datas, a consulta pode conter macros. O nome da coluna deve estar entre aspas duplas (").

Exemplo de macro Descrição
*$__time (DateColumn) * | Será substituído por uma expressão para renomear a coluna para `time`. Por exemplo, `DateColumn as time` *$__timeEpoch (DateColumn) * Será substituído por uma expressão para renomear a coluna time e converter o valor em timestamp unix (em milissegundos).
*$__timeFilter (DateColumn) * | Será substituído por um filtro de intervalo de tempo usando o nome da coluna especificada. Por exemplo, `DateColumn BETWEEN TO_DATE ('19700101', 'yyyymmdd') + (1/24/60/60/1000) * 1500376552001 AND TO_DATE ('19700101', 'yyyymmdd') + (1/24/60/60/1000) * 1500376552002` *$__timeFrom () * Será substituído pelo início da seleção de horário atualmente ativa convertida em tipo de DATE dados. Por exemplo, TO_DATE('19700101','yyyymmdd') + (1/24/60/60/1000) * 1500376552001.
*$__timeTo () * | Será substituído pelo final da seleção de horário atualmente ativa convertida para o tipo de dados `DATE`. *$__timeGroup (DateColumn, "5m”) * Será substituída por uma expressão utilizável na cláusula GROUP BY.
*$__timeGroup (DateColumn, "5m "[, valor de preenchimento]) * Será substituída por uma expressão utilizável na cláusula GROUP BY. Fornecer um FillValue de valor NULL ou flutuante preencherá automaticamente as séries vazias no intervalo de tempo com esse valor. Por exemplo, t i m e G r o u p c r e a t e d A t, ′1 m ′, 0. *__TimeGroup (DateColumn, "5m”, 0) *.
* t i m e G r o u p (d a t e C o l u m n, '5 m ', N U L L) * | S a m e a s a b o v e b u t N U L L w i l l b e u s e d a s v a l u e f o r m i s s i n g Até 5 em si. *__TimeGroup (DateColumn, "5m”, anterior) * O mesmo que acima, mas o valor anterior dessa série será usado como valor de preenchimento se nenhum valor tiver sido visto ainda. NULL será usado.
*$__ unixEpochFilter (DateColumn) * | Será substituído por um filtro de intervalo de tempo usando o nome da coluna especificada com horários representados como timestamp unix (em milissegundos). Por exemplo, `DateColumn >= 1500376552001 AND DateColumn <= 1500376552002` *$__ () * unixEpochFrom Será substituído pelo início da seleção de hora atualmente ativa como timestamp unix. Por exemplo, 1500376552001.
*$__unixEpochTo()* Será substituído pelo final da seleção de hora atualmente ativa como timestamp unix. Por exemplo, 1500376552002.

O plugin também suporta notação usando chaves{}. Use essa notação quando forem necessárias consultas dentro dos parâmetros.

nota

Use um tipo de notação por consulta. Se a consulta precisar de chaves, todas as macros na consulta deverão usar chaves.

$__timeGroup{"dateColumn",'5m'} $__timeGroup{SYS_DATE_UTC("SDATE"),'5m'} $__timeGroup{FROM_TZ(CAST("SDATE" as timestamp), 'UTC'), '1h'}

O editor de consultas tem um link SQL gerado que aparece após a execução de uma consulta, no modo de edição do painel. Quando você escolhe o link, ele se expande e mostra a string SQL bruta interpolada que foi executada.

Consultas de tabela

Se a opção Formatar como consulta estiver definida como Tabela, você poderá basicamente fazer qualquer tipo de consulta SQL. O painel da tabela mostrará automaticamente os resultados das colunas e linhas retornadas pela consulta. Você pode controlar o nome das colunas do painel Tabela usando a sintaxe de seleção de coluna as SQL normal.

Consultas de séries temporais

Se você definir Formato como série temporal, para uso no painel Gráfico, por exemplo, a consulta deverá retornar uma coluna chamada time que retorne uma data e hora SQL ou qualquer tipo de dados numéricos representando a época do Unix em segundos. Grafana interpreta as colunas DATE e TIMESTAMP sem fuso horário explícito como UTC. Qualquer coluna, exceto time e metric é tratada como uma coluna de valor. Você pode retornar uma coluna chamada metric que é usada como nome da métrica para a coluna de valor.

O exemplo de código a seguir mostra a metric coluna.

SELECT $__timeGroup("time_date_time", '5m') AS time, MIN("value_double"), 'MIN' as metric FROM test_data WHERE $__timeFilter("time_date_time") GROUP BY $__timeGroup("time_date_time", '5m') ORDER BY time

Mais consultas — usando oracle-fake-data-gen

SELECT $__timeGroup("createdAt", '5m') AS time, MIN("value"), 'MIN' as metric FROM "grafana_metric" WHERE $__timeFilter("createdAt") GROUP BY $__timeGroup("createdAt", '5m') ORDER BY time

O exemplo de código a seguir mostra uma série temporal de dados falsos.

SELECT "createdAt", "value" FROM "grafana_metric" WHERE $__timeFilter("createdAt") ORDER BY "createdAt" ASC
SELECT "createdAt" as time, "value" as value FROM "grafana_metric" WHERE $__timeFilter("createdAt") ORDER BY time ASC

O exemplo a seguir mostra um resultado de tabela útil.

select tc.table_name Table_name ,tc.column_id Column_id ,lower(tc.column_name) Column_name ,lower(tc.data_type) Data_type ,nvl(tc.data_precision,tc.data_length) Length ,lower(tc.data_scale) Data_scale ,tc.nullable nullable FROM all_tab_columns tc ,all_tables t WHERE tc.table_name = t.table_name

Modelagem

Em vez de codificar coisas como nome do servidor, do aplicativo e do sensor em suas consultas métricas, você pode usar variáveis em seu lugar. As variáveis são mostradas como caixas de seleção suspensas na parte superior do painel. Essas caixas suspensas facilitam a alteração dos dados exibidos em seu painel.

Variável de consulta

Se você adicionar uma variável de modelo do tipoQuery, poderá escrever uma consulta Oracle que possa retornar itens como nomes de medidas, nomes de chave ou valores-chave que são mostrados como uma caixa de seleção suspensa.

Por exemplo, você pode ter uma variável que contém todos os valores da hostname coluna em uma tabela se especificar uma consulta como essa na configuração Consulta da variável de modelagem.

SELECT "hostname" FROM host

Uma consulta pode retornar várias colunas e o Grafana criará automaticamente uma lista a partir delas. Por exemplo, a consulta a seguir retornará uma lista com valores de hostname hostname2 e.

SELECT "host.hostname", "other_host.hostname2" FROM host JOIN other_host ON host.city = other_host.city

Para usar macros dependentes do intervalo de tempo, como $__timeFilter("time_column") em sua consulta, o modo de atualização da variável do modelo precisa ser definido como On Time Range Change.

SELECT "event_name" FROM event_log WHERE $__timeFilter("time_column")

Outra opção é uma consulta que pode criar uma variável de chave/valor. A consulta deve retornar duas colunas com o nome __text __value e. O valor da __text coluna deve ser exclusivo (se não for exclusivo, o primeiro valor será usado). As opções na lista suspensa terão um texto e um valor que permitem que você tenha um nome amigável como texto e um id como valor. O código de exemplo a seguir mostra uma consulta com hostname texto e id valor.

SELECT "hostname" AS __text, "id" AS __value FROM host

Você também pode criar variáveis aninhadas. Por exemplo, se você tivesse outra variável chamadaregion. Então, você poderia fazer com que a variável hosts mostrasse apenas os hosts da região selecionada atualmente com uma consulta como essa (se region for uma variável de vários valores, use o operador de IN comparação em vez de = comparar com vários valores).

SELECT "hostname" FROM host WHERE region IN('$region')

Usando variáveis em consultas

Os valores das variáveis do modelo só são citados quando a variável do modelo é a. multi-value

Se a variável for uma variável de vários valores, use o operador de IN comparação em vez de = comparar com vários valores.

Há duas sintaxes:

$<varname>Exemplo com uma variável de modelo chamadahostname:

SELECT "atimestamp" as time, "aint" as value FROM table WHERE $__timeFilter("atimestamp") AND "hostname" IN('$hostname') ORDER BY "atimestamp" ASC

[[varname]]Exemplo com uma variável de modelo chamadahostname:

SELECT "atimestamp" as time, "aint" as value FROM table WHERE $__timeFilter("atimestamp") AND "hostname" IN('[[hostname]]') ORDER BY atimestamp ASC