in Telegraf chronograf debian InfluxDB ~ read.

Como instalar InfluxDB en Debian

Antes de empezar con las instalaciones, comandos, configuraciones etc. vamos a definir el escenario en el que trabajaremos.

  • Por un lado tendremos un servidor, al que a partir de ahora le llamare Servidor (original ante todo). Aquí se instalara InfluxDB junto a Grafana. (Debian 9 Stretch)
  • Por otro lado tendremos un ordenador al que llamaremos Ordenador (un poco mas y me revienta el cerebro buscando nombres) que sera el sujeto que deseamos monitorizar haciendo uso de Telegraf. (Debian 9 Stretch)

Con este esquema en mente, empecemos con la instalación y configuración de InfluxDB.

Necesitamos tener acceso a una linea de comandos del Servidor. Puede ser haciendo uso de ssh o directamente abriendo un terminal. La instalación la realizaremos haciendo uso de los repositorios oficiales de InfluxData, la empresa desarrolladora de InfluxDB, Telegraf, etc. Para ello agregamos la URL del repositorio en sources.list de APT:

[fortu@servidor] [~]$ sudo nano /etc/apt/sources.list

Una vez abierto el archivo con nano, pegamos el siguiente texto al final del mismo:

# Repositorio de InfluxData
deb https://repos.influxdata.com/debian stretch stable

Salimos del editor guardando los cambios. Si te has fijado en la URL podrás ver que hace uso de https. Por defecto Debian no esta configurada para hacer uso de este tipo de repositorios, por lo que es necesario instalar el paquete apt-transport-https:

[fortu@servidor] [~]$ sudo apt install apt-transport-https

El siguiente paso es instalar la clave publica con la que descifrar los paquetes alojados en el repositorio:

[fortu@servidor] [~]$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -

Con esto ya podemos actualizar la lista de paquetes disponibles:

[fortu@servidor] [~]$ sudo apt update

Ya que InfluxDB utiliza la hora del sistema para marcar los registros que almacena, es recomendable instalar ntp y así tener sincronizada la hora entre los distintos equipos. En nuestro caso entre Servidor y Ordenador, de modo que los datos que se tomen de uno y se almacenen en el otro coincidan en la misma linea temporal.

[fortu@servidor] [~]$ sudo apt install ntp

Ahora que ya esta todo preparado, por fin podemos instalar lo que realmente nos interesa:

[fortu@servidor] [~]$ sudo apt install influxdb

Ya tenemos InfluxDB instalado y en marcha. Podemos parar, iniciar o reiniciar el programa haciendo uso de service de la siguiente manera:

[fortu@servidor] [~]$ sudo service influxdb stop
[fortu@servidor] [~]$ sudo service influxdb start
[fortu@servidor] [~]$ sudo service influxdb restart

Bien, ya esta instalado y a la espera de contenido. Joder, pues no ha sido para tanto pensareis, y en parte tenéis razón. Lo malo es que la configuración básica que trae la instalación es muy permisiva, cualquiera puede crear bases de datos incluso borrar las existentes.

Para evitar esto vamos configurar InfluxDB debidamente y para ello instalaremos Chronograf, una GUI vía web que nos facilitara tarea.

La instalación tampoco tiene mucho misterio:

[fortu@servidor] [~]$ sudo apt install chronograf

Una vez instalado para poder acceder al mismo, abrimos un navegador web y entramos en http://[DIRECCION IP DE SERVIDOR]:8888 y nos encontraremos con la siguiente página:

Chronograf

Tal como está le damos a + Add Connection para conectar con nuestra instalación previa de InfluxDB. A partir de ahora, cada vez que accedamos a esta página conectara automáticamente con nuestro InfluxDB.

Ahora ya podemos cambiar la configuración a nuestro gusto. Lo primero y mas importante es restringir el acceso y así evitar vistas inesperadas. Para ello vamos a crear un usuario llamado almacenero con el que podremos crear bases de datos, insertar información en ellas etc.

Para ello volvemos de Chronograf, y en la parte izquierda vamos ha InfluxDB Admin (el icono con forma de corona). En la parte derecha pulsamos en + Create User y rellenamos el formulario con el nombre almacenero y una contraseña.

Chronograf_create_user_admin

Confirmamos los datos de pulsamos en ✅. Para dar permisos de administrador al usuario recién creado, en el menú desplegable Permissions seleccionamos ALL.

Chronograf_permissions

Una vez creado el usuario almacenero hay que cambiar un parámetro de InfluxDB y así restringa todo el acceso unicamente al usuario que acabamos de crear.

Mediante linea de comandos editamos el archivo de configuración:

[fortu@servidor] [~]$ sudo nano /etc/influxdb/influxdb.conf

Buscamos el apartado [http] y un poco mas abajo encontrareis la linea # auth-enabled = false. Borramos la # y cambiamos false por true, por ultimo guardamos los cambios y salimos.

Reiniciamos InfluxDB para que las modificaciones realizadas surjan efecto:

[fortu@servidor] [~]$ sudo service influxdb restart

Como podréis comprobar si accedemos a chronograf veremos que algunas secciones están inaccesibles. Para evitar esto y poder acceder a ellas, es necesario cambiar la configuración de conexión a InfluxDB indicando las credenciales del usurario almacenero.

En la parte izquierda de Chronograf pulsamos en Configuration (el icono con forma de engranaje). En la parte derecha podremos ver la conexión por defecto que se creo en un principio.

Chronograf_edit_connection

Pulsamos sobre InfluxDB (Default) y metemos nuestras credenciales de almacenero:

Chronograf_edit_connection_2

Confirmamos los cambios pulsando en Save Changes.

Resumiendo, ya tenemos instalado y configurado InfluxDB debidamente, con acceso exclusivo para la creación de contenido con el usuario almacenero.

Lo siguientes pasos a seguir serian: crear una base de datos vaciá e insuflar datos haciendo uso de Telegraf. Pero esta parte ya la explicare en otro articulo.

Continuara...


Si no pilláis el hilo de este artículo, pasaros por los ya publicados:

  1. Grafana, InfluxDB y Telegraf en Debian.
  2. Como instalar InfluxDB en Debian.
  3. Como instalar Telegraf en Debian.
  4. Como instalar Grafana en Debian.
comments powered by Disqus