Łączenie 3CX z samodzielną bazą MySQL i Grafana

Wprowadzenie

Ten przewodnik jest przeznaczony dla systemów działających na wersji V20 Update 7 i opisuje zwięzły proces łączenia systemu telefonicznego 3CX z samodzielną bazą danych MySQL w celu wizualizacji danych i raportowania za pomocą narzędzia Grafana.

Wymagania wstępne

  • Działający serwer MySQL.
  • Dostęp administracyjny do serwera MySQL.
  • Dostęp do Konsoli Administracyjnej 3CX.
  • Licencja 3CX 16SC lub wyższa (wymagana dla funkcjonalności konektora danych).
  • Podstawowa wiedza z zakresu administracji MySQL oraz języka SQL.

Krok 1: Przygotowanie bazy danych MySQL

  1. Konfiguracja bazy danych MySQL

Po zainstalowaniu bazy danych MySQL wprowadź następujące zmiany w konfiguracji:

Włącz parametr local_infile w konfiguracji MySQL. Upewnij się, że włączyłeś globalny parametr local_infile, który jest kluczowy dla sprawnego, masowego przesyłania danych przez 3CX. Aby to zrobić, edytuj plik konfiguracyjny MySQL i dodaj lub zmodyfikuj parametr local_infile w sekcji [mysqld]:

[mysqld]

local_infile=1

  1. Zezwalanie na połączenia zdalne do bazy danych

Domyślnie MySQL pozwala na połączenia tylko z hosta lokalnego (localhost). Musisz zezwolić na połączenia zdalne, aby centrala PBX mogła połączyć się z bazą danych. Aby to zrobić, edytuj plik konfiguracyjny MySQL i dodaj lub zmodyfikuj parametr bind-address:

bind-address = 0.0.0.0

Lokalizacja pliku konfiguracyjnego MySQL różni się w zależności od systemu operacyjnego:

  • Linux: Typowe lokalizacje to /etc/mysql/my.cnf, /etc/my.cnf lub /etc/mysql/mysql.conf.d/mysqld.cnf.
  • Windows: Zazwyczaj w lokalizacji C:\ProgramData\MySQL\MySQL Server X.Y\my.ini.
  1. Ponowne uruchomienie bazy danych MySQL w celu zastosowania zmian

Po edycji pliku uruchom ponownie usługę MySQL, aby zmiany weszły w życie:

  • Linux: sudo systemctl restart mysql
  • Windows: Zrestartuj usługę MySQL z poziomu Menedżera Usług (Services Manager).
  1. Tworzenie dedykowanego użytkownika i bazy danych MySQL

Zaloguj się do MySQL jako root lub użytkownik z uprawnieniami administracyjnymi:

mysql -u root -p

Wpisz hasło roota, jeśli zostaniesz o to poproszony.

Tworzenie bazy danych

Wybierz opisową nazwę dla swojej bazy danych CDR (np. 3cx_cdr_db).


CREATE DATABASE 3cx_cdr_db;


Tworzenie użytkownika

Wybierz silne hasło dla swojego nowego użytkownika. Przykład: CREATE USER 'cdrdb'@'%' IDENTIFIED BY '4zYThcp#KWB2aRmI2t5!P';

CREATE USER 'nasz_uzytkownik_3cx'@'host' IDENTIFIED BY 'twoje_haslo_uzytkownika_3cx';

Zastąp nasz_uzytkownik_3cx oraz twoje_haslo_uzytkownika_3cx wybranymi poświadczeniami.

Zastąp 'host' adresem IP serwera 3CX, jeśli chcesz zezwolić na połączenia z bazą tylko dla centrali PBX, lub zastąp 'host' znakiem '%', jeśli chcesz zezwolić na dostęp z dowolnego miejsca.

Przykłady:

CREATE USER 'uzytkownik_db'@'192.168.10.1' IDENTIFIED BY 'mojeHaslo'; – aby zezwolić na dostęp tylko z konkretnego IP

