Pilha TIG (Telegraf, InfluxDB e Grafana)

Pilha TIG (Telegraf, InfluxDB e Grafana)

Como todo bom SysAdmin você precisa de uma forma eficiente de monitorar os recursos dos seus servers, certo? Hoje abordaremos a Stack TIG que é formado por Telegraf, InfluxDB e o Grafana.

TELEGRAF:
O Telegraf é utilizado como agente de monitoramento, feito pela InfluxData para fazer parte da pilha TICK (Telegraf, influxDB, Chronograf e Kapacitor). Ele coleta diversas métricas e salva em uma variedade de saídas. (Mais infos na DOC OFICIAL )

INFLUXDB: O InfluxDB é um BD de séries temporais. Ele foi criado para lidar com altas cargas de gravação e consulta e fornece uma linguagem de consulta semelhante ao SQL chamada InfluxQL para interagir com os dados. (Mais infos na DOC OFICIAL )

GRAFANA: O Grafana permite consultar, visualizar, alertar e entender suas métricas, não importa onde elas estejam armazenadas. Ele é utilizado para criação de dashboards interativos. (Mais infos na DOC OFICIAL )

O nome da pilha que falaremos nesse post é TIG, formada pelos nossos três amigos acima. Tínhamos a opção de utilizar o Chronograf como dashboard e o Kapacitor para gerar alertas, porém o Grafana já faz tudo isso 😀
Em outro post abordaremos a pilha TICK.

Nós indicamos que a instalação seja feita conforme a necessidade do seu parque, porém abaixo segue um exemplo de como podem ser instalados os componentes acima.

Temos SEMPRE no servidor monitorado o agente do Telegraf para que possa colher e enviar as métricas para o banco de dados InfluxDB e no servidor de monitoração teremos o influxdb e o grafana, podendo ou não ficar no mesmo servidor. Caso tenha dúvidas de como montar de acordo com sua estrutura, podem comentar neste post ou nos enviar um e-mail. No decorrer dest post você entenderá melhor como funciona o agente, banco e dashboard.

INSTALAÇÃO TELEGRAF

1- Atualize o seu sistema

apt update && apt upgrade

2- Importar chave GPG do repositório

wget -qO- https://repos.influxdata.com/influxdb.key | apt-key add -

3- Adicionar o repositório do InfluxDB

echo "deb https://repos.influxdata.com/debian buster stable" | tee /etc/apt/sources.list.d/influxdb.list

4- Repita o passo 1

5- Instale o Telegraf

apt -y install telegraf

6- Inicie e ative o telegraf

systemctl start telegraf && systemctl enable telegraf && systemctl status telegraf

INSTALAÇÃO INFLUXDB

Tip

Se tiver realizado o processo de instalação do telegraf a partir do tutorial acima PULE PARA O PASSO 5

1- Atualize o seu sistema

apt update && apt upgrade

2- Importar chave GPG do repositório

wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -

3- Adicionar o repositório do InfluxDB

echo "deb https://repos.influxdata.com/debian buster stable" | tee /etc/apt/sources.list.d/influxdb.list

4- Repita o passo 1

5- Instale o influxdb

apt install influxdb

6- Inicie e ative o influxdb

systemctl start influxdb && systemctl enable influxdb && systemctl status influxdb

INSTALAÇÃO GRAFANA

1- Importar chave GPG do repositório

wget -qO- https://packages.grafana.com/gpg.key | apt-key add -

2- Adicionar o repositório do Grafana

echo "deb https://packages.grafana.com/oss/deb stable main" | tee /etc/apt/sources.list.d/grafana.list

3- Atualize o seu sistema

apt update && apt upgrade

4- Instale o grafana

apt install grafana

5- Inicie e ative o Grafana

systemctl start grafana-server && systemctl enable grafana-server && systemctl status grafana-server

Por padrão o Grafana utiliza a porta 3000, porém indicamos que alterem protejam essa porta para impedir acessos não autorizados. Como o intuito do post é a instalação e configuração, deixaremos essas indicações e configurações de segurança para uma próxima oportunidade. O arquivo principal de configuração do Grafana é: /etc/grafana/grafana.ini

