Extraindo informações do Oracle Database com logstash

Publicado por Leonardo Berbert Gomes em 01/07/2020

[ Hits: 553 ]

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

Atualizando / Instalando o VIM 8.2 (Ubuntu/Debian/Mint e Derivados)

Instalando temas no GKrellM

Convertendo hexadecimal para texto

Elasticsearch - Read Only [Resolvido]

Rundeck - alterando a senha de admin

Leitura recomendada

Instalando o Gammu 1.32.0 no CentOS 64 bits

Assista TV no Firefox

Instalando o aMSN 0.97 no Debian em 4 passos

Temas do Ubuntu para o Google Chrome e o Chromium

Estatística Linux / Registrando um usuario Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts