Conexión de 3CX a MySQL Independiente y Grafana
- Introducción
- Requisitos Previos
- Paso 1: Prepare MySQL
- Configure su Base de Datos MySQL
- Permita Conexiones Remotas a la Base de Datos
- Reinicie su Base de Datos MySQL para Aplicar los Cambios Anteriores
- Crear un Usuario y una Base de Datos MySQL Dedicados
- Crear la Base de Datos
- Crear Usuario
- Conceder Permisos
- Configurar el Firewall (si Procede)
- Paso 2: Configurar el Conector de Datos en 3CX
- Paso 3: Conectar Grafana a la Instancia MySQL
Introducción
Esta guía está dirigida a sistemas que ejecutan V20 Update 7 y proporciona un proceso conciso para conectar su sistema telefónico 3CX a una base de datos MySQL para su uso con Grafana para la visualización de datos y la generación de reportes.
Requisitos Previos
- Un servidor MySQL en funcionamiento.
- Acceso administrativo a su servidor MySQL.
- Acceso a la Consola de Administración de 3CX.
- Una licencia 3CX 16SC+ (necesaria para la funcionalidad del Conector de Datos).
- Conocimientos básicos sobre administración de MySQL y SQL.
Paso 1: Prepare MySQL
Configure su Base de Datos MySQL
Después de instalar su Base de Datos MySQL, realice los siguientes cambios en la configuración:
Habilite local_infile en la configuración de MySQL. Asegúrese de habilitar el Parámetro Global local_infile, que es crucial para que 3CX transfiera datos de forma eficiente y masiva. Para ello, edite su archivo de configuración de MySQL y agregue o modifique el parámetro local_infile en la sección [mysqld]:
[mysqld] local_infile=1
Permita Conexiones Remotas a la Base de Datos
De forma predeterminada, MySQL permitirá conexiones desde localhost. Deberá permitir conexiones remotas para que el PBX pueda conectarse a la base de datos. Para ello, edite su archivo de configuración de MySQL y agregue o modifique el parámetro bind-address:
bind-address = 0.0.0.0
La ubicación del archivo de configuración de MySQL varía según el sistema operativo:
- Linux: Las ubicaciones más comunes son /etc/mysql/my.cnf, /etc/my.cnf, o /etc/mysql/mysql.conf.d/mysqld.cnf.
- Windows: Normalmente en C:\ProgramData\MySQL\MySQL Server X.Y\my.ini.
Reinicie su Base de Datos MySQL para Aplicar los Cambios Anteriores
Después de editar, reinicie su servicio MySQL para que los cambios surtan efecto:
- Linux: sudo systemctl restart mysql.
- Windows: Reinicie el servicio MySQL desde el Administrador de Servicios.
Crear un Usuario y una Base de Datos MySQL Dedicados
Inicie sesión en MySQL como usuario root o administrativo:
mysql -u root -p
Ingrese su contraseña de root si se le solicita.
Crear la Base de DatosElija un nombre descriptivo para su base de datos CDR (por ejemplo: 3cx_cdr_db).
CREATE DATABASE 3cx_cdr_db;
Elija una contraseña segura para su nuevo usuario CREATE USER 'cdrdb'@'%' IDENTIFIED BY '4zYThcp#KWB2aRmI2t5!P';
CREATE USER 'su_usuario_3cx'@'host' IDENTIFIED BY 'su_contraseña_3cx';
Reemplace "su_usuario_3cx" y "su_contraseña_3cx" con las credenciales que prefiera.
Reemplace 'host' por la dirección IP de su servidor 3CX si desea permitir conexiones a la base de datos solo por parte del PBX, o reemplace 'host' por '%' si desea permitir el acceso desde cualquier lugar.
Ejemplos:
CREATE USER 'usuariodb'@'192.168.10.1' IDENTIFIED BY 'miPass'; – para permitir el acceso solo a una IP. CREATE USER 'usuariodb'@'192.168.10.1' IDENTIFIED BY 'miPass'; – para permitir el acceso desde cualquier IP.
Por último, ejecute los siguientes comandos para establecer los permisos adecuados del usuario en la base de datos.
GRANT INSERT, SELECT, CREATE, ALTER, DROP, INDEX, LOCK TABLES ON 3cx_cdr_db.* TO 'su_usuario_3cx'@'host';
FLUSH PRIVILEGES;
De nuevo, sustituya 3cx_cdr_db, 'su_usuario_3cx' y 'host' según los valores indicados anteriormente.
Configurar el Firewall (si Procede)
Asegúrese de que el firewall de su servidor MySQL permita las conexiones entrantes en el puerto MySQL (por defecto: 3306) desde la dirección IP de su Sistema Telefónico 3CX.
- Linux (por ejemplo: ufw):
sudo ufw allow from <Dirección_IP_3CX_PBX> to any port 3306
sudo ufw reload - Firewall de Windows: Genere una regla de entrada para permitir las conexiones TCP en el puerto 3306 desde la dirección IP de su PBX 3CX.
Paso 2: Configurar el Conector de Datos en 3CX
- En 3CX, vaya a Consola de Administración > Integraciones > Conector de Datos.
- Seleccione "MySQL" e introduzca lo siguiente:
- Host: La Dirección IP o FQDN (si está disponible) del Host en el que instaló MySQL.
- Puero: El puerto de la base de datos (por defecto: 3306).
- Nombre de la Base de Datos: El nombre de la base de datos que creó en el Paso 1.
- Nombre de Usuario: El nombre de usuario del nuevo usuario que ha creado en el Paso 1.
- Contraseña: La contraseña que configuró para su nuevo usuario.
- Tipos de Datos: Elija los datos que desea transferir.
- Frecuencia: Configure la frecuencia de transferencia de datos desde el PBX a su MySQL.
- Guarde la configuración y haga clic en el botón "Probar" de su PBX para verificar la conexión con la base de datos MySQL y confirmar que recibe un mensaje de éxito. Si la prueba falla, compruebe dos veces el host, el puerto, el nombre de la base de datos, el nombre de usuario y la contraseña. Además, compruebe que los firewalls en el host de MySQL o la red permiten conexiones desde la IP de su PBX.
Paso 3: Conectar Grafana a la Instancia MySQL
- Inicie sesión en su instancia de Grafana (por ejemplo: grafana.com o su Grafana auto-hospedado).
- Vaya al menú de configuración de Grafana (icono de engranaje), haga clic en “Fuentes de Datos” y luego haga clic en “Agregar fuente de datos”.
- Busque y seleccione "MySQL".
- Configure la fuente de datos debajo de "Conexión",ingrese los siguientes detalles:
- Host: Ingrese la IP o FQDN y el puerto de su Base de Datos Mysql en el formato: IP/FQDN:3306.
- Base de Datos: El nombre de la base de datos que creó en el Paso 1.
- Usuario: El nombre de usuario del nuevo usuario creado en el Paso 1.
- Contraseña: La contraseña que configuró para su nuevo usuario.
- Haga clic en “Guardar y probar” y compruebe que recibe el mensaje "Conexión de Datos OK". Si se producen errores, vuelva a comprobar los detalles de la conexión y la configuración SSL. Además, verifique que cualquier firewall en el host MySQL o red, permite conexiones desde las IPs de Grafana.
Última Actualización
Este documento se actualizó por última vez el 2 de Junio 2025
https://www.3cx.es/docs/configuracion-mysql/
