Extraindo informações do Oracle Database com logstash

Publicado por Leonardo Berbert Gomes em 01/07/2020

[ Hits: 5.524 ]

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

Cluster Kubernetes (k8S) + NFS em 5 minutos

Instalação Offline do "Oh My ZSH!!!"

Trabalhando com JSON no terminal? O jq salva você!

Compilando a última versão do Vim no Fedora 33

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

Leitura recomendada

Protocolo devices:/ não suportado

Usando o Spotify como despertador no openSUSE Tumbleweed XFCE via spotify-rise

Marcar linhas no Geany

Como instalar o MATE no openSUSE 12.1

Corrigindo falhas na Plymounth Screen do openSUSE

  

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