Skip to content

Latest commit

 

History

History
357 lines (271 loc) · 13.5 KB

09-netdata.md

File metadata and controls

357 lines (271 loc) · 13.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: 14/04/2023
#Data de atualização: 05/05/2024
#Versão: 0.17

OBSERVAÇÃO IMPORTANTE: COMENTAR NO VÍDEO DO NETDATA SE VOCÊ CONSEGUIU FAZER O DESAFIO COM A SEGUINTE FRASE: Desafio do Netdata realizado com sucesso!!! #BoraParaPrática

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

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

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

Conteúdo estudado nesse desafio:
#01_ Instalação das Dependência do Netdata
#02_ Clonagem do Projeto do Netdata do Github
#03_ Compilação e Instalação do Netdata no Ubuntu Server
#04_ Verificando o Status do Serviço do Netdata
#05_ Verificando a Versão do Netdata
#06_ Verificando a Porta de Conexão do Netdata
#07_ Habilitando o Recurso de Auto-Atualização do Netdata
#08_ Arquivo e Diretórios de Configuração do Netdata
#09_ Atualização os Arquivos de Monitoramento de Serviços do Netdata
#10_ Criando o Usuário de Monitoramento do MySQL Server do Netdata
#11_ Adicionando o Usuário Local do Grupo do Netdata
#12_ Acessando o Netdata via Navegador
#13_ Desafio do Netdata Cloud

Site Oficial do Netdata: https://www.netdata.cloud/

Netdata é uma ferramenta de código aberto projetada para coletar métricas em tempo real,
como uso de CPU, atividade de disco, uso de largura de banda, visitas a sites etc..., e
exibi-las em gráficos ao vivo e fáceis de interpretar.

Netdata Server

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

#01_ Instalando as Dependências do Netdata Server

#atualizando as lista do apt
sudo apt update

#instalando as dependências do Netdata Server
sudo apt install git vim build-essential software-properties-common gnupg apt-transport-https \
ca-certificates zlib1g-dev gcc make git autoconf autogen automake pkg-config uuid-dev python3 \
python3-mysqldb python3-pip python3-dev libmysqlclient-dev libuv1-dev netcat libwebsockets16 \
libwebsockets-dev libjson-c-dev libbpfcc-dev liblz4-dev libjudy-dev libelf-dev libmnl-dev \
autoconf-archive curl cmake protobuf-compiler protobuf-c-compiler lm-sensors python3-psycopg2 \
python3-pymysql libssl-dev libprotobuf-dev g++ flex bison nmap

#02_ Clonando o projeto do Netdata Server do Github

#clonando o projeto do Github do Netdata
#opção do comando git clone: --recurse-submodules (initialize and clone submodules within based 
#on the provided pathspec), --depth (create a shallow clone with a history truncated to the 
#specified number of commits)
git clone --recurse-submodules https://github.com/netdata/netdata --depth=100

#03_ Compilando e Instalando o Netdata Server

#OBSERVAÇÃO IMPORTANTE: o processo de compilação e instalação do Netdata demora
#bastante, dependendo do seu hardware pode demorar mais de 30 minutos para baixar
#as dependências, compilar e instalar o Netdata.

#acessando o diretório clonado e instalando o Netdata Server
#opção do ./: execução de script desenvolvido em Shell Script .sh
cd netdata/
	sudo ./netdata-installer.sh
cd ..

#04_ Verificando o Serviço e Versão do Netdata Server

#verificando o serviço do Netdata Server
sudo systemctl status netdata
sudo systemctl restart netdata
sudo systemctl stop netdata
sudo systemctl start netdata

#analisando os Log's e mensagens de erro do Servidor do Netdata (NÃO COMENTADO NO VÍDEO)
#opção do comando journalctl: x (catalog), e (pager-end), u (unit)
sudo journalctl -xeu netdata

#verificando a versão do Netdata Server
#opção do comando netdata: -v (version)
sudo netdata -v

#05_ Verificando a Porta de Conexão do Netdata 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.P.

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

#06_ Habilitando as atualizações do Netdata Server

#habilitando o suporte para atualização do Netdata Server
sudo /usr/libexec/netdata/netdata-updater.sh --enable-auto-updates

#OBSERVAÇÃO IMPORTANTE: caso queira atualizar manualmente o Netdata digite o
#mesmo comando do agendamento de atualizações do Netdata no terminal.
#opção do ./: execução de script desenvolvido em Shell Script .sh
sudo /usr/libexec/netdata/./netdata-updater.sh

