Udostępnij za pośrednictwem


Monitorowanie aktywności konta przy użyciu tabel systemowych

W tym artykule wyjaśniono koncepcję tabel systemowych w usłudze Azure Databricks i wyróżniono zasoby, których można użyć, aby jak najlepiej wykorzystać dane tabel systemowych.

Co to są tabele systemowe?

Tabele systemowe to magazyn analityczny hostowany w usłudze Azure Databricks danych operacyjnych konta znajdujących się w wykazie system . Tabele systemowe mogą służyć do obserwacji historycznej na koncie.

Uwaga

Aby uzyskać dokumentację dotyczącą system.information_schemaprogramu , zobacz Schemat informacji.

Wymagania

  • Aby uzyskać dostęp do tabel systemowych, obszar roboczy musi być włączony dla wykazu aparatu Unity. Aby uzyskać więcej informacji, zobacz Włączanie schematów tabel systemowych.

  • Tabele systemowe nie są dostępne w następujących regionach:

    • Regiony Azure (Chiny)
    • Regiony Azure Government
    • Indie Zachodnie
    • Szwajcaria Zachodnia

Które tabele systemowe są dostępne?

Obecnie usługa Azure Databricks hostuje następujące tabele systemowe:

Table opis Lokalizacja Obsługuje przesyłanie strumieniowe Okres bezpłatnego przechowywania Obejmuje dane globalne lub regionalne
Dzienniki inspekcji (publiczna wersja zapoznawcza) Zawiera rekordy dla wszystkich zdarzeń inspekcji z obszarów roboczych w Twoim regionie. Aby uzyskać listę dostępnych zdarzeń inspekcji, zobacz Dokumentacja dziennika diagnostycznego. system.access.audit Tak 365 dni Regionalny dla zdarzeń na poziomie obszaru roboczego. Globalne dla zdarzeń na poziomie konta.
Pochodzenie tabeli (publiczna wersja zapoznawcza) Zawiera rekord dla każdego zdarzenia odczytu lub zapisu w tabeli lub ścieżce wykazu aparatu Unity. system.access.table_lineage Tak 365 dni Regionalne
Pochodzenie kolumn (publiczna wersja zapoznawcza) Zawiera rekord dla każdego zdarzenia odczytu lub zapisu w kolumnie wykazu aparatu Unity (ale nie zawiera zdarzeń, które nie mają źródła). system.access.column_lineage Tak 365 dni Regionalne
Rozliczane użycie Zawiera rekordy dotyczące wszystkich rozliczanych użycia na koncie. system.billing.usage Tak 365 dni Globalnie
Cennik Historyczny dziennik cen jednostek SKU. Rekord jest dodawany za każdym razem, gdy następuje zmiana ceny jednostki SKU. system.billing.list_prices Nie. Nieograniczony Globalnie
Klastry (publiczna wersja zapoznawcza) Wolno zmieniająca się tabela wymiarów zawierająca pełną historię konfiguracji obliczeniowych w czasie dla dowolnego klastra. system.compute.clusters Tak Nie dotyczy Regionalne
Oś czasu węzła (publiczna wersja zapoznawcza) Przechwytuje metryki wykorzystania zasobów obliczeniowych dla wszystkich celów i zadań. system.compute.node_timeline Tak 30 dni Regionalne
Typy węzłów (publiczna wersja zapoznawcza) Przechwytuje obecnie dostępne typy węzłów przy użyciu podstawowych informacji o sprzęcie. system.compute.node_types Nie. Nie dotyczy Regionalne
Magazyny SQL (publiczna wersja zapoznawcza) Zawiera pełną historię konfiguracji w czasie dla dowolnego magazynu SQL. system.compute.warehouses Tak 365 dni Regionalne
Zdarzenia usługi SQL Warehouse (publiczna wersja zapoznawcza) Przechwytuje zdarzenia związane z magazynami SQL. Na przykład uruchamianie, zatrzymywanie, uruchamianie, skalowanie w górę i w dół. system.compute.warehouse_events Tak 365 dni Regionalne
Zadania (publiczna wersja zapoznawcza) Śledzi wszystkie zadania utworzone na koncie. system.lakeflow.jobs Tak 365 dni Regionalne
Zadania zadania (publiczna wersja zapoznawcza) Śledzi wszystkie zadania podrzędne, które są uruchamiane na koncie. system.lakeflow.job_tasks Tak 365 dni Regionalne
Oś czasu uruchamiania zadania (publiczna wersja zapoznawcza) Śledzi czasy uruchamiania i zakończenia zadania. system.lakeflow.

job_run_timeline
Tak 365 dni Regionalne
Oś czasu zadania zadania (publiczna wersja zapoznawcza) Śledzi czas rozpoczęcia i zakończenia oraz zasoby obliczeniowe używane do uruchamiania zadań podrzędnych. system.lakeflow.

