Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dostarczanie logów bezserwerowych zapisuje logi aplikacji z zadań bezserwerowych do woluminu Unity Catalog. Administratorzy przestrzeni roboczej konfigurują miejsce docelowe przestrzeni roboczej, aby zespoły mogły przechowywać logi i przetwarzać je za pomocą narzędzi do obserwowalności. Logi są dostarczane asynchronicznie po zakończeniu zadania. Dostarczenie może trwać kilka minut i zależy od czasu przetwarzania oraz przesyłania.
Important
Ta funkcja jest dostępna w wersji beta. Aby z niego korzystać, administrator przestrzeni roboczej musi włączyć dostarczanie logów Serverless do woluminów katalogu Unity na stronie Wersje zapoznawcze. Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Requirements
- Przestrzeń robocza z włączonym bezserwerowym przetwarzaniem i Unity Catalog.
- Środowisko bezserwerowe w wersji 5 lub nowszej.
- Rola administratora przestrzeni roboczej wymagana do skonfigurowania dostarczania logów. Zobacz Przypisz rolę administratora przestrzeni roboczej użytkownikowi.
- Podgląd dostarczania logów Serverless do woluminów katalogu Unity został włączony dla przestrzeni roboczej. Może już jest włączony. Jeśli jest wyłączona, administrator obszaru roboczego może ją włączyć na stronie Wersje zapoznawcze. Włączenie wersji zapoznawczej udostępnia konfigurację; nie rozpoczyna dostarczania.
- Tom docelowy. Administrator konfigurujący dostarczanie potrzebuje
USE CATALOGw swoim katalogu,USE SCHEMAw jego schemacie orazREAD VOLUMEiWRITE VOLUMEna woluminie. Zobacz Uprawnienia dla woluminów Unity Catalog.
Note
Konfiguruj dostarczanie tylko do zaufanego woluminu z ograniczonym dostępem. Dostarczone logi mogą zawierać wrażliwe informacje, w tym e-maile użytkowników, ścieżki przechowywania, ślady stosu, wewnętrzne identyfikatory oraz tymczasowo podpisane adresy URL. Nie ma gwarancji, że logi są wolne od sekretów.
Użytkownicy posiadający dostęp do miejsca docelowego mogą odczytywać dostarczone logi, w tym logi z zadań innych użytkowników. Ogranicz dostęp do woluminu odpowiednio.
Włącz dostarczanie logów
Administrator przestrzeni roboczej musi włączyć dostarczanie logów dla przestrzeni roboczej.
- Otwórz Ustawienia z menu użytkownika.
- W sekcji Workspace admin kliknij Obliczenia.
- W sekcji dostarczanie logów włącz bezserwerowe dostarczanie logów.
- W Skonfiguruj dostarczanie dzienników wpisz ścieżkę woluminu, np.
/Volumes/observability/production/serverless_logs, lub kliknij ikonę folderu, aby przeglądać woluminy. - Kliknij Zapisz. Zapisanie miejsca docelowego umożliwia przesyłanie.
To ustawienie dotyczy poziomu przestrzeni roboczej. Nie musisz konfigurować każdego zadania osobno.
Odczyt dostarczonych logów
Wyjście aplikacji obejmuje standardowe wyjście i standardowe błędy wynikające z kodu użytkownika, w tym funkcje zdefiniowane przez użytkownika (UDF). Użyj Catalog Explorer, aby przeglądać wolumin docelowy i przeglądać dostarczone pliki. Zobacz Praca z plikami w woluminach katalogu Unity.
Dostarczanie logów nie dostarcza metryk klastrowych ani profili zapytań. Użyj strony przebiegu zadania, aby zbadać status uruchomienia i wydajność wraz z logami aplikacji. Zobacz Monitorowanie zadań Lakeflow.
Dzienniki zwrócone przez zapytanie SQL
Użyj read_files, aby przeszukać dostarczone pliki tekstowe. Zamień ścieżkę woluminu w tym przykładzie na miejsce docelowe. Aby odczytać dzienniki, potrzebujesz USE CATALOG do katalogu, USE SCHEMA do schematu i READ VOLUME do woluminu.
Stwórz widok tymczasowy, który wyodrębnia identyfikatory zadań i run ze ścieżki pliku oraz zachowuje każdą linię logu wyjściowego:
CREATE OR REPLACE TEMPORARY VIEW serverless_job_logs AS
SELECT
regexp_extract(_metadata.file_path, '/job_id=([^/]+)/', 1) AS job_id,
regexp_extract(_metadata.file_path, '/job_run_id=([^/]+)/', 1) AS job_run_id,
regexp_extract(_metadata.file_path, '/task_run_id=([^/]+)/', 1) AS task_run_id,
_metadata.file_name AS file_name,
value AS log_line
FROM read_files(
'/Volumes/observability/production/serverless_logs/',
format => 'text'
);
Znajdź linie zawierające błędy we wszystkich uruchomieniach zadań:
SELECT job_id, job_run_id, task_run_id, file_name, log_line
FROM serverless_job_logs
WHERE log_line LIKE '%ERROR%';
Zidentyfikuj zadania z największą liczbą linii z błędami:
SELECT
job_id,
count(*) AS error_lines,
count(DISTINCT job_run_id) AS affected_runs
FROM serverless_job_logs
WHERE log_line LIKE '%ERROR%'
GROUP BY job_id
ORDER BY error_lines DESC;
Te zapytania wyszukują dokładnie tekst ERROR. Dostosuj filtr tak, aby pasował do formatu logów aplikacji. Zobacz read_files funkcji wartości tabeli.
Zmień miejsce docelowe lub wyłącz dostawę
Aby zmienić miejsce docelowe, otwórz Ustawienia > Obliczenia > Dostarczanie dzienników, kliknij ikonę ołówka obok nazwy woluminu, wprowadź nową ścieżkę lub ją wskaż i kliknij Zapisz. Zapisanie adresu docelowego umożliwia wysyłkę, także w przypadku wyłączenia wysyłki.
Aby wyłączyć dostawę, otwórz Ustawienia > Compute > dostarczanie logów i wyłącz dostarczanie logów bezserwerowych. Ustawienie zachowuje miejsce docelowe, więc możesz ponownie włączyć dostarczanie bez wybierania innego woluminu. Wyłączenie dostarczania danych nie usuwa plików już zapisanych na woluminie. Zarządzaj dostępem i retencją tych plików osobno.
Rozwiązywanie problemów z brakującymi dziennikami
Jeśli logi nie pojawiają się po zakończeniu zadania:
- Sprawdź, czy dostarczanie logów bezserwerowych jest włączone w Ustawienia > Obliczenia > Dostarczanie logów. Samo włączenie podglądu nie rozpoczyna dostawy.
- Sprawdź, czy skonfigurowany wolumin istnieje i czy administrator konfigurujący dostawę zachowuje wymagane uprawnienia.
- Potwierdź, że zadanie korzysta z obliczeń serwerless i generuje wyjście aplikacji. Po zakończeniu zadania poczekaj kilka minut na asynchroniczne dostarczenie. Czas przetwarzania i przesyłania może opóźnić dostawę.
Aby uzyskać informacje o klasycznym dostarczaniu logów obliczeniowych, zobacz Dostarczanie logów obliczeniowych.