Extraindo informações do Oracle Database com logstash

Publicado por Leonardo Berbert Gomes em 01/07/2020

[ Hits: 5.806 ]

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

Transformando o modem QuickConnect em roteador

Wisestamp - Plugin do Firefox para criar assinaturas de e-mail

Já pensou em adquirir adesivos grátis do Rundeck?

Alterando a imagem padrão do Rundeck na Tela de Login

RRDtool no CentOS 6.x - Instalação via Yum

Leitura recomendada

Lazarus - Reduzindo o tamanho dos executáveis

Treinamento oficial SuSE/Novell

Script de netlogon

SpaceFM, um excelente Gerenciador de Arquivos

Descompactando arquivos RAR no shell ou no KDE

  

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