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

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

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

  1.   Riavviare il servizio PostgreSQL:
  • Windows: net stop postgresql-x64-<version> then net start postgresql-x64-<version> (come amministratore).
  • Linux (Debian): sudo systemctl restart postgresql
  1. 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

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

  1. Su 3CX, navigare in Admin Console > Integrazioni > Connettore dati
  2. 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.
  1. 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

  1. Accedere alla propria istanza di Grafana (ad esempio, grafana.com o Grafana self-hosted).
  2. Accedere al menu di configurazione di Grafana (icona dell'ingranaggio), cliccare su “Data sources” e su “Aggiungi data source”.
  3. Cercare e selezionare “PostgreSQL”.

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

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

Ultimo aggiornamento

Questo documento è stato aggiornato il 15 maggio 2025

https://www.3cx.it/doc/configurazione-postgresql/