[SPIKE] - Utilização do OpenDBDiff para comparar estruturas e bases de dados
FOTO
PIPEFY CARD ID 531128692
OBJETIVO
Apresentar a formautilização corretado OpenDBDiff para comparar estrutura de comparar basesbanco de dados usando o OpenDBDiff e o Compare Tool do Visual Studio e a sua importância,dados, assim como umos estudodados dedas caso para exemplificar a necessidade de utiliza-los.tabelas.
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 GrafanaConclusãoReferências
O que é o GRAFANA™ ?OpenDBDiff?
Uma ferramenta de comparação de banco de dados para Microsoft SQL Server 2005+ que relata diferenças de esquema e cria um script de sincronização.
Como funciona?
OOpen GrafanaDBDiff funcionapode emsincronizar composiçãoe comcomparar outros 2 serviços queseguintes são:componentes de um banco de dados:
Telegraf:TabelasFunciona(incluindo Opções de Tabela comoumvardecimal,Agentetexto em linha, etc.)- Colunas (incluindo Colunas Calculadas, opções XML, Identidades, etc.)
- Restrições
- Índices (e índices XML)
- Esquemas XML
- Tipos de
coleta de Métricas (CPU, Storage, et cetera..).tabela Influxdb: BancoTipos de dadosondedoficausuárioarmazenado(UDT)- Objetos
MétricasCLRpara(Assemblies,alimentaçCLR-UDT, CLR-Store Procedure, CLR-Triggers) - Gatilhos (incluindo Gatilhos DDL)
- Sinônimos
- Esquemas
- Grupos de arquivos
- Visualizações
- Funções
- Procedimentos da loja
- Funções/Esquemas de Partição
- Comercial
- Funções
IMPLEMENTAÇÃO - Primeiros passos para utilizaçInstalação do Grafana
CriaçãoIr ao site oficial doUsuárioOpenDBDiff:noReleaseServer0.13.0(no·meuOpenDBDiff/OpenDBDiffestudo·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
Instalação do Docker
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 dezip 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:
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:
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:
Grafana -http://localhost:3000/logindele.
InfluxdbExtrair-tudohttp://localhost:8086/onboarding/0e executar como administrador o aplicativo
O usuário
- Está
senhaprontopadrãpara ser utilizado
Utilização
Preencher os campos do Grafanabanco ede admin/admin,origem(Source podendodatabase), sercom alteradoos depois.seguintes dados:
- Servidor.
- Tipo de autenticação.
- Usuário.
- Senha.
- Banco de dados.
Neste ponto
Preencher configuraros ocampos Datasourcedo nobanco Grafanade paradestino(Destination conexão com Server que no caso e o Influxdb.database):
Fazer comparação das bases
Entendendo as cores
Verde: Cria novos objetos estruturais, da origem ao destino, por exemplo: criar uma nova tabela.
LogoAzul: apósAltera asum configuraçõesobjeto iniciaisjá seriaexistente, possivelda conectarorigem ao destino, por exemplo: renomeia uma coluna.
Vermelho: Indica que o Telegrafobjeto existe no destino e não na origem, portanto não será efetuada nenhuma mudança ao Influxdbatualizar.
Pode-se obter o script de sincronização para injetar as métricas necessárias para alteração consumoconforme do Grafana, pórem o meu estudo parou até este ponto devido ao Erro apresentado abaixo:necessidade.
Não
sendo possível conectar ambos.
CONCLUSÃO
Após estudos e análise da implementação do Grafana,OpenDBDiff, verifiqueiqueda constatado que de fato esta é uma soluçferramenta de grande utilidade quando se quer fazer comparação, sincronização parae monitoramento severamente eficaz devido a possibilidadeatualização de implementaçãoestruturas eme/ou qualquerdados tipo deno Sistema Operacional tendo suporte também a diversos Sistemas de Gerenciamento de Banco de dados.dado EntretantoMicrosoft deveSQL levarServer em2005+. consideração
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
- Release
https://programmer.group/telegraf-and-grafana-monitor-sql-server-on-multiple-platforms.html0.13.0 https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sqlserver#configuration· https://github.com/development-plate/lab-monitoring-sqlserver-telegraf-influxdb-grafanaOpenDBDiff/OpenDBDiff https://community.influxdata.com/t/the-telegraf-unauthorized-to-influxdb/16984· GitHub