Conexión de 3CX a MySQL Independiente y Grafana

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

  1. 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

  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.
  1. 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.
  1. 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 Datos

Elija un nombre descriptivo para su base de datos CDR (por ejemplo: 3cx_cdr_db).


CREATE DATABASE 3cx_cdr_db;


Crear Usuario

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.

Conceder Permisos

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.

  1. 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

  1. En 3CX, vaya a Consola de Administración > Integraciones > Conector de Datos.
  2. 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.
  1. 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.

Configurando el Conector de Datos de 3CX

Paso 3: Conectar Grafana a la Instancia MySQL

  1. Inicie sesión en su instancia de Grafana (por ejemplo: grafana.com o su Grafana auto-hospedado).
  2. 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”.
  3. Busque y seleccione "MySQL".

Seleccione la fuente de datos en GrafanaSeleccione MySQL

  1. 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.

Conexión de la base de datos en Grafana

  1. 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.

Comprobando conexión a la base de datos en Grafana

Última Actualización
Este documento se actualizó por última vez el 2 de Junio 2025
https://www.3cx.es/docs/configuracion-mysql/