#07_ Criando o usuário de monitoramento do MySQL Server do Netdata Server

#opções do comando mysql: -u (user), -p (password)
sudo mysql -u root -p
/* criando o usuário do Netdata no MySQL */
CREATE USER 'netdata'@'localhost';

/* aplicando as permissões do usuário do Netdata no MySQL */
GRANT USAGE, REPLICATION CLIENT ON *.* TO 'netdata'@'localhost';

/* fazendo o flush das permissões e saindo do MySQL */
FLUSH PRIVILEGES;

/* verificando o usuário do Netdata criado no MySQL */
SELECT user,host FROM mysql.user WHERE user="netdata";

 /* saindo do MySQL */
exit

#08_ Criando o usuário de monitoramento do MongoDB Server do Netdata Server

#opção do comando mongosh: admin (database) -u (username), -p (password)
mongosh admin -u admin -p
db.createUser({
	"user": "netdata",
	"pwd": "netdata",
	"roles" : [
	{role: 'read', db: 'admin' },
	{role: 'clusterMonitor', db: 'admin'},
	{role: 'read', db: 'local' }
	]
})
#verificando o usuário criado no MongoDB
db.getUsers()
db.getUser("netdata")

#saindo do MongoDB
quit

#09_ Adicionado o Usuário Local no Grupo Padrão do Netdata Server

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

#recomendado reinicializar a máquina para aplicar as permissões
sudo reboot

#10_ Localização dos Arquivos de Configuração do Netdata Server

/etc/netdata/netdata.conf           <-- arquivo de configuração do serviço do Netdata Server
/etc/netdata/apps_groups.conf       <-- arquivo de configuração dos Grupos de Aplicativos do Netdata Server
/etc/netdata/go.d/apache.conf       <-- arquivo de monitoramento do Apache2 Server
/etc/netdata/go.d/mongodb.conf      <-- arquivo de monitoramento do MongoDB Server
/etc/netdata/go.d/mysql.conf        <-- arquivo de monitoramento do MySQL Server
/etc/netdata/python.d/tomcat.conf   <-- arquivo de monitoramento do Apache Tomcat
/etc/netdata/go.d/ping.conf         <-- arquivo de monitoramento do ICMP Ping
/etc/netdata/go.d/portcheck.conf    <-- arquivo de monitoramento do Port Check

#11_ Configurando os Serviços de Monitoramento do Netdata Server

#OBSERVAÇÃO IMPORTANTE: cuidado na hora de configurar os serviços de monitoramento do
#Netdata Server, os arquivos de configuração são baseados na Linguagem de Programação
#Python utilizando o conceito do YAML (YAML Ain't Markup Language), não se utiliza TAB
#sempre utilizar 02 (dois) espaços para endentar o código.

#acessando o diretório de configuração do Netdata Server
cd /etc/netdata/

#configuração do serviço de monitoramento do Apache Server
#https://learn.netdata.cloud/docs/data-collection/web-servers-and-web-proxies/apache
sudo ./edit-config go.d/apache.conf

#editar as informações a partir da linha: 8
jobs:
  - name: wsvaamonde
    url: http://localhost/server-status?auto

  - name: wsvaamonde
    url: http://127.0.0.1/server-status?auto

#salvar e sair do arquivo
Ctrl + X
	Save modified buffer? Y
	File Name to Write: <Enter>

#configuração do serviço de monitoramento do Apache TomCAT Server
#https://learn.netdata.cloud/docs/data-collection/web-servers-and-web-proxies/tomcat
sudo ./edit-config python.d/tomcat.conf

#editar as informações a partir da linha: 79
localhost:
  name : 'wsvaamonde'
  url  : 'http://localhost:8080/manager/status?XML=true'
  user : 'admin'
  pass : 'pti@2018'

localipv4:
  name : 'wsvaamonde'
  url  : 'http://127.0.0.1:8080/manager/status?XML=true'
  user : 'admin'
  pass : 'pti@2018'

localipv6:
  name : 'wsvaamonde'
  url  : 'http://[::1]:8080/manager/status?XML=true'
  user : 'admin'
  pass : 'pti@2018'

#salvar e sair do arquivo
Ctrl + X
	Save modified buffer? Y
	File Name to Write: <Enter>

#configuração do serviço de monitoramento do MySQL Server
#https://learn.netdata.cloud/docs/data-collection/databases/mysql
sudo ./edit-config go.d/mysql.conf

#editar as informações a partir da linha: 52
jobs:
  - name: wsvaamonde
    dsn: netdata@tcp(127.0.0.1:3306)/

