Ir para o conteúdo principal

[SPIKE] - Utilização do OpenDBDif para comparar estruturas e bases de dados


FOTO


PIPEFY CARD ID 531128692

OBJETIVO

Apresentar a forma correta de comparar bases de dados usando o OpenDBDiff e o Compare Tool do Visual Studio e a sua importância, assim como um estudo de caso para exemplificar a necessidade de utiliza-los.

JUSTIFICATIVA

Criar boas práticas de replicação de estrutura de banco de dados

ENVOLVIDOS

Desenvolvimento do Estudo:

  • Denizard Dimitri Camargo

Product Owner:

  • Pedro Henrique de Andrade Gomes

Coordenador de Análise e Gestão de Dados:

  • Abdenildo Deividy Sobreira dos Santos 

    GLOSSÁRIO

    • O que é o Grafana?
    • Como funciona?
    • Primeiros passos para utilização do Grafana
    • Conclusão
    • Referências


    O que é o GRAFANA™ ?

    image-1644417988082.png

    image-1644418013322.gif


    Como funciona?

    O Grafana funciona em composição com outros 2 serviços que são:

    • Telegraf: Funciona como um Agente de coleta de Métricas (CPU, Storage, et cetera..).
    • Influxdb: Banco de dados onde fica armazenado as Métricas para alimentação do Dashboard.

    image-1644418196843.png


    IMPLEMENTAÇÃO - Primeiros passos para utilização do Grafana


    • Criação do Usuário no Server (no meu estudo utilizei o 172.16.1.16) para coleta das métricas pelo Telegraf:
    USE master;
    GO
    CREATE LOGIN [telegraf] WITH PASSWORD = N'senh@123';
    GO
    GRANT VIEW SERVER STATE TO [telegraf];
    GO
    GRANT VIEW ANY DEFINITION TO [telegraf];
    GO

    image-1644419929095.png

    • Instalação do Docker 

    image-1644418261976.gif

    Para início da utilização é necessário instalar o Docker no ambiente, usando o link ao lado (Docker Desktop). O ambiente envolvido será windows, então a instalação será para esse SO.

    Após a instalação do ambiente de Conteinerização, é necessário subir as imagens imagens do Grafana, Influxdb e Telegraf no Docker pelo CMD usando os comandos:

    # Criação da rede localnet
    $ docker network create localnet
    
    # Criação do volume pro grafana no docker
    $ docker volume create grafana-storage
    
    # Definição em qual porta o Grafana vai rodar
    $ docker run -d -p 3000:3000 --name=grafana --net localnet -v grafana-storage:/var/lib/grafana grafana/grafana
    
    # Definição de qual porta o Influx vai rodar
    $ docker run -p 8086:8086 --name=influxdb --net localnet -v D:\SQL\Influx:/var/lib/influxdb influxdb
    
    # Comando para baixar o arquivo de configuração do Telegraf na pasta local
    $ docker run --rm telegraf --net localnet telegraf config > telegraf.conf

    Após a execução do último comando vamos abrir o arquivo de configuração do Telegraf com o editor de texto de sua escolha e alterar o código de configuração:

    image-1644418902830.png

    image-1644420113293.png

    o código de configuração do telegraf se encontra neste link ao lado - Telegraf.conf

    Após a configuração do arquivo do telegraf vamos subir a imagem dele no Docker pelo CMD utilizando o comando:

    # Montagem do Telegraf com arquivo de conf setado
    $ docker run -v D:\SQL\telegraf.conf:/etc/telegraf/telegraf.conf:ro --name=telegraf --net localnet telegraf

    Neste ponto, 3 contêineres estarão funcionando no docker, aqui está o que você verá no Docker Hub:

    image-1644420356071.png

    Sendo o Grafana definido na porta 3000 e o Influxdb na porta 8086 podendo ambos serem acessados após a instalação por estes links:

    image-1644420774873.png

    image-1644420834003.png

    O usuário e a senha padrão do Grafana e admin/admin, podendo ser alterado depois.

    Neste ponto iremos configurar o Datasource no Grafana para conexão com Server que no caso e o Influxdb.

    image-1644421089913.png

    image-1644421126236.png

    image-1644421354821.png


    Logo após as configurações iniciais seria possivel conectar o Telegraf ao Influxdb para injetar as métricas necessárias para o consumo do Grafana, pórem o meu estudo parou até este ponto devido ao Erro apresentado abaixo:

    image-1644421651370.png

    Não sendo possível conectar ambos.


    CONCLUSÃO

    Após estudos e análise da implementação do Grafana, verifiquei que de fato esta é uma solução para monitoramento severamente eficaz devido a possibilidade de implementação em qualquer tipo de Sistema Operacional tendo suporte também a diversos Sistemas de Gerenciamento de Banco de dados. Entretanto deve levar em consideração de que como o estudo apresentado acima não foi bem sucedido, a implementação do Grafana deverá ter outra abordagem, para sua total utilização.

    REFERÊNCIAS