PL
PHPRAY / EXPLORE

Zacznij od konkretu.

Poznaj produkt. Sprawdź dane. Wybierz zakres.

APACHE-2.0Lokalny rdzeń bez kontaCloud opcjonalnie
Przejdź do instalacji
PHPRay / Dokumentacja techniczna

Zrozum przepływ.
Przejmij kontrolę.

Od pierwszego żądania po konfigurację całej floty. Pełna dokumentacja, konkretne parametry, jawne granice.

0.14 / REFERENCE15 rozdziałów · PL / EN
PHPRay DocsDirectAdmin
usage/directadmin

DirectAdmin

Wtyczka PHPRay do DirectAdmina daje każdemu kontu na serwerze własny widok wydajności w panelu, a administratorowi przegląd całego serwera. To panelowa część Host Edition; samo śledzenie zapewnia rozszerzenie i collector, które instalujesz najpierw (hosting współdzielony).

Stan: 0.1.6, wcześnie. Wtyczka chodziła na produkcyjnym serwerze CloudLinux z DirectAdminem i PHP 7.4 w panelu, przeciwko kolektorowi 0.15.2, i oba widoki pokazują prawdziwe dane. Przełącznik per konto był na tym serwerze sprawdzony: wyłączenie znika rozszerzenie z php -m, włączenie je przywraca, a skrypt odmawia każdego konta, którego DirectAdmin nie jest właścicielem. Nie przeszła jeszcze pełnego wdrożenia u klientów, więc traktuj ją jak pilota: włącz najpierw na własnym koncie.

Co widzi klient

Wydajność serwisu dla każdej z jego domen:

  • żądania, błędy, opóźnienie p95 i żądania z N+1 dla ostatnich 24 godzin i 7 dni,
  • najwolniejsze strony z liczbą żądań i p95,
  • odciski wolnych zapytań SQL, podział na wtyczki i motywy, ostatnie błędy,
  • diagnoza opisana po ludzku, z oceną kondycji,
  • a switch to turn tracing off for that site, and "profile this URL prefix for N minutes" — both written to the account's .user.ini, nothing else,
  • on CloudLinux with CageFS, a switch that turns PHPRay itself on or off for the whole account: it writes the extension's ini into the account's own PHP scan directory inside its cage and recycles that account's PHP workers. An account where the extension is not loaded sees a card saying so with a button, instead of pages of zeros.

Co widzi administrator

Stan i wersję collectora, przegląd całego serwera z ostatniej doby, najwolniejsze domeny wg p95 i wg liczby żądań, najbardziej obciążone konta, aktywne alerty, wolne zapytania z całego serwera oraz używane wersje PHP. Widok administratora jest tylko do odczytu.

Wymagania

  • DirectAdmin z menedżerem wtyczek (panel uruchamia strony własnym /usr/local/bin/php, obecnie PHP 7.4 — pod to celuje wtyczka),
  • phpray-collector w wersji 0.15 lub nowszej działający na tym samym serwerze, z niepustym [auth] secret w /etc/phpray/collector.toml (wtyczka podpisuje nim krótkotrwałe tokeny JWT i ogranicza każdego klienta do jego własnych domen),
  • rozszerzenie zainstalowane dla wersji PHP używanych przez konta, ze śledzeniem wyłączonym domyślnie i włączanym per konto (install.sh robi to na CloudLinuksie: zob. hosting współdzielony).

Instalacja

Pobierz archiwum wtyczki — jest na licencji Apache-2.0, jak reszta rdzenia:

Przykład referencyjny
cd /usr/local/directadmin/plugins
curl -fsSLO https://phpray.dev/dl/phpray-directadmin.tar.gz
tar xzf phpray-directadmin.tar.gz          # unpacks into ./phpray/
/usr/local/directadmin/plugins/phpray/scripts/install.sh

To samo archiwum można wgrać w menedżerze wtyczek DirectAdmina; ma phpray/ na wierzchu, czyli w kształcie, którego menedżer oczekuje. Każde wydanie trzyma też kopię z numerem wersji pod phpray.dev/dl/.

Skrypt ustawia prawa i właścicieli plików, tworzy conf/phpray.conf z pliku przykładowego, kopiuje do niego [auth] secret collectora i instaluje regułę /etc/sudoers.d/phpray, która pozwala wyłącznie użytkownikowi diradmin uruchomić jeden skrypt edytujący .user.ini klienta (regułę sprawdza visudo przed instalacją). scripts/uninstall.sh cofa wszystko.

Potem sprawdź conf/phpray.conf:

Przykład referencyjny
collector_url=http://127.0.0.1:9191
jwt_secret=<the collector's [auth] secret>
profile_minutes=10

Bez jwt_secret widok klienta mówi o tym wprost, zamiast pokazywać puste karty.

Wnioski z pierwszego uruchomienia na produkcji

  • Panel wykonuje strony własnym PHP DirectAdmina (dziś 7.4), a nie wersją PHP konta. Pamiętaj o tym, zmieniając kod wtyczki.
  • API collectora przyjmuje okno czasu w minutach (window=1440), nie w godzinach.
  • Długo żyjące procesy PHP trzymają rozszerzenie załadowane przy starcie: po instalacji lub aktualizacji rozszerzenia przeładuj procesy danego konta zamiast restartować cały serwer WWW.
  • Enable the extension per account, never for a whole PHP version. A worker that loads phpray.so installs its hooks at module startup regardless of phpray.enabled; use phpray.master_switch=0 for anything server-wide. See shared hosting.
  • phpray.enabled in .user.ini is not a way to install or remove the extension: PHP reads per-directory values long after module startup. The per-account switch writes the ini into /var/cagefs/<n>/<account>/etc/cl.php.d/alt-php<NN>/phpray.ini, which the cage mounts at /opt/alt/php<NN>/link/conf/, and then recycles that account's lsphp workers. PHP Selector does not manage it: the selector only knows CloudLinux's own packaged extensions.
Źródło: docs-site/docs/usage/directadmin.md · PHPRay 0.14
Wersja polska jest tłumaczeniem angielskiego oryginału; parametry i przykłady kodu pozostają w oryginalnej składni.
NASTĘPNY KROK

Najpierw dowód. Potem decyzja.

Sprawdź lokalną diagnostykę, porównaj zakres narzędzi i dopiero wtedy wybierz Cloud.

Porównaj rozwiązania