Skip to content

Latest commit

 

History

History
386 lines (316 loc) · 14.5 KB

02-grafana.md

File metadata and controls

386 lines (316 loc) · 14.5 KB

#Autor: Robson Vaamonde
#Procedimentos em TI: http://procedimentosemti.com.br
#Bora para Prática: http://boraparapratica.com.br
#Robson Vaamonde: http://vaamonde.com.br
#Facebook Procedimentos em TI: https://www.facebook.com/ProcedimentosEmTi
#Facebook Bora para Prática: https://www.facebook.com/BoraParaPratica
#Instagram Procedimentos em TI: https://www.instagram.com/procedimentoem
#YouTUBE Bora Para Prática: https://www.youtube.com/boraparapratica
#Data de criação: 07/03/2024
#Data de atualização: 11/11/2024
#Versão: 0.14

OBSERVAÇÃO IMPORTANTE: COMENTAR NO VÍDEO DO GRAFANA SE VOCÊ CONSEGUIU IMPLEMENTAR COM A SEGUINTE FRASE: Implementação do Grafana realizado com sucesso!!! #BoraParaPrática

COMPARTILHAR O SELO DA IMPLEMENTAÇÃO NAS SUAS REDES SOCIAIS (LINKEDIN, FACEBOOK, INSTAGRAM) MARCANDO: ROBSON VAAMONDE COM AS HASHTAGS E CONTEÚDO DA IMPLEMENTAÇÃO ABAIXO:

LINK DO SELO: https://github.com/vaamonde/ubuntu-2204/blob/main/selos/12-grafana.png

#boraparapratica #boraparaprática #vaamonde #robsonvaamonde #procedimentosemti #ubuntuserver #ubuntuserver2204 #desafiovaamonde #desafioboraparapratica #desafiografana

Conteúdo estudado nessa implementação:
#01_ Instalando as Dependências do Grafana Server
#02_ Instalando a Chave GPG do Grafana Server no Ubuntu Server
#03_ Instalando o Grafana Server no Ubuntu Server
#04_ Editando os arquivos de configuração do Grafana Server
#05_ Habilitando o Serviço do Grafana Server
#06_ Verificando o Serviço e Versão do Grafana Server
#07_ Verificando a Porta de Conexão do Grafana Server
#08_ Adicionado o Usuário Local no Grupo Padrão do Grafana Server
#09_ Localização dos diretórios principais do Grafana Server
#10_ Configurando o Grafana Server via Navegador
#11_ Criando um Data Sources do MySQL Server no Grafana Server
#12_ Criando um Dashboard do Banco de Dados DBAgenda
#13_ Adicionando o Plugin do Dashboard do Zabbix Server no Grafana
#14_ Estressando o Servidor Ubuntu Server para verificar as mudanças no Gráfico

Site Oficial do Grafana: https://grafana.com/

Grafana é uma aplicação web de análise de código aberto multiplataforma e visualização interativa da web. Ele fornece tabelas, gráficos e alertas para a Web quando conectado a fontes de dados suportadas. É expansível através de um sistema de plug-in.

Grafana

Link da vídeo aula: https://www.youtube.com/watch?v=vD1aFVcgdlo

#01_ Instalando as Dependências do Grafana Server

#atualizando as lista do apt
sudo apt update

#instalando as dependências do Grafana Server
sudo apt install apt-transport-https software-properties-common git vim

#02_ Instalando a Chave GPG do Grafana Server no Ubuntu Server

#baixando a Chave GPG do Grafana Server
#opção do comando wget: -q (quiet), -O (output-document)
#opção do redirecionador | (pipe): Conecta a saída padrão com a entrada padrão de outro comando
#opção do redirecionador > (maior): Redireciona a saída padrão (STDOUT)
sudo wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null

#adicionando o Repositório do Grafana Server (versão BETA)
#OBSERVAÇÃO IMPORTANTE: caso queira instalar a versão atual altere a palavra: beta por: stable
#OBSERVAÇÃO IMPORTANTE: na data de: 14/05/2024 a Versão BETA 11 do Grafana se tornou STABLE.
#opção do comando tee: -a (append)
#opção do redirecionador | (pipe): Conecta a saída padrão com a entrada padrão de outro comando
echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

