Pilha TIG (Telegraf, InfluxDB e Grafana)
- Vinicius Souza
- Linux , Monitoração
- 26 de fevereiro de 2020
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 !