[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 ToolsTool 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™ ?
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.
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
- 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 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:
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/login
- Influxdb - http://localhost:8086/onboarding/0
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.
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:
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
- https://programmer.group/telegraf-and-grafana-monitor-sql-server-on-multiple-platforms.html
- https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sqlserver#configuration
- https://github.com/development-plate/lab-monitoring-sqlserver-telegraf-influxdb-grafana
- https://community.influxdata.com/t/the-telegraf-unauthorized-to-influxdb/16984