#03_ Instalando o Grafana Server no Ubuntu Server

#atualizando as listas do Apt com o novo repositório
sudo apt update

#instalando o Grafana
#opção do comando apt: --install-recommends (Consider suggested packages as a dependency for installing)
sudo apt install --install-recommends grafana

#04_ Editando os arquivos de configuração do Grafana Server

#editando o arquivo de configuração do Grafana Server
sudo vim /etc/default/grafana-server

#entrando no modo de edição do editor de texto VIM
INSERT

  #principais variáveis do Grafana Server (padrão não alterar)
  GRAFANA_USER=grafana          (usuário do serviço do Grafana Server)
  GRAFANA_GROUP=grafana         (grupo do serviço do Grafana Server)
  LOG_DIR=/var/log/grafana      (localização dos arquivos de Log do Grafana Server)
  DATA_DIR=/var/lib/grafana     (localização do banco de dados do Grafana Server)

#salvar e sair do arquivo
ESC SHIFT : x <Enter>

#editando o arquivo de inicialização do Grafana Server
sudo vim /etc/grafana/grafana.ini

#entrando no modo de edição do editor de texto VIM
INSERT

  #descomentar a variável protocol = na linha: 32
  protocol = http

  #descomentar a variável ;http_port = na linha 41
  http_port = 3000

  #descomentar a variável ;domain = na linha 44
	domain = pti.intra

#salvar e sair do arquivo
ESC SHIFT : x <Enter>

#05_ Habilitando o Serviço do Grafana Server

#habilitando o serviço do Grafana Server
sudo systemctl daemon-reload
sudo systemctl enable grafana-server
sudo systemctl restart grafana-server

#06_ Verificando o Serviço e Versão do Grafana Server

#verificando o serviço do Grafana Server
sudo systemctl status grafana-server
sudo systemctl restart grafana-server
sudo systemctl stop grafana-server
sudo systemctl start grafana-server

#analisando os Log's e mensagens de erro do Servidor do Grafana
#opção do comando journalctl: -t (identifier), -x (catalog), -e (pager-end), -u (unit)
sudo journalctl -t grafana
sudo journalctl -xeu grafana-server

#verificando a versão do Grafana Server
#opção do comando grafana-server: -v (version)
#opção do comando grafana-cli: -v (version)
sudo grafana-server -v
sudo grafana-cli -v

#07_ Verificando a Porta de Conexão do Grafana Server

#OBSERVAÇÃO IMPORTANTE: no Ubuntu Server as Regras de Firewall utilizando o comando: 
#iptables ou: ufw está desabilitado por padrão (INACTIVE), caso você tenha habilitado 
#algum recurso de Firewall é necessário fazer a liberação do Fluxo de Entrada, Porta 
#e Protocolo TCP do Serviço corresponde nas tabelas do firewall e testar a conexão.

#OBSERVAÇÃO IMPORTANTE: CUIDADO NO PROCEDIMENTO DE INSTALAR E CONFIGURAR O NODE.JS E
#OS SEUS DESAFIOS, POR PADRÃO A PRIMEIRA APLICAÇÃO EM JAVASCRIPT FEITA UTILIZANDO O
#RECURSO DE EXPRESS ESTÁ NA PORTA 3000, RECOMENDO MUDAR A PORTA DA APLICAÇÃO OU
#DESATIVAR A MESMA PARA NÃO ENTRAR EM CONFLITO COM O GRAFANA SERVER.

#opção do comando lsof: -n (network number), -P (port number), -i (list IP Address), -s (alone directs)
sudo lsof -nP -iTCP:'3000' -sTCP:LISTEN

#08_ Adicionado o Usuário Local no Grupo Padrão do Grafana Server

#opções do comando usermod: -a (append), -G (groups), $USER (environment variable)
sudo usermod -a -G grafana $USER
newgrp grafana
id

#recomendo fazer logout do usuário para testar as permissões de grupos
#OBSERVAÇÃO: você pode utilizar o comando: exit ou tecla de atalho: Ctrl +D
exit

