Konfiguracja - Drupal

3 min czytania Aktualizacja: 11.09.2026

Na tej stronie Gdzie jest konfiguracja
  1. Gdzie jest konfiguracja
  2. Źródło konfiguracji
  3. Środowiska
  4. Jak działa raportowanie
  5. Transakcje
  6. Błędy JavaScript
  7. Ręczne raportowanie
  8. Ochrona klucza prywatnego

Gdzie jest konfiguracja

Administracja → Konfiguracja → Programowanie → DockRay, czyli /admin/config/development/dock-ray. Formularz pokazuje bieżący status konfiguracji, wynik ostatniego testu i przycisk Wyślij zdarzenie testowe, który sprawdza połączenie bez opuszczania strony.

Źródło konfiguracji

Źródło konfiguracji rozstrzyga, jak nadpisanie z settings.php współpracuje z wartościami zapisanymi w formularzu:

ŹródłoZachowanie
Auto (domyślne)klucz ustawiony w settings.php wygrywa dla swojego pola, resztę bierzemy z formularza. To dokładnie zachowanie sprzed wprowadzenia tego pola - niczyj settings.php nie przestaje działać.
Tylko settings.phptoken, klucz i adres z formularza są ignorowane, choćby były wypełnione; pole bez odpowiadającego klucza spada na wartość domyślną, a nie na formularz
Tylko ten formularzsettings.php jest ignorowany, choćby definiował nadpisanie - przydatne, gdy wspólny plik ustawień zaszywa domyślny projekt, a jedna witryna ma mieć własny

Zablokowane pola są pokazywane z wartością, która naprawdę obowiązuje, i z notką dlaczego. Nadal wysyłają tę wartość razem z formularzem: wyłączony element Form API przekazuje #default_value, zamiast pominąć klucz, więc zapisanie formularza przy zablokowanym polu nie może wyczyścić tego, co jest zapisane.

Środowiska

Każde środowisko powinno raportować pod jednoznaczną nazwą - production, staging, preview. Nazwa jest kolumną w panelu i filtrem na liście błędów, więc bez niej awaria z produkcji wygląda dokładnie tak samo jak błąd wywołany w testach. Środowisko lokalne zostaw bez poświadczeń: bez tokenu i klucza integracja ładuje się i milczy, więc nie musisz jej wyłączać osobnym warunkiem.

Jak działa raportowanie

Moduł rejestruje kanał loggera. Drupal i tak zamienia każdy błąd PHP i każdy nieprzechwycony wyjątek na wpis w dzienniku, więc jeden kanał obejmuje całość - i nie ma tu drugiego handlera błędów konkurującego z rdzeniem.

minimum_level to waga w skali RFC 5424: 3 (Error) raportuje błędy, zdarzenia krytyczne, alerty i sytuacje awaryjne, a pomija ostrzeżenia i notice'y. Wpis, który niesie wyjątek, jest raportowany razem ze stosem wywołań; pozostałe stają się komunikatami.

PoziomCo obejmuje
2 Criticaltylko awarie krytyczne i wyżej
3 Errorzalecane: błędy i wszystko poważniejsze
4 Warningtakże ostrzeżenia - w rozbudowanej witrynie znacząco więcej zdarzeń

Transakcje

Czas obsługi żądań jest mierzony tylko wtedy, gdy traces_sample_rate jest większe od zera. Transakcja otwiera się na kernel.request i zamyka na kernel.terminate. Nic nie wychodzi w trakcie żądania: zdarzenia czekają w kolejce i idą z uchwytu zamknięcia po odesłaniu odpowiedzi, więc wolny panel nigdy nie opóźnia strony.

Błędy JavaScript

Domyślnie wyłączone. Po włączeniu moduł ładuje na stronach nieadministracyjnych kolektor, który raportuje window.onerror i nieobsłużone odrzucenia obietnic do witryny, a nie do panelu: przeglądarka nie może uwierzytelnić się w DockRayu bez klucza prywatnego, a ten byłby wtedy czytelny w źródle strony.

Zgłoszenia trafiają na POST /dock-ray/browser-error z limitem 16 kB i ograniczeniem 20 zgłoszeń na adres IP na godzinę, pilnowanym przez serwis flood Drupala. Sam kolektor jest serwowany z /dock-ray/collector.js, bo SDK leży w katalogu vendor/ projektu, czyli w większości instalacji poza docrootem. Każde żądanie kończy się odpowiedzią 202, niezależnie od tego, czy zgłoszenie przyjęto.

Ręczne raportowanie

php
try {
  $this->import();
}
catch (\Throwable $exception) {
  \Drupal::service('dock_ray.hub')->captureException($exception);

  throw $exception;
}

\Drupal::logger('my_module')->error(...) również dociera do DockRaya - tym samym kanałem co wszystko inne, więc własny kod nie potrzebuje osobnej integracji.

Ochrona klucza prywatnego

Klucz prywatny jest sekretem projektu, a nie identyfikatorem. Trzymaj go w zmiennych środowiskowych, w menedżerze sekretów albo w konfiguracji serwera - nigdy w repozytorium, w logach, na zrzucie ekranu ani w kodzie wysyłanym do przeglądarki. Jeden projekt może mieć wiele kluczy, więc produkcja i środowisko testowe powinny dostać osobne: każdy odwołuje się niezależnie, bez przerywania raportowania z pozostałych. Podejrzenie ujawnienia klucza jest wystarczającym powodem, aby go odwołać i wygenerować nowy.

Czytaj dalej

Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.