Extraindo informações do Oracle Database com logstash

Publicado por Leonardo Berbert Gomes em 01/07/2020

[ Hits: 5.802 ]

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

Awk - Uma poderosa ferramenta de análise

Ambiente Dev Local com Vagrant em 5 minutos

Transformando o modem QuickConnect em roteador

Habilitando sintaxe no VIM para o logstash

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

Leitura recomendada

Caracteres de quebra de linha: Windows x Linux

Menu do Gnome no seu Mouse com a tecla "Windows" (ou "Super")

Documentação GNU/Linux da IBM e preparação para a LPI

SVN/Trac no CentOS 5.5 64 bits

nixCraft FAQ PDF Collection

  

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