#09_ Localização dos diretórios principais do Grafana Server

/usr/share/grafana*          <-- Diretório do Site do Grafava Server
/var/log/grafana*            <-- Diretório dos arquivos de Logs do serviço do Grafana Server
/var/lib/grafana*            <-- Diretório dos banco de dados do Grafana Server
/etc/grafana/*               <-- Diretório das configurações do Grafana Server
/etc/grafana/grafana.ini     <-- Arquivo de Configuração e Inicialização do Grafana Server
/etc/default/grafana-server  <-- Arquivo de Configuração do Serviço do Grafana Server
/var/lib/grafana/plugins*    <-- Diretório dos Plugins do Grafana Server

#10_ Configurando o Grafana Server via Navegador

#acessar via navegador o Grafana
firefox ou google chrome: http://endereço_ipv4_ubuntuserver:3000

#configurações iniciais do Grafana Server
Welcome to Grafana
  Email or username: admin
  Password: admin 
<Log In>

Update your password
  New password: pti@2018
  Confirm new password: pti@2018 
<Submit>

#11_ Criando um Data Sources do MySQL Server no Grafana Server

#criando um Data Sources do Banco de Dados DBAgenda do MySQL Server
Open Menu
  Connections
    Data Sources
      <Add data source>
        Filter by name or type: MySQL
          Select: MySQL (Data Source for MySQL databases)
            Name: MySQL-DBAgenda - Default (Enable)
            MySQL Connection
              Host URL: localhost:3306
              Database name: dbagenda
              Username: dbagenda
              Password: dbagenda
          <Save & Test>
    Data Sources

#12_ Criando um Dashboard do Banco de Dados DBAgenda

#criando o Dashboard do Banco de Dados DBAgenda
Open Menu
  Dashboards
    <Create Dashboard>
    <+ Add visualization>
      Select data source
        Data source: MySQL-DBAgenda

      #primeira etapa: criar o Dataset do Banco, Tabela e Coluna
      Builder
        Dataset: dbagenda   Tabela: contatos
        Columm: nome   Aggregation: COUNT (Contar)   Alias: Choose (Default)
      <Run query>

      #segunda etapa: criar a visualização dos dados no painel
      Panel Title
        <Open visualization suggestions>
          Suggestions: Gauge
            Panel options
              Tile: Total de Contatos
              Description: Total de Contatos cadastrados no banco DBAgenda
            Standard Option
              Min: 1
              Max: 20
          <Save>

      #terceira etapa: salvando as mudanças do Dashboard		
      Details
        Title: DBAgenda
        Description: Dashboard DBAgenda
        Folder: Dashboard
      <Save>

    #quarta etapa: adicionando mais um painel no Dashboard DBAgenda
    <Add>
      Visualization
        Builder
          Dataset: dbagenda   Tabela: contatos
          Columm: nome   Aggregation: Choose (Default)   Alias: Choose (Default)

          #habilitar a opção: Order (Enable) no painel da Builder
          Order by: idcon
          Sort by: descending
          Limit: 10
        <Run query>

        Panel Title
          <Switch to table>
            Panel options
              Tile: Últimos Contatos do DBAgenda
              Description: Nome dos últimos contatos do banco DBAgenda
          <Save> - <Save>
        <Apply>

#13_ Adicionando o Plugin do Dashboard do Zabbix Server no Grafana

#instalando o Plugin do Zabbix Server no Grafana
sudo grafana-cli plugins install alexanderzobnin-zabbix-app

#reiniciar o serviço do Grafana Server
sudo systemctl restart grafana-server
sudo systemctl status grafana-server

#criando o usuário de autenticação no Zabbix Server
#OBSERVAÇÃO IMPORTANTE: nos testes feito utilizando o usuário padrão do Zabbix
#Server: Admin acontecia o erro de autenticação, aparecendo sempre a mensagem de:
#Incorrect user name or password or account is temporarily blocked. Para corrigir
#essa falha fiz a criação de um novo usuário e a conexão foi feita com sucesso.

#acessando o Zabbix Server via Navegador
firefox ou google chrome: http://endereço_ipv4_ubuntuserver/zabbix

#criação do usuário para a integração com o Grafana Server
Zabbix
  Users
    Users
      <Create User>
        User
          Username: vaamonde
          Name: Robson Vaamonde
          Password: pti@2018
          Password (once again): pti@2018
        Permission
          Role: <Select>
            Super admin role
      <Add>

#habilitando o Plugin do Zabbix Server no Grafana Server
Open Menu
  Administration
    Plugins and data
      Plugins
        Search: Zabbix (clicar)
        <Enabled>

#criando o Data Source da Zabbix Server
Open Menu
  Connections
    Data sources
      <+ Add new data source>
        Filter: Zabbix (select)
          Name: wsvaamonde
          Connection: http://172.16.1.20/zabbix/api_jsonrpc.php
          Zabbix Connection
            Auth type: User and password
            Username: vaamonde
            Password: pti@2018
      <Save and test>

#criando o Dashboard padrão do Zabbix Server
Open Menu
  New Dashboard
    <+ Add visualization>
      Select data source: wsvaamonde (Zabbix Server)

      #gráfico de utilização da CPU

      #gráfico de utilização da RAM

      #gráfico de utilização do DISK

      #gráfico de utilização da NETWORK

#14_ Estressando o Servidor Ubuntu Server para verificar as mudanças no Gráfico

#instalando o software stress-ng e s-tui no Ubuntu Server (NÃO COMENTADO NO VÍDEO)
sudo apt install stress-ng s-tui

#verificando a versão do stress-ng e do s-tui (NÃO COMENTADO NO VÍDEO)
sudo stress-ng --version
sudo s-tui --version

#verificando a carga atual do servidor Ubuntu (NÃO COMENTADO NO VÍDEO)
#HORA ATUAL | TEMPO DE ATIVIDADE | NÚMERO DE USUÁRIOS LOGADOS | MÉDIA DE CARGA CPU 1=100% - (1M) (5M) (15M)
sudo uptime

#verificando o desempenho do servidor Ubuntu (NÃO COMENTADO NO VÍDEO)
sudo top

#estressando a CPU, RAM e DISK utilizando o stress-ng (pressione Ctrl+C para abortar)
#opção do comando stress-ng: --hdd (start N workers continually writing, reading and 
#removing temporary files.), --io (start N workers continuously calling sync(2) to 
#commit buffer cache to disk.), --vm (start N workers continuously calling mmap(2)/
#munmap(2) and writing  to  the  allocated  memory.), --timeout (run each stress test 
#for at least T seconds)
sudo stress-ng --hdd 8 --io 8 --vm 18 --cpu 8 --timeout 900s

#parando alguns serviços do Ubuntu Server (NÃO COMENTADO NO VÍDEO)
sudo systemctl stop tomcat10.service mongod.service netdata.service webmin.service

#fazendo uma busca no disk utilizando o comando find (NÃO COMENTADO NO VÍDEO)
#opção do comando find: -name (Base of file name), * (Qualquer coisa)
sudo find / -name vaamonde*

=========================================================================================

OBSERVAÇÃO IMPORTANTE: COMENTAR NO VÍDEO DO GRAFANA SE VOCÊ CONSEGUIU IMPLEMENTAR COM A SEGUINTE FRASE: Implementação do Grafana realizado com sucesso!!! #BoraParaPrática

COMPARTILHAR O SELO DA IMPLEMENTAÇÃO NAS SUAS REDES SOCIAIS (LINKEDIN, FACEBOOK, INSTAGRAM) MARCANDO: ROBSON VAAMONDE COM AS HASHTAGS E CONTEÚDO DA IMPLEMENTAÇÃO ABAIXO:

LINK DO SELO: https://github.com/vaamonde/ubuntu-2204/blob/main/selos/12-grafana.png

#boraparapratica #boraparaprática #vaamonde #robsonvaamonde #procedimentosemti #ubuntuserver #ubuntuserver2204 #desafiovaamonde #desafioboraparapratica #desafiografana