job_task_run_timeline
Tak 365 dni Regionalne
Zdarzenia lejka w witrynie Marketplace (publiczna wersja zapoznawcza) Obejmuje dane dotyczące wyświetleń i lejków dla Twoich list. system.marketplace.listing_

funnel_events
Tak 365 dni Regionalne
Dostęp do listy w witrynie Marketplace (publiczna wersja zapoznawcza) Zawiera informacje o użytkownikach dotyczące ukończonych danych żądania lub pobieranie zdarzeń danych na listach. system.marketplace.listing_

access_events
Tak 365 dni Regionalne
Optymalizacja predykcyjna (publiczna wersja zapoznawcza) Śledzi historię operacji funkcji optymalizacji predykcyjnej. system.storage.predictive_

optimization_operations_history
Nie. 180 dni Regionalne
Zdarzenia asystenta usługi Databricks (publiczna wersja zapoznawcza) Śledzi komunikaty użytkowników wysyłane do Asystenta usługi Databricks. system.access.assistant_events Nie. 365 dni Regionalne
Historia zapytań (publiczna wersja zapoznawcza) Przechwytuje rekordy dla wszystkich zapytań uruchamianych w usłudze SQL Warehouse. system.query.history Nie. 90 dni Regionalne
Wydarzenia w pokoju czyste (publiczna wersja zapoznawcza) Przechwytuje zdarzenia związane z czystymi pokojami. system.access.clean_room_events Tak 365 dni Regionalne
Użycie punktu końcowego obsługującego model (publiczna wersja zapoznawcza) Przechwytuje liczbę tokenów dla każdego żądania do modelu obsługującego punkt końcowy i jego odpowiedzi. Aby przechwycić użycie punktu końcowego w tej tabeli, musisz włączyć śledzenie użycia w punkcie końcowym obsługującym usługę. system.serving.endpoint_usage. Tak 90 dni Regionalne
Model obsługujący dane punktu końcowego (publiczna wersja zapoznawcza) Wolno zmieniająca się tabela wymiarów, która przechowuje metadane dla każdego obsługiwanego modelu zewnętrznego w punkcie końcowym obsługującym model. system.serving.served_entities Tak 365 dni Regionalne
zdarzenia dostępu do sieci (publiczna wersja zapoznawcza) Tabela, która rejestruje zdarzenie za każdym razem, gdy dostęp do Internetu zostanie odrzucony z twojego konta. system.access.outbound_network Tak 365 dni Regionalne

Rozliczane użycie i tabele cenowe są bezpłatne. Tabele w publicznej wersji zapoznawczej są również bezpłatne do użycia podczas korzystania z wersji zapoznawczej, ale w przyszłości mogą zostać naliczone opłaty.

Uwaga

Inne tabele systemowe mogą być widoczne na twoim koncie oprócz tych wymienionych powyżej. Te tabele są obecnie w prywatnej wersji zapoznawczej i są domyślnie puste. Jeśli interesuje Cię użycie dowolnej z tych tabel, skontaktuj się z zespołem ds. kont usługi Databricks.

Włączanie schematów tabel systemowych

Ponieważ tabele systemowe są zarządzane przez wykaz aparatu Unity, musisz mieć co najmniej jeden obszar roboczy z obsługą wykazu aparatu Unity na koncie, aby włączyć tabele systemowe i uzyskiwać do nich dostęp. Tabele systemowe zawierają dane ze wszystkich obszarów roboczych na twoim koncie, ale mogą być dostępne tylko z obszaru roboczego z obsługą wykazu aparatu Unity.

Tabele systemowe są włączone na poziomie schematu. Jeśli włączysz schemat systemu, włączysz wszystkie tabele w tym schemacie. Po wydaniu nowych schematów administrator konta musi ręcznie włączyć schemat.

Tabele systemowe muszą być włączone przez administratora konta. Tabele systemowe można włączyć przy użyciu poleceń system-schemas w interfejsie wiersza polecenia usługi Databricks lub przy użyciu interfejsu API SystemSchemas.

Uwaga

Schemat billing jest domyślnie włączony. Inne schematy muszą być włączone ręcznie.

Wyświetlanie listy dostępnych schematów systemowych

Użyj następującego polecenia curl, aby wyświetlić listę dostępnych schematów systemowych:

curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"

Poniżej przedstawiono przykładowe dane wyjściowe GET polecenia:

{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}

state: AVAILABLE: Schemat systemu jest dostępny, ale nie został jeszcze włączony.

state: EnableCompleted: Włączono schemat systemu i jest on widoczny w Eksploratorze wykazu.

Włączanie schematu systemowego