CREATE USER 'uzytkownik_db'@'%' IDENTIFIED BY 'mojeHaslo'; – aby zezwolić na dostęp z dowolnego adresu IP

Nadawanie uprawnień

Na koniec wykonaj następujące polecenia, aby ustawić odpowiednie uprawnienia użytkownika do bazy danych:

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


FLUSH PRIVILEGES;

Ponownie zastąp 3cx_cdr_db, nasz_uzytkownik_3cx oraz host wartościami podanymi powyżej.

  1. Konfiguracja zapory sieciowej (jeśli dotyczy)

Upewnij się, że zapora sieciowa Twojego serwera MySQL zezwala na połączenia przychodzące na port MySQL (domyślnie: 3306) z adresu IP Twojego systemu telefonicznego 3CX.

  • Linux (np. ufw):
    sudo ufw allow from <Adres_IP_PBX_3CX> to any port 3306

sudo ufw reload

  • Windows Firewall: Utwórz regułę przychodzącą, aby zezwolić na połączenia TCP na porcie 3306 z adresu IP Twojej centrali 3CX PBX.

Krok 2: Konfiguracja konektora danych (Data Connector) w 3CX

  1. W Konsoli Administracyjnej 3CX przejdź do Admin > „Integrations” (Integracje) > „Data Connector”.
  2. Wybierz „MySQL” i wprowadź następujące dane:
  • Host: Adres IP lub nazwa FQDN (jeśli jest dostępna) hosta, na którym zainstalowano serwer MySQL.
  • Port: Port bazy danych (domyślnie: 3306).
  • Database Name: Nazwa bazy danych utworzonej w kroku 1.
  • Username: Nazwa użytkownika dla nowego użytkownika utworzonego w kroku 1.
  • Password: Hasło skonfigurowane dla nowego użytkownika.
  • Data Types: Wybierz, jakie dane mają zostać przesłane.
  • Frequency: Ustaw częstotliwość transferu danych z centrali PBX do serwera MySQL.
  1. Zapisz konfigurację i kliknij przycisk „Test” w swojej centrali, aby zweryfikować połączenie z bazą danych MySQL i potwierdzić otrzymanie komunikatu o sukcesie. Jeśli test się nie powiedzie, sprawdź ponownie hosta, port, nazwę bazy, użytkownika i hasło. Upewnij się także, że wszelkie zapory sieciowe na hoście MySQL lub w sieci zezwalają na połączenia z adresu IP Twojej centrali PBX.

Krok 3: Połączenie Grafana z instancją MySQL

  1. Zaloguj się do swojej instancji Grafana (np. grafana.com lub własna hostowana instancja Grafana).
  2. Przejdź do menu konfiguracji Grafana (ikona koła zębatego), kliknij „Data Sources” (Źródła danych) i kliknij „Add data source” (Dodaj źródło danych).
  3. Wyszukaj i wybierz „MySQL”.

  1. Skonfiguruj źródło danych w sekcji „Connection” (Połączenie), wprowadzając następujące szczegóły:
  • Host: Wprowadź adres IP lub FQDN oraz port swojej bazy danych MySQL w formacie: IP/FQDN:3306.
  • Database: Nazwa bazy danych utworzonej w kroku 1.
  • User: Nazwa użytkownika dla nowego użytkownika utworzonego w kroku 1.
  • Password: Hasło skonfigurowane dla nowego użytkownika.

  1. Kliknij „Save & test” (Zapisz i przetestuj) i zweryfikuj, czy otrzymałeś komunikat „Data Connection OK”. Jeśli napotkasz błędy, sprawdź ponownie szczegóły połączenia oraz konfigurację SSL. Upewnij się również, czy jakiekolwiek zapory sieciowe zezwalają na połączenia z adresów IP Grafana.


Ostatnia aktualizacja
Ten dokument został ostatnio zaktualizowany 2 czerwca 2026 r.

https://www.3cx.pl/docs/konfiguracja-mysql/