Collegare il 3CX a MySQL e Grafana standalone

Introduzione

Questa guida è destinata ai sistemi che eseguono V20 Update 7 e fornisce una procedura concisa per collegare il sistema telefonico 3CX a un database MySQL standalone da utilizzare con Grafana per la visualizzazione dei dati e la creazione di report.

Prerequisiti

  • Un server MySQL in esecuzione.
  • Accesso amministrativo al server MySQL.
  • Accesso alla console di amministrazione 3CX.
  • Una licenza 3CX 16SC+ (necessaria per la funzionalità Data Connector).
  • Conoscenza di base dell'amministrazione di MySQL e SQL.

Passo 1: Preparare MySQL

  1. Configurare il database MySQL

Dopo aver installato il database MySQL, apportare le seguenti modifiche alla configurazione:

Abilitare local_infile nella configurazione MySQL. Assicurarsi di abilitare il parametro globale local_infile, fondamentale per consentire a 3CX di trasferire in modo efficiente grandi quantità di dati. A tal fine, modificare il file di configurazione MySQL e aggiungere o modificare il parametro local_infile nella sezione [mysqld]:

[mysqld]

local_infile=1

  1. Consenti connessioni remote al database

Per impostazione predefinita, MySQL consentirà le connessioni da localhost. Sarà necessario consentire le connessioni remote in modo che il PBX possa connettersi al database. A tal fine, modificare il file di configurazione MySQL e aggiungere o modificare il parametro bind-address:

bind-address = 0.0.0.0

La posizione del file di configurazione di MySQL varia a seconda del sistema operativo:

  • Linux: Le posizioni comuni includono  /etc/mysql/my.cnf,  /etc/my.cnf o  /etc/mysql/mysql.conf.d/mysqld.cnf.
  • Windows: In genere in C:\ProgramData\MySQL\MySQL Server X.Y\my.ini.
  1. Riavvia il database MySQL per applicare le modifiche sopra indicate

Dopo aver apportato le modifiche, riavvia il servizio MySQL affinché queste abbiano effetto:

  • Linux: Sudo systemctl restart mysql
  • Windows: Riavvia il servizio MySQL dal Gestore servizi.
  1. Creare un utente e un database MySQL dedicati

Accedere a MySQL come utente root o amministratore:    

mysql -u root -p

Immettere la password root se richiesta.

Creare il database

Scegliere un nome descrittivo per il database CDR (ad esempio, 3cx_cdr_db).


CREATE DATABASE 3cx_cdr_db;


Creare un utente

Scegliere una password complessa per il nuovo utente CREATE USER 'cdrdb'@'%' IDENTIFIED BY '4zYThcp#KWB2aRmI2t5!P';

CREATE USER 'our_3cx_user'@'host' IDENTIFIED BY 'your_3cx_user_password';

Sostituire “your_3cx_user” e “your_3cx_user_password” con le credenziali desiderate.

Sostituire “host” con l'indirizzo IP del tuo server 3CX se desideri consentire le connessioni al database solo dal PBX, oppure sostituisci ‘host’ con “%” se desideri consentire l'accesso da qualsiasi luogo.

Esempi:

CREATE USER 'dbuser'@'192.168.10.1' IDENTIFIED BY 'myPass'; –  per consentire l'accesso solo a un IP

CREATE USER 'dbuser'@'%' IDENTIFIED BY 'myPass'; – per consentire l'accesso da qualsiasi IP

Concedi autorizzazioni

Infine, esegui i seguenti comandi per impostare le autorizzazioni appropriate dell'utente al database.

GRANT INSERT, SELECT, CREATE, ALTER, DROP, INDEX, LOCK TABLES ON 3cx_cdr_db.* TO 'your_3cx_user'@'host';

FLUSH PRIVILEGES;

Anche in questo caso, sostituire 3cx_cdr_db, “your_3cx_user” e “host” in base ai valori indicati sopra

  1. Configurare il firewall (se applicabile)

Assicurati che il firewall del server MySQL consenta le connessioni in entrata sulla porta MySQL (impostazione predefinita: 3306) dall'indirizzo IP del sistema telefonico 3CX.

  • Linux (e.g., ufw):
    sudo ufw allow from <3CX_PBX_IP_Address> a qualsiasi porta 3306
    sudo ufw reload
  • Windows Firewall: Creare una regola in entrata per consentire le connessioni TCP sulla porta 3306 dall'indirizzo IP del PBX 3CX.

Passo 2: Configurare il connettore dati su 3CX

  1. Su 3CX, accedere a Console di amministrazione > Integrazioni > Connettore dati
  2. Selezionare “MySQL” e inserire quanto segue:
  • Host: L'indirizzo IP o FQDN (se disponibile) dell'host su cui è stato installato MySQL.
  • Porta: La porta del database (impostazione predefinita: 3306).
  • Nome database: Il nome del database creato nel passo 1.
  • Nome utente: Il nome utente del nuovo utente creato nel passo 1.
  • Password: La password configurata per il nuovo utente
  • Tipi di dati: Scegli quali dati desideri trasferire.
  • Frequenza: Impostare la frequenza di trasferimento dei dati dal PBX al database MySQL.
  1. Salvare la configurazione e cliccare sul pulsante “Test” sul tuo centralino per verificare la connessione al database MySQL e confermare che ricevi un messaggio di successo. Se il test fallisce, ricontrollare l'host, la porta, il nome del database, il nome utente e la password. Inoltre, verificare che eventuali firewall sull'host MySQL o sulla rete consentano le connessioni dall'IP del tuo PBX.

Passo 3: Collegare Grafana all'istanza MySQL

  1. Accedere all'istanza Grafana (ad esempio grafana.com o Grafana self-hosted).
  2. Andare al menu di configurazione di Grafana (icona a forma di ingranaggio), Cliccare su “Origini dati” e quindi su “Aggiungi origine dati”.
  3. Cercare e selezionare “MySQL”.

  1. Configurare l'origine dati in “Connessione” e inserisci i seguenti dettagli:
  • Host: Inserisci l'IP o l'FQDN e la porta del tuo database Mysql nel formato: IP/FQDN:3306
  • Database: Il nome del database che hai creato nel passo 1.
  • Utente: Il nome utente del nuovo utente che hai creato nel passo 1
  • Password: La password che hai configurato per il tuo nuovo utente

  1. Cliccare su “Salva e verifica” e verificare di ricevere il messaggio “Connessione dati OK”. Se riscontri degli errori, ricontrollare i dettagli della connessione e la configurazione SSL. Verificare inoltre che eventuali firewall sull'host o sulla rete MySQL consentano le connessioni dagli IP Grafana.

Ultimo aggiornamento
Questo documento è stato aggiornato il 12 giugno 2026
https://www.3cx.it/doc/configurazione-mysql/