将 3CX 连接到独立的 PostgreSQL 和 Grafana

介绍

本指南提供了一个简洁的过程,将您的 3CX 电话系统连接到独立的 PostgreSQL 数据库,以便与 Grafana 一起使用进行数据可视化和报告。

步骤 1:创建 PostgreSQL

  1. 安装 PostgreSQL
  • Windows:下载安装程序 https://www.postgresql.org/download/windows/并按照向导操作。
  • Linux(Debian):sudo apt update && sudo apt install -y postgresql Verify cluster: pg_lsclusters. Create if needed: sudo pg_createcluster <major-version> main --start.
    记住PostgreSQL超级用户密码和安装详细信息(默认端口 5432)。
  1. 创建 PostgreSQL 用户和数据库
  • Windows:打开 psql
  • 然后执行 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>

将username替换成你的用户名, 也包括dbname替换成你的db名称还包括你的your_password

  1. 允许远程连接
  • 编辑 postgresql配置文件
  • Windows: 通常在 C:\Program Files\PostgreSQL\<version>\data\postgresql.conf. 设置 listen_addresses = '*'.
  • Linux (Debian): 通常在 /etc/postgresql/<version>/main/postgresql.conf. 设置 listen_addresses = '*'.
  • 编辑 pg_hba.conf
  • Windows:  通常在 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

如果需要,请替换 <allowed_ip>/<cidr> 以限制访问,例如,允许任何 IP 替换为 0.0.0.0/0。)

  1. 重新启动 PostgreSQL 服务:
  • Windows: net stop postgresql-x64-<version> then net start postgresql-x64-<version> (as administrator).
  • Linux (Debian): sudo systemctl restart postgresql
  1. 授予数据库权限
  • Windows 和 Linux:打开 psql(Windows)或sudo -u postgres psql(Linux)并运行 SQL:
    GRANT ALL PRIVILEGES ON DATABASE your_db TO your_user;

使用您配置的数据库和用户名。

或者:通过脚本快速配置

请注意,这些脚本可能没有得到积极维护,其使用由您自行承担责任。使用管理权限运行脚本时请务必小心。

步骤 2:在 3CX 上配置数据连接器

  1. 在 3CX 上,导航至管理控制台 > 集成 > 数据连接器
  2. 选择 ”PostgreSQL 数据库"并输入以下内容:
  • 主机:安装 PostgreSQL 的主机的 IP 地址或 FQDN(如果可用)。
  • 端口:数据库端口(默认值:5432)。
  • 数据库名称:您在步骤 1 中创建的数据库的名称。
  • 用户名:您在步骤 1 中创建的新用户的用户名。
  • 密码:您为新用户配置的密码
  • 频率:设置从 PBX 到 PostgreSQL 的数据传输频率。
  1. 保存配置并单击测试按钮来验证与 PostgreSQL 数据库的连接,并确认您收到成功消息。如果测试失败,请仔细检查主机、端口、数据库名称、用户名和密码。 另外,请验证 PostgreSQL 主机或网络上的任何防火墙是否允许来自您的 PBX IP 的连接。

Click TEST button to verify the connection on your PBX

请注意:您必须拥有 16SC+ 许可证才能使用 3CX 数据连接器。

步骤3:将 Grafana 连接到 PostgreSQL 实例

  1. 登录您的 Grafana 实例(例如,grafana.com 或您自托管的 Grafana)。
  2. 转到 Grafana 配置菜单(齿轮图标)并单击“数据源" 并点击 "添加数据源“。
  3. 搜索并选择“PostgreSQL“。

  1. “连接”下配置数据源,输入以下详细信息:
  • Host:输入 PostgreSQL 的 IP 或 FQDN 和端口,格式为:IP/FQDN:5432
  • Database:您在步骤 1 中创建的数据库的名称。
  • User:您在步骤 1 中创建的新用户的用户名
  • Password:您为新用户配置的密码

  1. 点击 ”Save & test“并确认您收到了”Data source is working“消息。如果遇到错误,请仔细检查连接详细信息和 SSL 配置。另外,验证 PostgreSQL 主机或网络上的任何防火墙是否允许来自 Grafana IP 的连接。

另请参阅

上次更新

本文件最后更新于 2025 年 5 月 15 日

https://www.3cx.cn/docs/postgresql-configuration/