LinuxRaspberry

Configurar o Telegraf para enviar dados ao influxDB

Nesse outro artigo mostrei como utilizar o Grafana com o InfluxDB como data source e o Telegraf como data collector. Agora vou mostrar como Configurar o Telegraf para colocar seus hosts no dashboard do Grafana. Essa configuração farei no Raspberry para gerar um dashboard com informações do sistema e vou aproveitar para mostrar como criar um coletor de métricas personalizado.

Instalar o Telegraf

Como no artigo supracitado construimos uma imagem Docker e fizemos todas as configurações pelo browser, não deu pra perceber como funciona a inclusão de hosts no dashboard.

Bem, a começar pelo conceito; utilizamos o Grafana para exibir belos gráficos, utilizamos o InfluxDB como data source, sendo que o InfluxDB é um banco de dados chamado de “time series” e utilizamos o Telegraf como agente. Esse agente se encarrega de fazer as coletas e enviar os dados para o banco de dados, que por sua vez é consultado pelo Grafana, dentro do intervalo de tempo padrão (que pode ser personalizado) de 10 segundos. Para configurar esse agente é muito simples, apenas algumas linhas no arquivo de configuração são necessárias para que ele inicie a coleta. Mãos à obra.

Adicionar repositório no Raspbian

O primeiro passo é adicionar o repositório no Raspbian. Para tal, execute:

Se estiver instalando em um Debian ou seus derivados, o processo é um pouco diferente aqui:

Supondo que tenha optado por instalar no Raspberry, o próximo passo é copiar as estruturas do diretório telegraf para a raíz do sistema. Ainda como root:

Configurar o Telegraf

Entre no diretório /etc/telegraf, edite o arquivo telegraf.conf e mude os parâmetros:

Agora você pode criar um serviço ou chamá-lo a partir de de um script de inicialização do sistema ou ainda, executá-lo diretamente pela linha de comando:

Se estiver rodando em um Linux convencional, inicie o serviço com:

Agora já podemos criar um dashboard com informações do Raspberry. Leia o artigo anterior para entender daqui pra frente. A configuração para pegar a CPU utilizada pelo sistema e pelo usuário ficou assim:

Configurar o Telegraf

 

E a partir daí é só ir criando as métricas que deseja visualizar.

Antes de vermos como colocar uma métrica personalizada, dê uma olhada em 3 ítens que resolvi colocar no dashboard:

Configurar o Telegraf

Como criar uma métrica personalizada

Com o Telegraf é bastante simples de se fazer e o melhor, você pode criar seu coletor de métricas na linguagem de programação que preferir. Para exemplificar, criaremos um gerador de dados fake em shell script.

Coletor em shell script

Para testar, escrevi um script de uma linha, apenas para enviar os dados ao InfluxDB. Como estamos utilizando o InfluxDB como receptor dos dados, devemos simplesmente escrever o header do shell e uma linha de comando:

Isso gerará números randômicos entre 1 e 150.

Adicionar o usuário telegraf

O dono e o grupo do arquivo fake.sh devem ser telegraf. Adicionemo-lo:

Siga o ritual da adição e então mude as propriedades do arquivo (supondo que ele esteja em /usr/bin):

Configurar o Telegraf

Agora precisamos incluir uma configuração no arquivo /etc/telegraf/telegraf.conf relacionada ao nosso script. Edite o arquivo com seu editor preferido e então adicione essas linhas na sessão [[inputs.system]]:

Reinicie o telegraf e adicione a saída de sua métrica ao Grafana:

Configurar o Telegraf
Adicionar a métrica – Configurar o Telegraf

 

O resultado é a imagem de destaque desse artigo. Fácil ou não?

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR

https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR

https://www.facebook.com/groups/raspberrybr/
Orange Pi BR

https://www.facebook.com/groups/OrangePiBR/
Odroid BR

https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR

https://www.facebook.com/groups/SistemasEmbarcadosBR/

Sistemas Eletrônicos

https://www.facebook.com/groups/544679592355388/

Projetos Arduino | Eletrônica

https://www.facebook.com/groups/projetosarduinoeletronica/

ESP8266 e ESP32

https://www.facebook.com/groups/ESP8266BR/

ARM Brasil

https://www.facebook.com/groups/508153815944410/

MIPS BR

https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte

https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!