Differences

This shows you the differences between two versions of the page.

Link to this comparison view

monitorando_debian_10_com_grafana_e_prometheus [2020/06/20 15:05] (current)
Douglas Quintiliano dos Santos created
Line 1: Line 1:
 +====== Monitorando Debian 10 com Grafana & Prometheus ======
 +
 +Grafana é uma ferramenta de analise e visualização de matricas open source que pode nos ajudar a monitorar o sistema com um ótimo dashboard.
 +
 +{{::painel-node-exporter.png?500|}}
 +
 +Vamos instalar algumas dependências para começar a nossa instalação
 +<sxh bash>
 +apt update && apt install -y vim sudo curl gnupg2
 +</sxh>
 +
 +Recomendado utilizar um vimrc
 +<sxh bash>
 +curl -L https://raw.githubusercontent.com/douglasqsantos/DevOps/master/Misc/vimrc -o /root/.vimrc
 +</sxh>
 +===== Instalando o Grafana =====
 +
 +
 +Grafana pode ser instalado via repositórios Debian, tenha em mente que não é sempre a última versão do sistema desta forma vamos utilizar os repositórios oficiais.
 +
 +Vamos criar o arquivo vai controlar os repositórios 
 +<sxh bash>
 +sudo vim /etc/apt/sources.list.d/grafana.list
 +deb https://packages.grafana.com/oss/deb stable main
 +</sxh>
 +
 +Os repositórios são separados por releases no caso eu vou estar utilizando a versão estavél (stable) pode ser utilizado o repositório beta 
 +
 +Agora precisamos importar as chaves do repositório para poder efetuar a instalação de pacotes assinados.
 +<sxh bash>
 +curl https://packages.grafana.com/gpg.key | sudo apt-key add -
 +</sxh>
 +
 +Agora vamos atualizar os repositórios
 +<sxh bash>
 +sudo apt-get update
 +</sxh>
 +
 +Agora vamos verificar se os pacotes do Grafana vão ser instalados dos repositórios oficiais.
 +<sxh bash>
 +sudo apt-cache policy grafana
 +grafana:
 +  Instalado: (nenhum)
 +  Candidato: 6.4.3
 +  Tabela de versão:
 +     6.4.3 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +     6.4.2 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +     6.4.1 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +     6.4.0 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +     6.3.6 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +     6.3.5 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +     6.3.4 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +     6.3.3 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +     6.3.2 500
 +        500 https://packages.grafana.com/oss/deb stable/main amd64 Packages
 +[...]
 +</sxh>
 +
 +Agora podemos continuar e instalar os pacotes necessários.
 +<sxh bash>
 +sudo apt-get install grafana -y
 +</sxh>
 +
 +Após a instalação dos pacotes vamos iniciar o serviço 
 +<sxh bash>
 +sudo systemctl start grafana-server
 +</sxh>
 +
 +Agora vamos validar se o Grafana esta rodando e esta como (active (running))
 +<sxh bash>
 +sudo systemctl status grafana-server
 +● grafana-server.service - Grafana instance
 +   Loaded: loaded (/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled)
 +   Active: active (running) since Tue 2019-10-22 14:24:34 -03; 3s ago
 +     Docs: http://docs.grafana.org
 + Main PID: 2423 (grafana-server)
 +    Tasks: 10 (limit: 1150)
 +   Memory: 24.3M
 +   CGroup: /system.slice/grafana-server.service
 +           └─2423 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=deb cfg:default
 +
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="Initializing SearchService" logger=server
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="Initializing TracingService" logger=server
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="Initializing UsageStatsService" logger=server
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="Initializing CleanUpService" logger=server
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="Initializing NotificationService" logger=server
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="Initializing provisioningServiceImpl" logger=server
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="Initializing Stream Manager"
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="HTTP Server Listen" logger=http.server address=0.0.0.0:3000 prot
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=info msg="Backend rendering via phantomJS" logger=rendering
 +out 22 14:24:36 buster grafana-server[2423]: t=2019-10-22T14:24:36-0300 lvl=warn msg="phantomJS is deprecated and will be removed in a future release.
 +</sxh>
 +
 +Agora vamos adicionar o Grafana na inicialização do sistema.
 +<sxh bash>
 +sudo systemctl enable grafana-server.service
 +</sxh>
 +
 +===== Instalando o Prometheus =====
 +
 +Prometheus é um sistema de monitoramento e toolkit de alerta open source. 
 +
 +Vamos efetuar a instalação dele
 +<sxh bash>
 +sudo apt install -y prometheus prometheus-node-exporter
 +</sxh>
 +
 +Após a instalação precisamos validar se temos duas novas portas TCP/IP escutando porta 9090 e 9100
 +<sxh bash>
 +ss -plunt
 +Netid      State       Recv-Q      Send-Q           Local Address:Port           Peer Address:Port                                                    
 +tcp        LISTEN      0           128                    0.0.0.0:22                  0.0.0.0:        users:(("sshd",pid=388,fd=3))                 
 +tcp        LISTEN      0           20                   127.0.0.1:25                  0.0.0.0:        users:(("exim4",pid=4260,fd=3))               
 +tcp        LISTEN      0           128                       [::]:22                     [::]:        users:(("sshd",pid=388,fd=4))                 
 +tcp        LISTEN      0           128                          *:3000                      *:*         users:(("grafana-server",pid=2423,fd=6))      
 +tcp        LISTEN      0           20                       [::1]:25                     [::]:        users:(("exim4",pid=4260,fd=4))               
 +tcp        LISTEN      0           128                          *:9090                      *:*         users:(("prometheus",pid=3958,fd=5))          
 +tcp        LISTEN      0           128                          *:9100                      *:*         users:(("prometheus-node",pid=3478,fd=3))  
 +</sxh>
 +
 +Podemos notar que temos a porta 3000 que é o serviço do Grafana também esta escutando.
 +
 +===== Acessando o Grafana =====
 +
 +Assim que o Grafana e o Prometheus estiverem instalados podemos acessar o painel web. O endereço de acesso é http://ip_do_servidor:3000 a página de acesso vai ser como abaixo.
 +
 +{{::grafana-login.png?400|}}
 +
 +Aqui precisamos informar usuário admin e senha admin. Assim que efetuar o login será solicitado a alteração da senha.
 +
 +===== Configurando o Prometheus como origem dos dados =====
 +
 +Na tela inicial:
 +
 +Selecione Add data source.
 +
 +{{::home-dashboard-data-source.png?400|}}
 +
 +Selecione Prometheus 
 +
 +{{::data-source-prometheus.png?400|}}
 +
 +Configurando:
 +
 +{{::data-source-prometheus-conf.png?400|}}
 +
 +  - Name: Prometheus
 +  - HTTP:
 +    - URL: http://localhost:9090
 +    - Access: Server (Default)
 +  - No final da página selecione Save & Test
 +  - Deve aparecer: Data source is working
 +
 +
 +===== Criando um Dashboard =====
 +
 +Grafana tem muitos Dashboards criados por vários usuários e as configurações são compartilhadas em [[https://grafana.com/dashboards|Grafana Dashboard]].
 +
 +Eu uso o Dashboard [[https://grafana.com/grafana/dashboards/5174|Node Exporter Full]], então para utilizar o mesmo podemos efetuar a importação do dashboard pelo seu id: 5174
 +
 +Na tela inicial selecione o botão com o simbolo de + e selecione Import
 +
 +{{::import-dashboard.png?400|}}
 +
 +Aqui informe o id 5174 e pressione TAB
 +
 +{{::import-5174.png?400|}}
 +
 +Em **some-prometheus** selecione: Prometheus
 +
 +Agora selecione **Import**
 +
 +Agora vamos ter o nosso painel.
 +
 +{{::painel-node-exporter.png?400|}}
 +
 +
 +====== Referências ======
 +  - https://oastic.com/how-to-monitor-an-ubuntu-server-with-grafana-prometheus/
 +  - http://docs.grafana.org/installation/debian
 +  - https://prometheus.io/docs/guides/node-exporter
 +  - https://grafana.com/dashboards/5174
 +
 +
 +
  
Print/export
QR Code
QR Code monitorando_debian_10_com_grafana_e_prometheus (generated for current page)