6- Acesse o painel do grafana via web utilizando seudominio.com.br:3000 ou ip-do-seu-server:3000

O usuário e senha são inicialmente admin, porém logo no primeiro acesso o Grafana pedirá que defina uma nova senha ou pule. Indicamos fortemente que altere!!!

CONFIGURANDO O GRAFANA

Agora que já instalamos o nosso agente Telegraf, o banco de dados InfluxDB que salvará as métricas colhidas pelo telegraf e o dashboard do Grafana, vamos fazer a conexão do dashboard com o banco InfluxDB para que ele exiba as métricas que o Telegraf colheu. Repeti muito os componentes nessa frase, né? Foi de propósito, isso precisa estar bem fixado na sua cabeça querido SysAdmin!

1- Acesse o painel do grafana via web utilizando seudominio.com.br:3000 ou ip-do-seu-server:3000

2- Clique em Add data source

3- Selecione o banco de dados InfluxDB

4- Configure conforme abaixo

HTTP: url: preencha os dados do seu servidor com a porta do influx 8086. Ex: localhost:8086 / seudominio.com.br:8086 / ip-do-seu-server:8086
access: Server
Auth: with Credentials

InfluxDB Details:
Database:
telegraf User: irontutoriais Password: senhairon HTTP Method: GET

OBS: usuário e senha devem ser colocados o que você criou/ definiu no passo 8 da instalação do InfluxDB

5- Antes de irmos para criação de dashboards, lembram que configuramos uma autenticação no influx? Precisamos coloca-lá também no arquivo de configuração do telegraf.

  • Entre no arquivo de configuração do Telegraf - /etc/telegraf/telegraf.conf
  • Encontre a linha que contém [[outputs.influxdb]] e localize ## HTTP Basic Auth, onde esta username e password, coloque o usuário e senha passo 8 da instalação do InfluxDB

Colocamos essa parte no fim e não na instalação do telegraf, pois ainda não havíamos nem instalado o influx e com certeza iria confundir todo mundo rs

IMPORTANDO DASHBOARDS

Agora o Grafana já esta conectado ao influx e pode exibir as métricas vamos importar nosso primeiro Dashboard. No site oficial do Grafana existem diversos dashs prontos que podemos importar e customizar conforme precisamos.

Claro que é possível realizar a criação do zero, indicamos que leia a doc oficial para isso.

1- No lado direito clique sobre o Sinal de + e clique em Import

2- Acesse https://grafana.com/grafana/dashboards/ e escolha um dashboard compatível com InfluxDB

3- Clique em Copy ID no Dash escolhido. No meu exemplo eu escolhi o Dash abaixo criado por **BrughtPattern. **

4- Voltando a página do nosso Grafana, vamos colocar o ID copiado em “Paste Grafana.com dashboard url or id” e clicar em LOAD

5- Ao colocar o ID e clicar em LOAD a tela abaixo será exibida. Essa tela conterá o nome do dashboard importado, onde será salvo e etc. Esses valores são customizáveis e você pode colocar como achar melhor

6- Um print do Dash importado:

Bom, a partir desse post conseguimos instalar e configurar uma pilha de monitoração muito utilizada no mercado e que poucos sabem como fazer funcionar realmente em seu ambiente.

Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !

Posts relacionados

Redirecionar a saída padrão e de erros

Redirecionar a saída padrão e de erros

Quando é executado um comando ou algum script no Linux é possível redirecionar a saída padrão e de erros para não ser printado em tela ou que seja direcionado à algum lugar especifico.

Ler post completo
Escalar privilégios com SUDO

Escalar privilégios com SUDO

O SUDO permite que um usuário execute um comando como super user (root), sendo ele um dos binários do linux que possibilita escalação de privilégio.

Ler post completo
Alterando hostname no Linux [Ubuntu]

Alterando hostname no Linux [Ubuntu]

Acho que todos já instalaram uma máquina virtual ou contrataram um Cloud e se deparou com o nome padrão no Hostname da máquina, geralmente é o SO utilizado.

Ler post completo