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

Adicionar a fonte de dados

Selecione Fontes de dados no painel esquerdo do Grafana.

Selecione Adicionar fonte de dados:

Entreoracle 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 em seu 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 a 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 como hora` *$__timeEpoch (DateColumn) * Será substituída por uma expressão para renomear a colunatime 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 especificado. Por exemplo, `DateColumn BETWEEN TO_DATE ('19700101', 'yyyymmdd') + (1/24/60/60/1000) * 1500376552001 E 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 deDATE dados. Por exemplo, TO_DATE('19700101','yyyymmdd') + (1/24/60/60/1000) * 1500376552001.
*$__timeTo () * | Será substituído pelo final da seleção de tempo 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 NULL ou valor flutuante preencherá automaticamente 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 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é isso em nós. *__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 especificado 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 até o final da seleção de hora atualmente ativa como timestamp unix. Por exemplo, 1500376552002.

O plug-in 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 de painel. Quando você escolhe o link, ele se expande e mostra a string SQL interpolada bruta que foi executada.

Consultas de tabelas

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

consultas de séries temporais

Se você definir Formatar como Série temporal, para uso no painel Gráfico, por exemplo, a consulta deverá retornar uma coluna chamadatime que retorne uma data e hora SQL ou qualquer tipo de dados numérico representando a época unix em segundos. O Grafana interpreta as colunas DATE e TIMESTAMP sem fuso horário explícito como UTC. Qualquer coluna, excetotime e,metric é tratada como uma coluna de valor. Você pode retornar uma coluna chamadametric que é usada como nome métrico para a coluna de valor.

O exemplo de código a seguir mostra ametric 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 servidor, aplicativo e nome 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 chaves ou valores-chave que são mostrados como uma caixa de seleção suspensa.

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

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 dehostnamehostname2 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 de modelo precisa ser definido como On Time Range.

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

Outra opção é uma consulta que pode criar uma variável 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 comhostname como texto eid como 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ê pode fazer com que a variável hosts mostre apenas os hosts da região selecionada atual com uma consulta como essa (seregion for uma variável de vários valores, use o operador deIN comparação em vez de= comparar vários valores).

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

Usar variáveis em consultas

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

Se a variável for uma variável de vários valores, use o operador deIN comparação em vez de= comparar 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