InfluxDB es una base de datos de series temporales de código abierto escrita en Go. Optimizado para un almacenamiento rápido y de alta disponibilidad y utilizado como almacén de datos para cualquier caso de uso que involucre grandes cantidades de datos con marca de tiempo, incluido el monitoreo de DevOps, datos de registro, métricas de aplicaciones, datos de sensores de IoT y análisis en tiempo real.
Telegraf es un agente para recopilar, procesar, agregar y escribir métricas. Admite varios complementos de salida como influxdb, Graphite, Kafka, OpenTSDB, etc.
Grafana es una suite de visualización y monitoreo de datos de código abierto. Ofrece soporte para Graphite, Elasticsearch, Prometheus, influxdb y muchas más bases de datos. La herramienta proporciona un hermoso tablero y análisis de métricas, con la capacidad de administrar y crear su propio tablero para el monitoreo del rendimiento de sus aplicaciones o infraestructura.
En este tutorial, le mostraré cómo instalar y configurar TIG Stack (Telegraf, influxdb y Grafana) usando un solo servidor Ubuntu 18.04. Usaremos TIG Stack para monitorear las cargas del sistema, como la red, la memoria RAM, el tiempo de actividad, etc.
Requisitos
- Ubuntu 18.04
- Privilegios de raíz
¿Qué haremos?
- Instalar InfluxDB
- Crear base de datos y usuario de InfluxDB
- Instalar Agente de Telegraf
- Configurar Telegraf
- Instalar Grafana
- Configurar la fuente de datos de Grafana
- Configurar el panel de Grafana
Paso 1:instalar InfluxDB
En este primer paso, instalaremos la base de datos de series temporales influxdb en el sistema Ubuntu. Instalaremos tanto 'influxdb' como 'telegraf' desde el mismo repositorio 'influxdata', ambos software fueron creados por la misma organización.
Agregue la clave de influjo de datos.
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
Agrega el repositorio de influxdata.
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Ahora actualice el repositorio e instale el paquete 'influxdb' usando el comando apt a continuación.
sudo apt update
sudo apt install influxdb -y
Una vez completada la instalación, inicie el servicio influxdb y permita que se inicie cada vez que se inicie el sistema.
sudo systemctl start influxdb
sudo systemctl enable influxdb
Ahora verifique los puertos abiertos en el sistema.
netstat -plntu
Y asegúrese de obtener los puertos influxdb '8088' y '8086' en el estado 'LISTEN'.
Paso 2:crear la base de datos y el usuario de InfluxDB
Para almacenar todos los datos de los agentes de Telegraf, debemos configurar la base de datos y el usuario de influxdb.
InfluxDB proporciona la herramienta CLI denominada 'influx' para interactuar con un servidor InfluxDB. El comando Influx es como 'mysql' en MySQL y 'mongo' en la base de datos MongoDB.
Ejecute el comando 'influjo' a continuación.
influx
Ahora está conectado al servidor influxdb predeterminado en el puerto '8086'.
Cree una nueva base de datos y el usuario 'telegraf' con la contraseña 'hakase-ndlr' ejecutando las consultas influxdb a continuación.
create database telegraf
create user telegraf with password 'hakase-ndlr'
Ahora revisa la base de datos y el usuario.
show databases
show users
Asegúrese de obtener la base de datos y el nombre de usuario 'telegraf' en el servidor influxdb.
Paso 3:instalar el agente de Telegraf
Telegraf fue creado por 'influxdata', la misma organización que creó influxdb. Entonces, cuando agregamos la clave y el repositorio de influxdata al sistema, significa que podemos instalar ambas aplicaciones.
Instale el paquete telegraf usando el comando apt a continuación.
sudo apt install telegraf -y
Una vez completada la instalación, inicie el servicio Telegraf y habilítelo para que se inicie cada vez que se inicie el sistema.
sudo systemctl start telegraf
sudo systemctl enable telegraf
El agente de Telegraf está funcionando, verifíquelo con el siguiente comando.
sudo systemctl status telegraf
Paso 4 - Configurar Telegraf
Telegraf es un agente basado en complementos y tiene 4 tipos de complementos conceptuales.
- Uso de los 'complementos de entrada' para recopilar métricas.
- Uso de los 'complementos del procesador' para transformar, decorar y filtrar métricas.
- Uso de los 'complementos de agregación' para crear y agregar métricas.
- Y usar los 'Complementos de salida' para escribir métricas en varios destinos, incluido influxdb.
En este paso, configuraremos Telegraf para usar complementos de entrada básicos para recopilar métricas del sistema del servidor y usar influxdb como complemento de salida.
Vaya al directorio '/etc/telegraf' y cambie el nombre del archivo de configuración predeterminado.
cd /etc/telegraf/
mv telegraf.conf telegraf.conf.default
Ahora cree otra nueva configuración 'telegraf.conf' usando vim editor.
vim telegraf.conf
Pegue las configuraciones a continuación.
# Global Agent Configuration [agent] hostname = "hakase-tig" flush_interval = "15s" interval = "15s" # Input Plugins [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"] [[inputs.io]] [[inputs.mem]] [[inputs.net]] [[inputs.system]] [[inputs.swap]] [[inputs.netstat]] [[inputs.processes]] [[inputs.kernel]] # Output Plugin InfluxDB [[outputs.influxdb]] database = "telegraf" urls = [ "http://127.0.0.1:8086" ] username = "telegraf" password = "hakase-ndlr"
Guardar y salir.
Telegraf proporciona el comando Telegraf para administrar la configuración, incluida la generación de la configuración en sí, ejecute el comando como se muestra a continuación.
telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf
cat telegraf.conf
Reinicie el servicio Telegraf y asegúrese de que no haya ningún error.
sudo systemctl restart telegraf
Ahora prueba la configuración de Telegraf usando el siguiente comando.
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem
La configuración de InfluxDB y Telegraf se ha completado.
Paso 6 - Instalar Grafana
En este paso, instalaremos el hermoso Grafana Dashboard para la visualización de datos.
Agregue la clave y el repositorio de grafana.
sudo curl https://packagecloud.io/gpg.key | sudo apt-key add -
echo 'deb https://packagecloud.io/grafana/stable/debian/ stretch main' > /etc/apt/sources.list.d/grafana.list
Actualice el repositorio e instale el paquete grafana usando el comando apt a continuación.
sudo apt update
sudo apt install grafana -y
Una vez completada la instalación, inicie el servicio grafana y permita que se inicie cada vez que se inicie el sistema.
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
El servidor de grafana está funcionando en el puerto predeterminado '3000', verifíquelo usando netstat.
netstat -plntu
Y obtendrá el resultado como se muestra a continuación.
Paso 7:configurar la fuente de datos de Grafana
Abra su navegador web y escriba la dirección IP del servidor con el puerto 3000.
http://192.168.33.15:3000/
Inicie sesión con el usuario predeterminado 'admin' y la contraseña 'admin'.
Ahora se le solicitará la página para cambiar la contraseña predeterminada, escriba su nueva contraseña y haga clic en el botón 'Guardar'.
Y será redirigido al Panel de Grafana predeterminado.
Haga clic en el botón 'Agregar fuente de datos' para agregar la fuente de datos influxdb.
Escriba detalles sobre las configuraciones del servidor influxdb.
- Nombre:influxdb
- Tipo:influxdb
- URL:http://localhost:8086/
Desplácese hasta la página inferior y escriba los detalles de la configuración de la base de datos influxdb.
- Base de datos:telégrafo
- Usuario:telégrafo
- Contraseña:'hakase-ndlr'
Haga clic en el botón 'Guardar y probar' y asegúrese de obtener el resultado 'La fuente de datos funciona'.
La fuente de datos InfluxDB se ha agregado al servidor Grafana.
Paso 8:configurar el panel de Grafana
Después de agregar influxdb como fuente de datos al servidor de grafana, en este paso importaremos el tablero de grafana según nuestra configuración de complementos de entrada de Telegraf.
Grafana proporciona el repositorio de complementos y paneles de Grafana.
- Complementos de Grafana
- Paneles de control de Grafana
Para importar el tablero de grafana, haga clic en el menú '+' en el panel izquierdo y haga clic en 'Importar'.
Ahora abra el panel de Grafana de muestra desde la URL 'https://grafana.com/dashboards/5955' y haga clic en el botón 'Copiar la ID al Portapapeles'.
Pegue la identificación del tablero.
Y será redirigido automáticamente a la configuración del tablero.
En la sección de opciones, haga clic en InfluxDB y elija su servidor influxdb, luego haga clic en el botón 'Importar'.
Y debajo hay algunas capturas de pantalla del tablero importado.
La instalación de TIG Stack (Telegraf, InfluxDB y Grafana) en Ubuntu 18.04 se completó con éxito.