Ten przewodnik wyjaśnia, jak wdrożyć PmaControl do monitorowania serwerów MariaDB / MySQL, a następnie sprawdzić interfejs, lokalną bazę i zbieranie danych.
Obecna metoda instalacji to pakiet pmacontrol, udostępniany w podpisanym repozytorium APT projektu. Instaluje MariaDB, wtyczkę RocksDB, PHP CLI, FrankenPHP i zależności aplikacji. Inicjalizuje również bazę, konta, zadania cykliczne i konfigurację WWW. Dedykowana maszyna lub VM pozwala uniknąć konfliktów z istniejącymi usługami.
Instalacja jednym poleceniem
Na dedykowanej maszynie amd64 z Debianem 12/13 lub Ubuntu 24.04/26.04 uruchom poniższe polecenie w terminalu. Skrypt sprawdza system i klucz podpisanego repozytorium, a następnie instaluje pakiet PmaControl wraz z zależnościami. Uprawnienia administratora uzyskuje przez sudo.
curl -fsSL https://pmacontrol.com/install.sh | sudo bash
Jeśli pracujesz już jako root, zastąp sudo bash przez bash. Zobacz skrypt. Po instalacji wykonaj opisane niżej kontrole, konfigurację HTTPS i pierwsze logowanie.
1. Wybór systemu
| System | Dystrybucja APT | Architektura | Metoda |
|---|---|---|---|
| Debian 12 | bookworm |
amd64 |
Pakiet APT |
| Debian 13 | trixie |
amd64 |
Pakiet APT |
| Ubuntu 24.04 LTS | noble |
amd64 |
Pakiet APT |
| Ubuntu 26.04 LTS | resolute |
amd64 |
Pakiet APT |
| Docker | — | — | Zobacz sekcję Docker |
26 września 2026 r. wszystkie cztery dystrybucje udostępniają pakiet 5.4.36-1. Polecenie apt-cache policy pmacontrol pokazuje wersję dostępną w chwili instalacji. Gałąź deweloperska może być nowsza niż opublikowany pakiet. Pakiety ARM64 i starsze wersje Ubuntu nie są objęte tą procedurą.
2. Przygotowanie maszyny i sieci
Przygotuj dostęp administratora, działający DNS, zsynchronizowany zegar i trwałą pamięć masową. Dla małej infrastruktury 2–4 vCPU, 4–8 GiB RAM i 40 GiB SSD to orientacyjny punkt wyjścia, a nie gwarantowane minimum. Ilość danych zależy od liczby serwerów, metryk, retencji i kopii zapasowych. Jeśli włączysz kopie zapasowe, przeznacz dla nich osobną przestrzeń.
Zezwól na ruch przychodzący TCP 443 od uprawnionych użytkowników oraz TCP 80 dla przekierowań i, jeśli potrzebne, ACME. UDP 443 obsługuje HTTP/3 i jest opcjonalny dla klientów. Zapewnij ruch wychodzący HTTPS do repozytoriów, DNS/NTP do własnych usług, SQL do monitorowanych serwerów na ich rzeczywistych portach oraz SSH 22 tylko dla funkcji, które go używają. Lokalna baza nie wymaga dostępu z Internetu.
Wykonaj kontrole przed instalacją. Jeśli /var/lib/mysql jeszcze nie istnieje, sprawdź wolne miejsce w docelowym systemie plików. Porty WWW muszą być wolne: pakiet odrzuca obcy proces nasłuchujący i nie wyłącza automatycznie Apache, Nginx ani Caddy.
cat /etc/os-release
dpkg --print-architecture
df -h / /var/lib/mysql
free -h
timedatectl status
ss -ltnp '( sport = :80 or sport = :443 )'
ss -lunp 'sport = :443'
3. Instalacja na Debian 12 lub Debian 13
Na dedykowanej maszynie Debian użyj poniższego bloku. Automatycznie wybiera bookworm lub trixie, sprawdza amd64, dodaje klucz wyłącznie dla tego repozytorium przez signed-by, pokazuje wersję kandydującą i symuluje instalację przed jej wykonaniem. W czasie symulacji sprawdź dodawane pakiety oraz inne zmiany. Kolejne polecenia działają w powłoce root otwartej przez sudo -i.
Odcisk klucza sprawdzony 26 września 2026 r. to CAFD ABF8 7717 CC60 291E 68E4 D56A 0ADA AB5F 97E2. Jeśli się zmieni, potwierdź rotację z projektem przed kontynuacją. Nie używaj trusted=yes do omijania błędu podpisu.
sudo -i
set -eu
. /etc/os-release
case "$ID:$VERSION_CODENAME" in
debian:bookworm|debian:trixie|ubuntu:noble|ubuntu:resolute) ;;
*) echo "Unsupported distribution: $ID:$VERSION_CODENAME" >&2; exit 1 ;;
esac
test "$(dpkg --print-architecture)" = amd64
apt-get update
apt-get install -y ca-certificates curl gnupg
install -d -m 0755 /etc/apt/keyrings
curl -fsSL --retry 3 https://repo.pmacontrol.com/debian/pmacontrol-archive-keyring.gpg -o /etc/apt/keyrings/pmacontrol-archive-keyring.gpg
chmod 0644 /etc/apt/keyrings/pmacontrol-archive-keyring.gpg
gpg --show-keys --with-fingerprint /etc/apt/keyrings/pmacontrol-archive-keyring.gpg
printf 'deb [arch=amd64 signed-by=/etc/apt/keyrings/pmacontrol-archive-keyring.gpg] https://repo.pmacontrol.com/debian %s main\n' "$VERSION_CODENAME" > /etc/apt/sources.list.d/pmacontrol.list
apt-get update
apt-cache policy pmacontrol
apt-get -s install pmacontrol
apt-get install pmacontrol
4. Instalacja na Ubuntu 24.04 lub Ubuntu 26.04
Na Ubuntu wykonaj ten sam blok APT z poprzedniej sekcji: wybierze noble dla 24.04 i resolute dla 26.04. Zachowaj już skonfigurowane oficjalne repozytoria Ubuntu i ich poprawną dystrybucję. Repozytorium PmaControl dostarcza pakiet i potrzebne zależności; nie zastępuj noble przez trixie na Ubuntu.
Po apt-get install pmacontrol nie uruchamiaj ponownie install.sh, nie twórz ręcznie bazy i nie dodawaj drugiego stosu Apache/PHP-FPM. Skrypt poinstalacyjny pakietu już wykonuje inicjalizację. PHP w wierszu poleceń i PHP osadzone we FrankenPHP to odrębne środowiska: samo php -v nie sprawdza środowiska WWW.
5. Weryfikacja instalacji i odzyskanie danych dostępu
Pakiet musi mieć stan install ok installed, dpkg --audit nie może zgłaszać niepełnej konfiguracji, a MariaDB, FrankenPHP i cron muszą działać. Znacznik środowiska powinien zawierać frankenphp. Sprawdź również załadowanie RocksDB. Żądanie HTTP powinno przekierować na HTTPS; strona logowania HTTPS musi odpowiedzieć bez błędu serwera.
Opcja -k w tej lokalnej kontroli służy tylko do testu początkowego certyfikatu wewnętrznego. Dla zwykłego dostępu użytkowników skonfiguruj certyfikat zgodnie z następną sekcją i sprawdź połączenie bez -k.
dpkg-query -W -f='${Status} ${Version}\n' pmacontrol
dpkg --audit
systemctl is-active mariadb frankenphp cron
systemctl is-enabled mariadb frankenphp cron
cat /etc/pmacontrol/active-runtime
mariadb -N -e "SELECT VERSION(); SELECT 1;"
mariadb -e "SHOW PLUGINS;" | awk 'NR == 1 || /ROCKSDB/'
curl -q --noproxy '*' -I http://127.0.0.1/
curl -q --noproxy '*' -k -I https://localhost/fr/user/connection/
Wygenerowane dane dostępu są przechowywane w /root/pmacontrol-install.env, dostępnym tylko dla root, zwykle z uprawnieniami 0600. Odczytaj plik w prywatnym terminalu: PMACTRL_ADMIN_LOGIN i PMACTRL_ADMIN_PASSWORD zapewniają dostęp administratora; zmienne webservice dotyczą API. Nie wysyłaj pliku w zgłoszeniu, repozytorium ani zrzucie ekranu.
Otwórz https://TWOJ-HOST/fr/user/connection/, zaloguj się i ustaw własne hasło w profilu. Zachowaj plik odzyskiwania w szyfrowanej kopii i aktualizuj go przy rotacji zapisanych w nim danych. Po udanej inicjalizacji tymczasowy /root/pmacontrol-install.json powinien zniknąć. Jego obecność może oznaczać niedokończoną inicjalizację: ustal przyczynę błędu przed usunięciem.
sudo stat -c '%a %U %G %n' /root/pmacontrol-install.env
sudo less /root/pmacontrol-install.env
sudo test ! -e /root/pmacontrol-install.json
6. Konfiguracja nazwy DNS i HTTPS
Domyślnie FrankenPHP używa wewnętrznego certyfikatu dla localhost. Dostęp przez IP lub nieskonfigurowaną nazwę może więc powodować ostrzeżenie dotyczące zaufania lub nazwy. Dla nazwy publicznej utwórz rekord DNS wskazujący instancję i zastąp poniżej każde wystąpienie pmacontrol.example.com własną nazwą.
Blok importuje fragment dostarczony przez PmaControl. Caddy może automatycznie uzyskać publiczny certyfikat, jeżeli nazwa i wyzwania ACME są osiągalne. W sieci prywatnej użyj urzędu certyfikacji zaufanego przez klientów lub własnych plików tls /sciezka/fullchain.pem /sciezka/private.key. Zapewnij usłudze odczyt klucza bez jego upublicznienia. Pliki w /etc/pmacontrol/frankenphp.d/ pozostają podczas aktualizacji; pliki Caddy generowane przez pakiet mogą zostać odtworzone.
sudo install -d -m 0755 /etc/pmacontrol/frankenphp.d
sudo tee /etc/pmacontrol/frankenphp.d/pmacontrol.example.com.caddyfile >/dev/null <<'CADDY'
pmacontrol.example.com {
import pmacontrol_app
}
CADDY
(
set -eu
validation_dir="$(mktemp -d /tmp/pmacontrol-validation.XXXXXX)"
trap 'sudo rm -rf -- "$validation_dir"' EXIT
sudo env HOME="$validation_dir" frankenphp validate --adapter caddyfile --config /etc/frankenphp/Caddyfile
)
sudo systemctl reload frankenphp
curl -I https://pmacontrol.example.com/fr/user/connection/
7. Użycie reverse proxy
Preferuj HTTPS ze sprawdzaniem certyfikatu między proxy a FrankenPHP. Zachowaj pierwotny publiczny nagłówek Host i zastępuj otrzymany X-Forwarded-Proto wartością wyznaczoną przez proxy.
Jeżeli architektura wymaga połączenia HTTP do serwera zaplecza, wpisz do /etc/pmacontrol/trusted-proxies wyłącznie IP bezpośrednio połączonego proxy. Zastąp 192.0.2.10 w przykładzie; nie zezwalaj na cały Internet. Pakiet udostępnia aplikację przez HTTP tylko uprawnionemu adresowi z dokładną wartością X-Forwarded-Proto: https. Inne żądania przekierowuje. Ponownie skonfiguruj pakiet, aby zastosować tę politykę.
sudo tee /etc/pmacontrol/trusted-proxies >/dev/null <<'PROXY'
192.0.2.10
PROXY
sudo chown root:root /etc/pmacontrol/trusted-proxies
sudo chmod 0644 /etc/pmacontrol/trusted-proxies
sudo apt-get install --reinstall pmacontrol
8. Dodanie pierwszych serwerów MariaDB / MySQL
W interfejsie dodaj adres, port i dane SQL monitorowanego serwera, a następnie przetestuj połączenie. Lokalna baza MariaDB PmaControl jest odrębna od monitorowanych serwerów: nie trzeba przenosić baz aplikacji.
Utwórz dedykowane konto monitoringu ograniczone do adresu PmaControl i przyznaj uprawnienia wymagane przez wybrane funkcje. Uprawnienia do metryk, replikacji, analizy, kopii i administracji różnią się między MariaDB, MySQL i ich wersjami; nie zastępuj ich uniwersalnym zdalnym kontem root. Włącz Performance Schema na serwerach, jeżeli wymagają tego wybrane widoki. SSH jest opcjonalny i dotyczy funkcji zbierania danych systemowych, logów lub kopii, które go potrzebują.
Po kilku cyklach zbierania sprawdź czas ostatniej próbki, wykresy i topologię. Działająca strona logowania nie dowodzi aktualności metryk. Sprawdź też błędy i aktywne zadania w interfejsie; nie włączaj wszystkich daemonów bez uwzględnienia celowo wyłączonych funkcji.
PmaControl na zrzutach ekranu
Dziesięć widoków monitorowania, topologii i narzędzi PmaControl. Kliknij zrzut, aby otworzyć go w oryginalnym rozmiarze. Zrzuty wykonano 26 września 2026 r.
1. Lista serwerów
Inwentarz serwerów, dostępność, wersje i czas ostatniego zebrania danych.
2. Architektura Galera + ProxySQL
Wizualizacja adresów VIP, grup ProxySQL i członków klastrów Galera.
3. Alarmy i incydenty
Otwarte i rozwiązane incydenty, poziomy ważności i filtry według serwera.
4. Stan węzłów Galera
Członkowie klastrów, stan synchronizacji, segmenty i wersje.
5. Grupy hostów i routing ProxySQL
Grupy writer i reader, serwery backend i stan połączeń.
6. Pamięć baz danych
Porównanie buforów i parametrów pamięci dla poszczególnych serwerów.
7. Zasoby PmaControl
Wykresy połączeń, pamięci i alarmów dotyczących zasobów.
8. Replikacja MariaDB
Źródła, łańcuchy replikacji, wersje i połączenia SSL.
9. Kopie zapasowe i harmonogram
Historia wykonań, przestrzeń dyskowa i harmonogram kopii zapasowych.
10. Wykorzystanie indeksów
Liczniki odczytów i udział odczytów obsługiwanych przez indeksy.
9. Pliki, dane i kopie zapasowe
Poniższe ścieżki dotyczą instalacji pakietowej. Zabezpiecz lokalną bazę, /etc/pmacontrol/, dane aplikacji, certyfikaty i dane odzyskiwania dostępu. Klucz szyfrowania aplikacji jest częścią konfiguracji: sama kopia SQL nie wystarcza do odtworzenia zaszyfrowanych danych dostępu.
Użyj kopii MariaDB spójnej z używanymi silnikami danych. Sam eksport --single-transaction nie gwarantuje spójności wszystkich tabel przy wielu silnikach. Do kopii plików lub snapshotu zatrzymaj zbieranie i MariaDB w zaplanowanym oknie albo użyj mechanizmu sprawdzonego dla danego silnika i wersji. Przetestuj odtwarzanie na izolowanej instancji, zanim polegasz na kopii.
/usr/share/pmacontrol/ application
/usr/bin/pmacontrol CLI
/etc/pmacontrol/ configuration
/etc/pmacontrol/frankenphp.d/ operator TLS policy
/etc/pmacontrol/trusted-proxies immediate trusted proxy peers
/var/lib/pmacontrol/ persistent application data
/var/lib/mysql/ local MariaDB data
/var/cache/pmacontrol/tmp/ application cache and logs
/etc/frankenphp/php.d/pmacontrol.ini packaged PHP settings
/root/pmacontrol-install.env bootstrap recovery credentials
10. Aktualizacja PmaControl
Przed aktualizacją przygotuj odtwarzalną kopię danych i konfiguracji oraz przeczytaj informacje o wersji kandydującej. Skrypt poinstalacyjny wykonuje migracje i przywraca zamierzony stan daemonów; celowo zatrzymane zadania powinny pozostać zatrzymane. Zwykła procedura aktualizuje pakiet, a nie wykonuje git pull w /usr/share/pmacontrol.
Po aktualizacji powtórz kontrole z sekcji 5, logowanie i weryfikację aktualności danych. Regresja może wymagać skoordynowanego odtworzenia kodu i bazy: ponowna instalacja starszego pakietu nie cofa schematu.
sudo apt-get update
apt-cache policy pmacontrol
sudo apt-get -s install --only-upgrade pmacontrol
sudo apt-get install --only-upgrade pmacontrol
sudo dpkg --audit
systemctl is-active mariadb frankenphp cron
11. Docker: aktualny stan i opcje wdrożenia
Stan sprawdzony 26 września 2026 r.: obecne repozytorium nie dostarcza Dockerfile, Compose ani wskazania obrazu PmaControl do kompletnej wspieranej instalacji. Istniejące pliki Docker dotyczą narzędzi lub testowych baz. Proponowanie docker pull pmacontrol/pmacontrol bez opublikowanego i sprawdzonego obrazu byłoby mylące.
Pakiet APT używa systemd, lokalnej MariaDB, cron, uprawnień plików i kontroli procesów nasłuchujących przy uruchamianiu. Umieszczenie go w ogólnym obrazie PHP nie odtwarza tej instalacji. Wersja Docker musi obsługiwać inicjalizację i ponowne próby, trwałe woluminy, sekrety, migracje, daemony, kontrole zdrowia i sprawdzone odtwarzanie.
Już teraz można zainstalować PmaControl w VM Debian lub Ubuntu według tego przewodnika i monitorować serwery MariaDB / MySQL działające w Docker, jeśli ich adresy SQL są osiągalne. localhost wewnątrz kontenera oznacza kontener, a nie VM PmaControl. Procedura instalacji samego PmaControl w Docker zostanie dodana wraz z obrazem i powtarzalnymi testami; nie należy mylić jej z monitoringiem kontenerowych baz.
12. Diagnostyka niepełnej instalacji
Zacznij od logów i stanu pakietów. Przy błędzie APT sprawdź dystrybucję, architekturę, czas, klucz i sieć. Przy konflikcie portów rozpoznaj usługę i wybierz miejsce dla PmaControl; pakiet nie powinien przerywać działania innej strony. Przy błędzie TLS sprawdź DNS, wyzwania, certyfikat i uprawnienia. Gdy WWW działa, ale wykresy są stare, sprawdź SQL/SSH, daemony i błędy zbierania.
sudo journalctl -u frankenphp -u mariadb -u cron --since '-30 min' --no-pager
sudo tail -n 100 /var/cache/pmacontrol/tmp/log/error_php.log
sudo tail -n 100 /var/log/apt/term.log
sudo dpkg --audit
sudo ss -ltnp '( sport = :80 or sport = :443 )'
sudo ss -lunp 'sport = :443'
Po usunięciu zgłoszonej przyczyny uruchom ponownie konfigurację poniższymi poleceniami. Nieudana rotacja daemonów może wymagać także sudo runuser -u www-data -- pmacontrol Daemon startAll, ale tylko do wznowienia zapisanego stanu tej operacji i sprawdzenia jednego wyniku JSON z ok: true. Nie usuwaj klucza szyfrowania ani pliku dostępu, aby wymusić nową inicjalizację.
sudo dpkg --configure -a
sudo apt-get -f install
13. Usunięcie pakietu
Najpierw wykonaj i zweryfikuj kopię danych, które chcesz zachować. Zasymuluj usunięcie, a potem usuń pakiet, jeżeli taki jest zamiar. purge to odrębna operacja, która nie zastępuje planu zachowania danych. Pliki TLS operatora mogą pozostać na dysku; sprawdź zachowane usługi i dane przed ponownym użyciem maszyny.
sudo apt-get -s remove pmacontrol
sudo apt-get remove pmacontrol
14. Lista kontrolna uruchomienia
- Pakiet jest skonfigurowany, a potrzebne usługi działają.
- DNS i certyfikat są zgodne; zwykły dostęp działa bez
-k. - Dane administratora i webservice są bezpiecznie zapisane.
- Serwer MariaDB / MySQL przechodzi test połączenia.
- Zbieranie zapewnia aktualne próbki i spójne wykresy.
- Uprawnienia, retencja i przestrzeń odpowiadają włączonym funkcjom.
- Kompletną kopię można odtworzyć na izolowanej instancji.
Źródła i zakres weryfikacji. Przewodnik opiera się na skryptach instalacyjnych i dokumentacji oficjalnego repozytorium oraz indeksach APT i pakiecie 5.4.36-1 sprawdzonych 26 września 2026 r. Podpis indeksu został zweryfikowany. Ta kontrola dokumentacji nie jest nowym testem instalacji na każdej z czterech dystrybucji.










Opublikowano (0)
Nieprawidłowy adres e-mail.
Autor