Extraindo informações do Oracle Database com logstash

Publicado por Leonardo Berbert Gomes em 01/07/2020

[ Hits: 5.804 ]

Blog: https://www.linkedin.com/in/leoberbert

 


Extraindo informações do Oracle Database com logstash



Vocês sabiam que é possível criamos um extrator com logstash para buscar informações em uma base de dados Oracle e posteriormente gravar o resultado no elasticsearch? Nesta dica falaremos exatamente como realizar essa operação.

Primeiramente vamos precisar realizar o download do driver JDBC para conectarmos ao Oracle, para isso acesso o site abaixo e faça o download do arquivo "ojdbc8.jar".
Obs.: para realizar o download do arquivo será necessário possuir uma conta junto à Oracle, caso não possua, você poderá criá-la.

De posse do arquivo, realize a transferência do mesmo para a máquina onde o logstash encontra-se instalado e em execução para o diretório de sua preferência.

Feito isso vamos criar um arquivo de configuração para realizar a extração dos dados:

input {
    jdbc {
	# Vou adicionar uma tag para identificar meu extrator
        tags => ["logstash-meu-extrator"]
        # String de conexão do meu banco de dados
        jdbc_connection_string => "jdbc:oracle:thin:@server01:1525/MEUBANCO"
        # Usuário do meu banco de dados
        jdbc_user => "meu_usuario"
        jdbc_password => "minha_senha"
        # Variável que faz a validação da minha conexão
        jdbc_validate_connection => true
        # Localização do meu driver que foi que foi baixado anteriormente, substitua pelo seu diretório
        jdbc_driver_library => "${HOME}/logstash/config/conf.d/drivers/ojdbc8.jar"
        # O nome do Driver, que neste caso não será necessário alterá-lo
        jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
        # Limita o resultado da consulta à 50 mil registros.
        jdbc_page_size => "50000"
	# Query a ser executada
        statement => "
                SELECT
                COLUNA1,
                COLUNA2,
                COLUNA3
                FROM MINHA_TABELA
                where MEU_CAMPO_DATA >= SYSDATE - 1
        "
		# Aqui é definido de quanto em quanto tempo minha consulta será executada, neste caso a cada 5 minutos. Note que é utilizado o padrão crontab.
		schedule => "*/5 * * * *"

# Neste passo realizaremos o envio das informações que foram extraídas acima para o elasticsearch, onde será criado o índice "logstash-meu-extrator-2020.06".

output {
    if "logstash-meu-extrator" in [tags] {
        elasticsearch {
            hosts => "localhost"
            index => "logstash-meu-extrator-%{+YYYY.MM}"
        }
    }
}

Fonte: Jdbc input plugin | Logstash Reference [7.8] | Elastic

Espero que essa dica seja útil para vocês.

[]'s leoberbert

Outras dicas deste autor

VIM - Personalizando barra de status

Email de 30 GB

Grafana - Alterando imagem da tela de login

Rodando (ElasticSearch + Kibana) em 5 minutos

Adicionando novas opções ao menu do Fluxbox

Leitura recomendada

Lista de músicas para nerds

Wallpapers não oficiais do elementary OS

Assistir filmes em ASCII no Linux

Wakka (outra) interface gráfica para o pacman (pra variar)

FFmpeg: criando dois ou mais arquivos de saída simultaneamente

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts