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.