Collegare 3CX a PostgreSQL & Grafana
Introduzione
Questa guida fornisce una procedura concisa per collegare il sistema telefonico 3CX a un database PostgreSQL autonomo da utilizzare con Grafana per la visualizzazione dei dati e la creazione di report.
Passo 1: Creare un PostgreSQL
- Installare PostgreSQL
- Windows: Scaricare il programma di installazione da https://www.postgresql.org/download/windows/ e seguire la procedura guidata.
- Linux (Debian): sudo apt update && sudo apt install -y postgresql Verify cluster: pg_lsclusters. Create if needed: sudo pg_createcluster <major-version> main --start.
Ricordare la password del superutente postgres e i dettagli dell'installazione (porta 5432 predefinita).
- Creare l'utente e il database di PostgreSQL
- Windows: Aprire psql.
- Eseguire quindi SQL :
CREATE ROLE your_user WITH LOGIN PASSWORD 'your_password';
CREATE DATABASE your_db OWNER your_user;
- Linux (Debian):
sudo -u postgres createuser <username> -P
sudo -u postgres createdb <dbname> -O <username>
Sostituire your_user/username, your_password e your_db/dbname come necessario.
- Consentire le connessioni remote
- Modificare postgresql.conf:
- Windows: In genere in C:\Program Files\PostgreSQL\<version>\data\postgresql.conf. Set listen_addresses = '*'.
- Linux (Debian): In genere in /etc/postgresql/<version>/main/postgresql.conf. Set listen_addresses = '*'.
- MOdificare pg_hba.conf:
- Windows: In genere in C:\Program Files\PostgreSQL\<version>\data\pg_hba.conf.
Add: host your_db your_user <allowed_ip>/<cidr> scram-sha-256 - Linux (Debian): /etc/postgresql/<version>/main/pg_hba.conf.
Add: host <dbname> <username> <allowed_ip>/<cidr> scram-sha-256
Sostituire <allowed_ip>/<cidr> per limitare l'accesso se necessario, ad esempio, 0.0.0.0/0 per qualsiasi IP.)
- Riavviare il servizio PostgreSQL:
- Windows: net stop postgresql-x64-<version> then net start postgresql-x64-<version> (come amministratore).
- Linux (Debian): sudo systemctl restart postgresql
- Concessione dei privilegi del database
- Windows & Linux: Aprire psql (Windows) or sudo -u postgres psql (Linux) ed eseguire SQL :
GRANT ALL PRIVILEGES ON DATABASE your_db TO your_user;
Utilizzare il database e i nomi utente configurati.
In alternativa: Configurazione rapida tramite script
- Linux: Come root, eseguire: sudo bash -c "$(wget -qO- https://downloads-global.3cx.com/downloads/misc/postgresql/linuxwizard.zip)" e seguire le indicazioni della procedura guidata
- Windows: Installare PostgreSQL (see Windows installation step s), vedere la fase di installazione di Windows), aprire PowerShell come amministratore ed eseguire: https://downloads-global.3cx.com/downloads/misc/postgresql/windowswizard.zip e seguire le istruzioni della procedura guidata.
Si noti che questi script potrebbero non essere mantenuti attivamente e che il loro utilizzo è sotto la propria responsabilità. Prestare attenzione quando si eseguono gli script con privilegi amministrativi.
Passo 2: Configurare il Data Connector su 3CX
- Su 3CX, navigare in Admin Console > Integrazioni > Connettore dati
- Selezionare “Database PostgreSQL” e inserire quanto segue:
- Host: L'indirizzo IP o FQDN (se disponibile) dell'host su cui è stato installato PostgreSQL.
- Porta: La porta del database (predefinita: 5432).
- Nome del database: Il nome del database creato al punto 1.
- Nome utente: il nome utente del nuovo utente creato al punto 1.
- Password: La password configurata per il nuovo utente.
- Frequenza: Impostare la frequenza di trasferimento dei dati dal PBX a PostgreSQL.
- Salvare la configurazione e cliccare sul pulsante “Test” sul centralino per verificare la connessione al database PostgreSQL e confermare la ricezione di 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 PostgreSQL o sulla rete consentano le connessioni dall'IP del PBX.
Nota bene: è necessario avere una licenza 16SC+ per usare 3CX Data Connector.
Passo 3: Collegare Grafana all'istanza PostgreSQL
- Accedere alla propria istanza di Grafana (ad esempio, grafana.com o Grafana self-hosted).
- Accedere al menu di configurazione di Grafana (icona dell'ingranaggio), cliccare su “Data sources” e su “Aggiungi data source”.
- Cercare e selezionare “PostgreSQL”.
- Configurare l'origine dati alla voce “Connessione”, inserendo i seguenti dettagli:
- Host: Inserire l'IP o il FQDN e la porta di PostgreSQL nel formato: IP/FQDN:5432
- Database: Il nome del database creato al passo 1.
- Utente: Il nome utente del nuovo utente creato al passo 1.
- Password: La password configurata per il nuovo utente.
- Cliccare su “Salva e prova” e verificare che venga visualizzato il messaggio “L'origine dati funziona”. Se si verificano errori, ricontrollare i dettagli della connessione e la configurazione SSL. Inoltre, verificare che eventuali firewall sull'host PostgreSQL o sulla rete consentano le connessioni dagli IP di Grafana.
Per saperne di più
- Connessione di 3CX a Google BigQuery e Grafana
- Collegamento di 3CX a AWS RDS PostgreSQL e Grafana
Ultimo aggiornamento
Questo documento è stato aggiornato il 15 maggio 2025
