Ir para o conteúdo principal

[SPIKE] - Como fazer o DIFF

image-1644419539880.webp

PIPEFY CARD ID 491466868531128692 

OBJETIVO

Avaliar a possibilidade de implementação de um serviço de monitoramento dos servidores do SQL SERVER ou qualquer outro tipo de Sistema de Gerenciamento de banco de dados utilizados por esta Coordenadoria.

JUSTIFICATIVA

Monitorar o desempenho (métricas) isolado ou em conjunto de servidores como CPU, LOGS, CONNECTIONS, et cetera..

ENVOLVIDOS

Desenvolvimento do Estudo:

  • Anderson Gomes de Souza

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

  • Abdenildo Deividy Sobreira dos Santos

Product Owner:

  • Pedro Henrique de Andrade Gomes 

    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