Telegraf instalatzen + InfluxDB + Chronograf + Grafana
Ya es hora de darle un poco a Telegraf, tengo pendientes unos cuantos posts que creo puedan resultar interesantes, así que si os parece bien, hoy veremos cómo montar la base, InfluxDB para almacenar métricas, Chronograf como su visualizador nativo; eta, como no, Grafana, por que todos sabemos que es el mejor visualizador de métricas y haremos magia.
Esan dut, 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 y 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, adibidez, 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 verify su estado (ah, este post está basado en un Ubuntu 20.04):
wget -qO- https://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)
echo "deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | 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/
InfluxDB influx CLI-rekin konfiguratzeari ekingo diogu, ‘sudo influx setup’ erabiliz’ erabiltzailea sortuko dugu, pasahitza, lehenengo erakundea, eta lehenengo kupela gordetzeko, kupela honek datuen iraupena izango du, eta baieztatzen dugu:
sudo influx setup > Ongietorri InfluxDB-ra 2.0! ? Mesedez, idatzi zure erabiltzaile nagusia influx_user ? Mesedez, sartu pasahitza ************** ? Mesedez, berriro sartu pasahitza ************** ? Mesedez, idatzi zure erakunde nagusiaren izena Open Services IT ? Mesedez, idatzi zure kupel nagusiaren izena Monitor ? Mesedez, idatzi zure iraupen epea orduetan, edo 0 infinituarentzat 0 ? Parametro hauekin konfiguratu? Erabiltzaile izena: influx_user Erakundea: Open Services IT Kupela: Monitor Retention Period: infinite (y/N) eta
Onena, un par de notas ahora, para consultar cual es nuestra organización y su ID, ejecutamos:
sudo influx org list ID Name 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
Comenzamos el asistente de configuración, sustatu “Hasi”,
Y cumplimentamos los siguientes datos:
- Connection URL: IP o hostname de InfluxDB y el puerto (lehenetsitako 8086), podría ser http://127.0.0.1:8086 si es la misma máquina.
- Connection Name: Le indicamos un nombre a la conexión.
- Organization: Indicamos el nombre de la organización de InfluxDB.
- Token: Pegamos el Token de acceso.
- Telegraf Database Name: Opcional, si queremos otro nombre de BD, por defecto se llamará 'telegraf'.
Sakatu on “Add Connection” y finalizamos el asistente de conexión.
Telegraf instalatzen
Onena, obviamente dependerá del SO donde tengamos que instalar Telegraf, ya que podemos instalarlo en Windows, Mac, Ubuntu, Centos, RedHat, Debian, contenedores… así que si necesitas, echa un vistazo a su web ofiziala. Este ejemplo sería para sistemas Ubuntu/Debian:
wget -qO- https://repos.influxdata.com/influxdb.key | sudo tee /etc/apt/trusted.gpg.d/influxdb.asc >//dev/null
iturri /etc/os-release
echo "deb https://repos.influxdata.com/${ID} ${VERSION_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update
sudo apt-get install -y telegraf
Telegraf-en konfigurazio fitxategia '/etc/telegraf/telegraf.conf' -en izango dugu’ eta editatzen badugu datuak lortzeko aukera infinituak izango ditugu, tokiko taldearen (edo beste urruneko bat behar izanez gero). eta hori da etorkizuneko mezuetan ikusiko duguna, beraz hemen uzten dizuedana konfigurazio komuna izango da, hori da Telegrafi esatea gure datuak InfluxDB-ra bidali ditzala, beraz, output-en konfigurazioa gutxienez honako hau izango litzateke:
... [[outputs.influxdb_v2]] urls = ["http://INFLUXDB_IP_HELBIDEA:8086"] # required organization = "Open Services IT" bucket = "Monitor" token = "T...Q==" ...
Eta ezer, hasi, Telegraf-en zerbitzuaren egoera ikusteko eta aktibatzeko:
sudo systemctl enable telegraf sudo systemctl restart telegraf sudo systemctl status telegraf
Eta itzuli gaitezen gure Chronograf-era, eta gure ontziko metrikak esploratzen baditugu, hasi ahal izango dugu datuak jasotzen dituela ikusten!
Grafana instalatuz
Y bueno, emango dugu amaitzen, gerundioa baita… si queremos, bertan makina berean Grafana instalatu dezakegu, eta InfluxDB-rekin konexio bat sortu dezakegu, hori lortzeko, ikusi, datuak tratatu eta magia egin, datuak mapetan ikusten, taulak, quesitos, zutabe-grafikoetan. líneas…
sudo apt-get install -y apt-transport-https sudo apt-get install -y software-properties-common wget wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - echo "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
Eta ezer, hasi, Grafana zerbitzuaren egoera aktibatu eta ikusten dugu:
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í, vamos a “Konfigurazioa” > “Data sources” > “Add data source”.
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 seleccionamos.
Y creamos el conector, indicando:
- Izena: Nombre de la conexión.
- Query Language: Flux
- URL: http://INFLUXDB_IP_HELBIDEA:8086
- Organization: El nombre de la organización de InfluxDB
- Token: Pegamos el Token de acceso.
- Default bucket: Indicamos el bucket que usaremos.
Y pulsamos en “Gorde & Test”, si hemos seguido todos los pasos bien, esto conectará!
Eta dashboard berri bat sortzen badugu, panel berri bat sortzen dugu, adibidez Time Series bat adierazten dugu, edo, bestela, lerroen bistaratzea tipikoa. eta Flux kontsulta jartzen dugu, datuak ikusi ahal izango ditugu! Orain bistaratze aukerekin jolastu behar da, beste motatako panel bat… eta jakina, hau elikatzen hasten! Flux ez badakigu, errazena da Chronograf-etik queries kopiatzea. EDO… Grafana-ra zuzenean besteek prestatutako dashboards inportatzea 🙂 Eta adibide asko ikusi ahal izango ditugu, ikusiko duzue nolakoa den…
Asko kontatuko nizkizueke, baina berandu da, posta luzea da eta etorkizuneko postetan ideia asko ikusiko ditugu, ziur interesa emango dutenak. Aspertuta bazaudete, begiratu cosas Grafana-ri gehitu ahal zaizkiona…
Esan dut, eskerrik asko hemen iritsi bazara, sare sozialen bidez partekatzeagatik eskerrik asko, likeengatik eta horrelako gauzak, eskertua izan behar dela 🙂
Arrakasta!!















