Użyj następującego polecenia curl, aby włączyć schemat systemu:

curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Jeśli schemat systemu jest włączony pomyślnie, zwracany jest kod 200 wyniku.

W przypadku próby ponownego włączenia schematu systemu zwracane są następujące elementy: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists".

Wyłączanie schematu systemowego

Użyj następującego polecenia curl, aby wyłączyć schemat systemowy:

curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Udzielanie dostępu do tabel systemowych

Dostęp do tabel systemowych podlega katalogowi aparatu Unity. Żaden użytkownik nie ma domyślnie dostępu do tych schematów systemowych. Aby udzielić dostępu, użytkownik, który jest zarówno administratorem magazynu metadanych, jak i administratorem konta, musi przyznać USE schematy systemowe i SELECT uprawnienia. Zobacz Zarządzanie uprawnieniami w wykazie aparatu Unity.

Tabele systemowe są tylko do odczytu i nie można ich modyfikować.

Uwaga

Jeśli twoje konto zostało utworzone po 9 listopada 2023 r., być może nie masz domyślnie administratora magazynu metadanych. Aby uzyskać więcej informacji, zobacz Konfigurowanie wykazu aparatu Unity i zarządzanie nim.

Czy tabele systemowe zawierają dane dla wszystkich obszarów roboczych na twoim koncie?

Tabele systemowe zawierają dane operacyjne dla wszystkich obszarów roboczych na koncie wdrożonym w tym samym regionie chmury. Tabele systemu rozliczeniowego zawierają dane dotyczące całego konta.

Mimo że dostęp do tabel systemowych można uzyskać tylko za pośrednictwem obszaru roboczego wykazu aparatu Unity, tabele zawierają również dane operacyjne dla obszarów roboczych wykazu innych niż Unity na twoim koncie.

Gdzie są przechowywane dane tabeli systemowej?

Dane tabeli systemowej konta są przechowywane na koncie magazynu hostowanego w usłudze Azure Databricks znajdującym się w tym samym regionie co magazyn metadanych. Dane są bezpiecznie udostępniane Za pomocą funkcji udostępniania różnicowego.

Każda tabela ma bezpłatny okres przechowywania danych. Aby uzyskać informacje na temat rozszerzania okresu przechowywania, skontaktuj się z zespołem konta usługi Azure Databricks.

Gdzie znajdują się tabele systemowe w Eksploratorze wykazu?

Tabele systemowe na twoim koncie znajdują się w wykazie o nazwie system, który znajduje się w każdym magazynie metadanych wykazu aparatu Unity. W wykazie system zostaną wyświetlone schematy, takie jak access i billing zawierające tabele systemowe.

Zagadnienia dotyczące tabel systemowych przesyłania strumieniowego

Usługa Azure Databricks używa funkcji Delta Sharing do udostępniania danych tabeli systemowej klientom. Podczas przesyłania strumieniowego przy użyciu funkcji udostępniania różnicowego należy pamiętać o następujących kwestiach:

  • Jeśli używasz przesyłania strumieniowego z tabelami systemowymi, ustaw skipChangeCommits opcję na true. Dzięki temu zadanie przesyłania strumieniowego nie zostanie przerwane z usuwania w tabelach systemowych. Zobacz Ignorowanie aktualizacji i usuwanie.
  • Trigger.AvailableNow nie jest obsługiwana w przypadku przesyłania strumieniowego udostępniania różnicowego. Zostanie on przekonwertowany na Trigger.Once.

Jeśli używasz wyzwalacza w zadaniu przesyłania strumieniowego i okaże się, że nie nadrabia zaległości do najnowszej wersji tabeli systemu, usługa Databricks zaleca zwiększenie zaplanowanej częstotliwości zadania.

Odczytywanie przyrostowych zmian z tabel systemowych przesyłania strumieniowego

spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")

Znane problemy

  • Obecnie nie ma obsługi monitorowania w czasie rzeczywistym. Dane są aktualizowane przez cały dzień. Jeśli nie widzisz dziennika dla ostatniego zdarzenia, sprawdź ponownie później.

  • Aby włączyć tabele systemowe, może być konieczne przyznanie dostępu sieciowego do punktu końcowego Blob Storage w tabelach systemowych. Aby wyświetlić listę punktów końcowych magazynu tabel systemowych każdego regionu, zobacz Adresy IP punktu końcowego magazynu.

  • Schematy system.operational_data systemowe i system.lineage są przestarzałe i będą zawierać puste tabele.

  • __internal_logging Schemat tabeli systemowej służy do obsługi rejestrowania ładunków przy użyciu tabel wnioskowania. Ten schemat jest widoczny dla administratorów kont, ale nie można go włączyć i nie należy go używać w przypadku przepływów pracy klienta.