#salvar e sair do arquivo
Ctrl + X
	Save modified buffer? Y
	File Name to Write: <Enter>

#configuração do serviço de monitoramento do MongoDB Server
#https://learn.netdata.cloud/docs/data-collection/databases/mongodb
sudo ./edit-config go.d/mongodb.conf

#editar as informações a partir da linha: 8
jobs:
  - name: wsvaamonde
    uri: mongodb://netdata:netdata@localhost:27017

#salvar e sair do arquivo
Ctrl + X
	Save modified buffer? Y
	File Name to Write: <Enter>

#configuração do serviço de monitoramento do ICMP Ping
#https://learn.netdata.cloud/docs/data-collection/synthetic-checks/ping
sudo ./edit-config go.d/ping.conf

#editar as informações a partir da linha: 10
jobs:
  - name: google 
    hosts:
      - 8.8.8.8

  - name: wsvaamonde 
    hosts:
      - 172.16.1.20

#salvar e sair do arquivo
Ctrl + X
	Save modified buffer? Y
	File Name to Write: <Enter>

#configuração do serviço de monitoramento das Portas TCP Endpoint
#https://learn.netdata.cloud/docs/data-collection/synthetic-checks/tcp-endpoints
sudo ./edit-config go.d/portcheck.conf

#editar as informações a partir da linha: 8
jobs:
  - name: wsvaamonde
    host: 172.16.1.20
    ports: [22, 80, 3306, 8080, 19999, 27017]

#salvar e sair do arquivo
Ctrl + X
	Save modified buffer? Y
	File Name to Write: <Enter>

#verificando os arquivos de configuração do monitoramento criados
#opção do comando ls: -l (long listing), -h (human-readable)
ls -lh go.d/
ls -lh python.d/

#reinicializar o serviço do Netdata Server
sudo systemctl restart netdata
sudo systemctl status netdata

#verificando todos os serviços iniciados e rodando no Ubuntu Server
#opção do comando systemctl: list-units (List units that systemd currently has in memory)
#--type (list of unit types such as service and socket), --state (list of unit LOAD, SUB, 
#or ACTIVE states)
sudo systemctl list-units --type=service --state=running

#OBSERVAÇÃO IMPORTANTE: no vídeo as portas listadas com o comando: nmap só listou
#as portas conhecidas, para listar todas as portas adicionei a opção: -p-

#verificando todas as portas abertas no Ubuntu Server
#opção do comando nmap: -p- (port ranges all) -sS (scan TCP SYN), -sU (scans UDP)
#opção do comando grep: -i (ignore-case)
#opção do comando cat: -n (number line)
#opção do redirecionador |: Conecta a saída padrão com a entrada padrão de outro comando
sudo nmap -p- 172.16.1.20 -sS -sU | grep -i open | cat -n

#verificando todas as portas de serviços no Ubuntu Server
#opção do comando lsof: -n (network number), -P (port number), -i (list IP Address), -s (alone directs)
sudo lsof -nP -iTCP:'22,80,3306,8080,19999,27017' -sTCP:LISTEN

#12_ Acessando e configurando o Netdata Server no navegador

firefox ou google chrome: http://endereço_ipv4_ubuntuserver:19999

#13_ DESAFIO-01: FAZER A INTEGRAÇÃO DO NETDATA CLIENT COM O NETDATA CLOUD, UTILIZE O VÍDEO DE INTEGRAÇÃO: 15-netdata.sh Configurando o Netdata Cloud integrado com o Netdata Agent, LINK: https://www.youtube.com/watch?v=5MrH8L5cSIU

#14_ DESAFIO-02: ADICIONAR O USUÁRIO: admin E O: seu_usuário CRIADOS NO DESAFIO DO OPENSSH NO GRUPO DO NETDATA PARA FACILITAR A ADMINISTRAÇÃO E GERENCIAMENTO SEM A NECESSIDADE DO SUDO.

#15_ DESAFIO-03: ADICIONAR O HYPER LINK NO WORDPRESS PARA FACILITAR O ACESSO AO NETDATA, IGUAL A TODOS OS DESAFIOS FEITO ATÉ AGORA.

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

OBSERVAÇÃO IMPORTANTE: COMENTAR NO VÍDEO DO NETDATA SE VOCÊ CONSEGUIU FAZER O DESAFIO COM A SEGUINTE FRASE: Desafio do Netdata realizado com sucesso!!! #BoraParaPrática

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

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

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