Una de las grandes ventajas que nos ofrecen las distribuciones Linux es la posibilidad de ampliar sus recursos y sus servicios ya que, gracias al código abierto, encontramos miles de herramientas y de opciones útiles que harán que las tareas de administración, gestión y opción de entregar a los usuarios más herramientas de trabajo.
Dentro de este extenso mundo de opciones, contamos con una alternativa llamada Tig Stack; la cual está compuesta por tres utilidades de gran alcance como son:
- Grafana
- Telegraf
- InfluxDB
Con Grafana será posible:
- Capacidad de observar y automatizar sistemas clave, infraestructura, aplicaciones y procesos de negocio.
- Analizar y automatizar sensores y dispositivos en tiempo real, los cuales generan información para las tareas de administración.
- Múltiples opciones de instrumentación los cuales detectan patrones de uso y a partir de allí se pueden crear nuevas oportunidades de negocio
Telegraf es altamente escalable gracias a las integraciones que nos permite acceder a métricas, eventos y registros directamente de los contenedores y sistemas en los cuales se está ejecutando la utilidad, y a partir de allí poder extraer métricas de API de terceros o también acceder a métricas de los servicios al consumidor de StatsD y Kafka y como un punto adicional se cuentan con complementos de salida para enviar métricas hacia otras bases o servicios como InfluxDB, Graphite, OpenTSDB, Datadog, Librato, Kafka, MQTT, NSQ y muchos más.
Algunas de sus funciones son:
Ahora, Solvetic explicará cómo instalar este Tig Stack en Ubuntu y de este modo elevar los niveles de servicio de nuestro servidor.
1. Cómo instalar InfluxDB en Ubuntu (Linux)
El primer paso a dar consiste en instalar la serie de tiempo influxdb en el sistema.
Para ello vamos a instalar tanto 'influxdb' como ‘telegraf' desde el mismo repositorio 'influxdata', ya que ambos programas han sido desarrollados por el mismo grupo. Para esto ejecutamos la siguiente línea para agregar la clave de InfluxDB:
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add –
Ahora, vamos a añadir 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
Procedemos a actualizar el repositorio:
sudo apt update
Instalamos el paquete de influxdb con el siguiente comando:
sudo apt install influxdb -y
Después de que la instalación finalice, vamos a iniciar el servicio influxdb y habilitarlo para que se inicie cada vez durante el arranque del sistema con los siguientes comandos:
sudo systemctl start influxdb sudo systemctl enable influxdb
Vamos a comprobar los puertos abiertos en Ubuntu:
netstat -plntu
Allí debemos asegurarnos que los puertos influxdb '8088' y '8086' estén en el estado ESCUCHAR.
2. Cómo crear base de datos y usuario de InfluxDB en Ubuntu Linux
Con el fin de almacenar todos los datos de los agentes de telegraf, será necesario configurar la base de datos y el usuario de influxdb en el sistema. InfluxDB cuenta con la herramienta CLI denominada influx la cual permite interactuar con el servidor InfluxDB.
El comando Influx nos da acceso a la base de datos:
InfluxEsto nos concede el acceso a la base de datos:
Allí vamos a añadir lo siguiente:
create database telegraf create user telegraf with password 'contraseña'Esto creara un usuario telegraf con la contraseña que asignemos. Si deseamos comprobar la base de datos creada junto a su usuario ejecutamos:
show databases show users
3. Cómo instalar el agente de Telegraf en Ubuntu Linux
Puesto que Telegraf ha sido creado por influxdata, la cual creo también influxdb; por ello, cuando se agregó la clave y el repositorio de influxdata al sistema, es posible instalar ambas aplicaciones.
para esto ejecutamos la siguiente línea:
sudo apt install telegraf -y
Ahora vamos a iniciar el servicio de telegrafía y habilitarlo para que se inicie cada vez que se inicia Ubuntu:
sudo systemctl start telegraf sudo systemctl enable telegraf
Para comprobar su estado ejecutamos la siguiente línea y podemos ver que su estado es activo y ejecutándose.
sudo systemctl status telegraf
4. Cómo configurar Telegraf en Ubuntu Linux
Telegraf es un agente basado en complementos y cuenta con 4 tipos de complementos de concepto que son:
- A través de los 'Plugins de entrada' para recopilar métricas.
- Con los 'Plugins de procesador' para transformar, gestionar y filtrar métricas.
- Tomando los ‘Complementos de adición' para crear y agregar métricas.
- Con los 'Complementos de salida' con el fin de escribir métricas en múltiples destinos, incluido influxdb.
Para configurarlo iremos al directorio respectivo así:
cd /etc/telegraf/Luego, renombraremos el archivo original:
mv telegraf.conf telegraf.conf.default
Ahora crearemos un archivo de configuración llamado telegraf.conf con algún editor de texto, en este caso con nano:
sudo nano telegraf.confEn este nuevo archivo pegaremos la siguiente configuración:
# Global Agent Configuration [agent] hostname = "solvetic" 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 = "*********"
Guardamos los cambios usando las teclas:
Ctrl + O
Después pulsaremos lo siguiente para salir del editor.
Ctrl +X
Telegraf integra el comando telegraf con el fin de administrar la configuración, incluyendo la generación de la configuración.
Para ello ejecutamos lo siguiente:
telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf cat telegraf.confLuego de esto podemos reiniciar el servicio ejecutando:
sudo systemctl restart telegrafSerá posible validar la configuración de Telegraf ejecutando las siguientes líneas:
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
5. Como instalar Grafana en Ubuntu Linux
El primer paso es añadir la clave de Grafana:
sudo curl https://packagecloud.io/gpg.key | sudo apt-key add –
Luego añadimos el repositorio:
echo 'deb https://packagecloud.io/grafana/stable/debian/ stretch main' > /etc/apt/sources.list.d/grafana.list
Después de esto actualizamos los paquetes e instalamos Grafana:
sudo apt update sudo apt install grafana -yOtra opción para instalar Grafana es ejecutando las siguientes líneas:
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.1.4_amd64.deb sudo apt-get install -y adduser libfontconfig sudo dpkg -i grafana_5.1.4_amd64.debUna vez sea instalado, vamos a iniciar el servicio y habilitarlo en el arranque:
sudo systemctl start grafana-server sudo systemctl enable grafana-server
Comprobamos los puertos:
netstat -plntu
6. Cómo acceder a Grafana en Ubuntu Linux
Ahora, vamos a algún navegador y ejecutamos en una nueva pestaña la siguiente sintaxis:
http://Direcion_IP:3000/Este será el entorno de Grafana y en primer lugar accedemos con el usuario y contraseña admin. Pulsamos en el botón "Login".
Al acceder veremos lo siguiente. Allí damos clic en el botón Add data source con el fin de añadir los recursos de la base de datos.
En la ventana desplegada ingresaremos lo siguiente en la sección Settings:
influxdb
influxdb
http://localhost:8086/
En la parte inferior en la sección InfluxDB Details ingresamos:
telegraf
telegraf
'contraseña'
Pulsamos en el botón Save & Test para validar la configuración
El resultado será el siguiente:
7. Cómo configurar el tablero de Grafana en Ubuntu Linux
Una vez se haya agregado influxdb como fuente de datos al servidor Grafana, vamos a importar el tablero de Grafana basado en la configuración de los complementos de entrada de Telegraf.
Grafana proporciona el repositorio de complementos y paneles de Grafana por medio de:
- Plugins de Grafana
- Grafana Dashboards
Ahora, iremos a la siguiente dirección web:
Allí pulsamos en el botón Copy the ID to Clipboard.
Automáticamente este será añadido en Grafana.
Ahora, en la parte inferior, en el campo InfluxDB seleccionamos nuestra base de datos InfluxDB. Pulsamos en el botón "Import".
Luego de un momento podremos ver el registro que Grafana tomara del servidor:
Podemos ver en detalle numerosos aspectos del servidor lo cual es de mucha utilidad para administradores y personal de soporte.
Así, Tig Stack es una solución integral para usar diversas herramientas en Ubuntu y lograr no solo un mejor nivel de recursividad sino también de accesos y gráficos.