Instalando o Telegraf + InfluxDB + Cronógrafo + Grafana
É hora de dar um pouco de Telegraf, Tenho alguns posts pendentes que acho que podem ser interessantes, Então, se você acha que está tudo bem, Hoje vamos ver como montar a base, InfluxDB para armazenar métricas, Chronograf como espectador nativo; e, Como você não pôde, Grafana, Porque todos sabemos que é o melhor visualizador de métricas e vamos fazer mágica.
O que eu disse, usaremos este documento como base inicial para unos posts que iremos publicando en el blog para explotar nuestro sistema de monitorización. El stack de TICK (Telegraf, InfluxDB, Chronograf e Kapacitor) nos puede venir genial para abrazar y extender nuestro entorno de monitorización, personalmente para la visualización de determinadas métricas en tiempo real, y para ello el agente de Telegraf nos recopilará los datos que nos interese, los almacenará en nuestro InfluxDB y podremos visualizarlos en Chronograf. Aunque lo dicho, personalmente soy mucho más fan de Grafana por toda su elasticidad, pero Chronograf nos puede venir muy bien para aprender el lenguaje Flux. Ya que bueno, InfluxDB 1.x usaba como lenguaje de consultas InfluxQL y desde la versión 2.x se usa Flux, y a algunos nos cuesta el cambio 🙂
Con Telegraf podremos recopilar métricas del equipo donde instalemos el agente o también de equipos remotos donde no se pueda instalar, Por exemplo, en un switch, y este tipo de máquinas les consultamos mediante SNMP. La idea final es tener unos dashboards de Grafana que nos muestren los datos que recopilemos, e insisto, para mí el punto fuerte es poder tener datos con intervalos de 1 segundo.
Instalación de InfluxDB
InfluxDB es una BD de series de datos TSDB (Time Series Database), de código abierto, mucho más eficiente para almacenar y procesar este tipo de datos. A la hora de publicar el post teníamos la versión 2.1, con los siguientes comandos, descargaremos el repositorio de InfluxDB e instalaremos InfluxDB, además de levantar el servicio y verificar su estado (ah, este post esta basado en un Ubuntu 20.04):
wget -qO- https (em inglês)://repos.influxdata.com/influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null
export DISTRIB_ID=$(lsb_release -si); export DISTRIB_CODENAME=$(lsb_release -sc)
ECO "Deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https (em inglês)://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} estábulo" | sudo tee /etc/apt/sources.list.d/influxdb.list > /dev/null
sudo apt-get update && sudo apt-get install influxdb2
sudo systemctl start influxdb
sudo systemctl status influxdb
sudo systemctl enable influxdb
Instalaremos a continuación Influx CLI, para posteriormente configurar mínimamente InfluxDB y bueno, como cliente CLI de línea de comandos para la gestión en caso de necesitarlo.
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.2.0-linux-amd64.tar.gz tar xvzf influxdb2-client-2.2.0-linux-amd64.tar.gz sudo cp influxdb2-client-2.2.0-linux-amd64/influx /usr/local/bin/ rm -rf influxdb2-client-2.2.0-linux-amd64/
Vamos a configurar InfluxDB con influx CLI, con 'sudo influx setup’ crearemos el usuario, senha, primera organización, y primer bucket para almacenar, la retención de datos para este bucket, y confirmamos:
sudo influx setup > Welcome to InfluxDB 2.0! ? Digite seu nome de usuário principal influx_user ? Digite sua senha ************** ? Digite sua senha novamente ************** ? Digite o nome da sua organização principal Open Services IT ? Digite seu nome de bucket principal Monitor ? Digite seu período de retenção em horas, ou 0 para infinito 0 ? Configuração com esses parâmetros? Nome de usuário: influx_user Organização: Open Services IT Bucket: Monitor Período de Retenção: infinito (y/N) e
Poço, um par de notas ahora, para consultar cual es nuestra organización y su ID, Correr:
sudo influx org list Nome da ID x4473x3a36x4d008 Open Services IT
Y si queremos listar nuestro Token:
sudo influx auth list
ID Description Token User Name User ID Permissions 08xx775x1706000 influx_user's Token Ts... Q== influx_user 08xx1253x3060 [read:/authoriza...
Instalando Chronograf
Para instalar Chronograf, el visualizador de InfluxDB, lo haremos así de rápido:
wget https://dl.influxdata.com/chronograf/releases/chronograf_1.9.1_amd64.deb sudo dpkg -i chronograf_1.9.1_amd64.deb sudo systemctl status chronograf sudo systemctl enable chronograf
Iniciamos o assistente de configuração, Clique em “Começar”,
E preenchermos os seguintes dados:
- Connection URL: IP ou hostname do InfluxDB e a porta (Inadimplência 8086), poderia ser http://127.0.0.1:8086 se for na mesma máquina.
- Connection Name: Indicamos um nome para a ligação.
- Organization: Indicamos o nome da organização do InfluxDB.
- Token: Colamos o Token de acesso.
- Telegraf Database Name: Opcional, se quisermos outro nome de BD, por defeito será chamado 'telegraf'.
Clique em “Add Connection” e finalizamos o assistente de ligação.
Instalando o Telegraf
Poço, obviamente depende do SO onde tivermos que instalar o Telegraf, pois podemos instalá-lo no Windows, Mac, Ubuntu, Centos, RedHat, Debian, contenores… então, se precisares, dá uma olhada no seu Website oficial. Este exemplo seria para sistemas Ubuntu/Debian:
wget -qO- https (em inglês)://repos.influxdata.com/influxdb.key | sudo tee /etc/apt/trusted.gpg.d/influxdb.asc >/dev/null
source /etc/os-release
echo "Deb https://repos.influxdata.com/${ID} ${VERSION_CODENAME} estábulo" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update
sudo apt-get install -y telegraf
El fichero de configuración de Telegraf lo tendremos en '/etc/telegraf/telegraf.conf’ y si lo editamos tendremos infinitas posibilidades de obtención de datos, del equipo local (o de otro remoto en caso necesario). Y esto es lo que iremos viendo en futuros posts, así que lo que os dejo aquí será la configuración común, que será decirle a Telegraf que mande los datos a nuestro InfluxDB, así que la configuración del output sería al menos la siguiente:
... [[outputs.influxdb_v2]] URLs = ["Referências HTTP://DIRECCION_IP_INFLUXDB:8086"] # required organization = "Serviços abertos de TI" bucket = "Monitor" token = "T... Q==" ...
E nada, iniciamos, habilitamos y vemos el estado del servicio de Telegraf con:
sudo systemctl enable telegraf sudo systemctl restart telegraf sudo systemctl status telegraf
Y si volvemos a nuestro Chronograf, y exploramos las métricas de nuestro bucket, podremos comenzar a visualizar que esto ya recopila datos!
Instalando Grafana
Oh, bem, venga acabando que es gerundio… se quisermos, en la misma máquina podemos montar Grafana, y crear un conector contra InfluxDB para pues eso, visualizar, tratar los datos y hacer magia, viendo los datos en mapas, impasse, Queijos, gráficas de barras. Linhas…
sudo apt-get install -y apt-transport-https sudo apt-get install -y software-properties-common wget wget -q -O - https (em inglês)://packages.grafana.com/gpg.key | Sudo apt-key add - ECO "Deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list sudo apt-get update sudo apt-get install -y grafana
E nada, iniciamos, habilitamos y vemos el estado del servicio de Grafana con:
sudo systemctl start grafana-server sudo systemctl status grafana-server sudo systemctl enable grafana-server
Si accedemos con un navegador a http://DIRECCION_IP_GRAFANA:3000 nos validaremos con el usuario predeterminado admin y contraseña admin, que deberemos por favorcito cambiar según nos logueemos.
Lo siguiente será eso, crear un conector contra InfluxDB para visualizar los datos que a futuro almacenemos ahí, Nós vamos “Configuração” > “Data sources” > “Adicionar fonte de dados”.
Mirar el listado, es impresionante de donde podemos visualizar datos… imaginaros las BBDD internas que tengáis en la empresa… venga que me lio, buscamos InfluxDB y lo selecionamos.
Y creamos el conector, indicando:
- Nome: Nombre de la conexión.
- Query Language: Fluxo
- URL: Referências HTTP://DIRECCION_IP_INFLUXDB:8086
- Organization: El nombre de la organización de InfluxDB
- Token: Colamos o Token de acesso.
- Default bucket: Indicamos el bucket que usaremos.
E clicamos em “Salvar & Teste”, se seguimos todos os passos corretamente, isto vai conectar!
E se criarmos um Dashboard novo, criamos um novo Painel, indicamos por exemplo uma Série Temporal, Isto é, a típica visualização de linhas. E colocamos a consulta Flux, já poderemos ver os dados! Agora é hora de brincar com as opções de visualização, outro tipo de Painel… e, claro,, começar a alimentar isto! Se não conhecemos Flux, o mais simples será copiar as queries do Chronograf. Ou… diretamente importar Dashboards no Grafana de pessoas que já os tenham preparado 🙂 E vamos ver muitos exemplos, já vão ver como é fixe…
Contar-vos-ia muitas coisas, mas é tarde, é um post longo e vamos ver em futuros posts muitas ideias que seguramente vão chamar a vossa atenção. Se estiverem aborrecidos dêem uma olhada a coisas que se le pueden añadir a Grafana…
O que eu disse, muchas gracias si has llegado hasta aquí, gracias por compartir en redes sociales, por los likes y esas cosas, que hay que ser agradecido 🙂
¡Éxitos!















































