Cómo instalar InfluxDB en CentOS 8

InfluxDB es una base de datos de código abierto y de series temporales desarrollada por InfluxData. Está escrita en Go y diseñada para manejar altas cargas de escritura y consulta. Es conocida por su sencillez y capacidad de rendimiento a escala. Puede ejecutarse en múltiples sistemas operativos y también es compatible con una amplia gama de bibliotecas cliente.

Este tutorial explicará cómo instalar la base de datos de series temporales InfluxDB en CentOS 8.

Requisitos previos

  • Un servidor que ejecute CentOS 8.
  • Una contraseña de root configurada en tu servidor.

Instalar InfluxDB

Por defecto, InfluxDB no está disponible en el repositorio por defecto de CentOS 8. Así que tendrás que crear un repositorio para InfluxDB. Puedes crearlo con el siguiente comando:

nano /etc/yum.repos.d/influxdb.repo

Añade las siguientes líneas:

[influxdb]
name = InfluxDB Repository
baseurl = https://repos.influxdata.com/rhel/8/x86_64/stable/
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key

Guarda y cierra el archivo y luego actualiza la caché del repositorio con el siguiente comando:

dnf makecache

A continuación, instala InfluxDB con el siguiente comando:

dnf -y install influxdb

Una vez completada la instalación, verifica la versión instalada de InfluxDB con el siguiente comando:

rpm -qi influxdb

Deberías obtener la siguiente salida:

Name        : influxdb
Version     : 1.8.4
Release     : 1
Architecture: x86_64
Install Date: Wednesday 07 April 2021 01:24:54 AM EDT
Group       : default
Size        : 174431824
License     : Proprietary
Signature   : RSA/SHA256, Monday 01 February 2021 08:01:46 PM EST, Key ID 684a14cf2582e0c5
Source RPM  : influxdb-1.8.4-1.src.rpm
Build Date  : Thursday 28 January 2021 05:31:21 AM EST
Build Host  : bf85fc4b5de4
Relocations : / 
Packager    : [email protected]
Vendor      : InfluxData
URL         : https://influxdata.com
Summary     : Distributed time-series database.
Description :
Distributed time-series database.

Gestionar el servicio InfluxDB

Puedes iniciar y detener el servicio InfluxDB utilizando el siguiente comando:

systemctl start influxdb
systemctl stop influxdb

Para iniciar InfluxDB al reiniciar el sistema, ejecuta el siguiente comando:

systemctl enable influxdb

Para verificar el estado de InfluxDB, ejecuta el comando siguiente:

systemctl status influxdb

Deberías obtener la siguiente salida:

? influxdb.service - InfluxDB is an open-source, distributed, time series database
   Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-04-07 01:25:11 EDT; 11s ago
     Docs: https://docs.influxdata.com/influxdb/
 Main PID: 48978 (influxd)
    Tasks: 8 (limit: 12524)
   Memory: 7.9M
   CGroup: /system.slice/influxdb.service
           ??48978 /usr/bin/influxd -config /etc/influxdb/influxdb.conf

Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426523Z lvl=info msg="Starting precreation service" log_id=0TMhWB~l000 service=>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426552Z lvl=info msg="Starting snapshot service" log_id=0TMhWB~l000 service=sna>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426570Z lvl=info msg="Starting continuous query service" log_id=0TMhWB~l000 ser>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426616Z lvl=info msg="Starting HTTP service" log_id=0TMhWB~l000 service=httpd a>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426634Z lvl=info msg="opened HTTP access log" log_id=0TMhWB~l000 service=httpd >
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426802Z lvl=info msg="Listening on HTTP" log_id=0TMhWB~l000 service=httpd addr=>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426831Z lvl=info msg="Starting retention policy enforcement service" log_id=0TM>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427033Z lvl=info msg="Listening for signals" log_id=0TMhWB~l000
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427330Z lvl=info msg="Storing statistics" log_id=0TMhWB~l000 service=monitor db>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427779Z lvl=info msg="Sending usage statistics to usage.influxdata.com" log_id=>

Por defecto, InfluxDB escucha en el puerto 8086. Puedes comprobarlo con el siguiente comando:

ss -tunelp | grep 8086

Deberías ver la siguiente salida:

tcp     LISTEN   0        128                    *:8086                *:*       users:(("influxd",pid=49040,fd=14)) uid:987 ino:824427 sk:c v6only:0 <->       

Activar autenticación

Por defecto, InfluxDB está configurado para conectarse sin autenticación. Por tanto, se recomienda proteger InfluxDB con un nombre de usuario y una contraseña.

Para ello, tendrás que habilitar la autenticación en el archivo influxdb.conf.

nano /etc/influxdb/influxdb.conf

Cambia la siguiente línea en la sección [http]:

auth-enabled = true

Guarda y cierra el archivo y reinicia InfluxDB para aplicar los cambios:

systemctl restart influxdb

A continuación, tendrás que crear un usuario admin para autenticar InfluxDB. Puedes crearlo con el siguiente comando:

curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES"

En este punto, InfluxDB está protegido con un nombre de usuario y una contraseña.

Trabajar con InfluxDB

Ahora, puedes conectarte al shell de InfluxDB con el siguiente comando:

influx -username 'admin' -password 'password'

Una vez conectado, deberías obtener la siguiente salida:

Connected to http://localhost:8086 version 1.8.4
InfluxDB shell version: 1.8.4

Ahora, crea una nueva base de datos con el siguiente comando:

> CREATE DATABASE mydb

Para visualizar todas las bases de datos, ejecuta el siguiente comando:

> SHOW DATABASES

Deberías obtener la siguiente salida:

name: databases
name
----
_internal
mydb

Ahora, sal del shell de InfluxDB con el siguiente comando:

> exit

También puedes listar todas las bases de datos sin iniciar sesión en InfluxDB, como se muestra a continuación:

curl -G http://localhost:8086/query -u admin:password --data-urlencode "q=SHOW DATABASES"

Deberías obtener la siguiente salida:

{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"],["mydb"]]}]}]}

Conclusión

¡Enhorabuena! Has instalado correctamente InfluxDB en CentOS 8. Ahora puedes utilizar InfluxDB para manejar una gran cantidad de datos en el entorno de producción.

Scroll al inicio