Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.
Tato stránka dokumentuje tabulky Lakebase zapisuje do schématu katalogu Unity, jakmile nakonfigurujete pozorovatelnost projektu. Přehledy a Genie čtou stejná data a protože jsou ve vašem vlastním katalogu Unity, můžete je dotazovat přímo pomocí libovolného nástroje Azure Databricks.
Note
Toto je funkce beta verze. Názvy tabulek a sloupců se můžou před obecnou dostupností změnit.
Co se zachytí
Lakebase zachycuje signály, které by zkušený DBA vyhledával, a po exportu je ukládá do několika tabulek, na které se můžete přímo dotazovat:
| Co je zachyceno | Kam dopadne |
|---|---|
| Aktivní relace a události čekání |
active_session_history, wait_event_counters |
| Plány dotazů a statistiky provádění pro jednotlivé dotazy |
plan_history, pg_stat_statements_counters |
| Změny schématu: co se změnilo, kdy a kým | ddl_history |
| Statistika databáze: velikost, čtení a úpravy řádků a počty relací |
database_counters, database_gauges |
| Využití výpočetních prostředků: procesor, paměť, mezipaměť, připojení |
compute_counters, compute_gauges |
| Surové zprávy z protokolu Postgresu, včetně chyby, která selhání způsobila | postgres_logs |
Insights a Genie tato data čtou, aby své odpovědi zakotvily v tom, co se skutečně stalo ve vaší databázi, a stejné tabulky pohánějí hotové dashboardy pozorovatelnosti. Zbytek této stránky dokumentuje každý sloupec v každé tabulce.
Sloupce společné pro každou tabulku
Každá tabulka níže obsahuje tyto sloupce, které identifikují, odkud řádek pochází:
| Sloupec | Typ | Description |
|---|---|---|
project_id |
STRING | Projekt Lakebase, ze které řádek pochází. |
branch_id |
STRING | Větev, ze které řádek pochází. |
endpoint_id |
STRING | Výpočetní koncový bod, ze které řádek pochází. |
compute_id |
STRING | Konkrétní výpočetní instance. To se změní, když se výpočetní prostředky škálují na nulu a obnoví se. |
ts |
TIMESTAMP | Když byl řádek zaznamenán. |
compute_mode |
STRING | Režim výpočetních prostředků v době, například pro čtení i zápis nebo jen pro čtení. |
Tabulky s názvy končícími _counters také obsahují previous_ts sloupec, který označuje začátek intervalu, ve které byly hodnoty řádku kumulované. Jedná se o kumulativní hodnoty pro tento interval, nikoli čtení k určitému bodu v čase. Tabulky končící _gauges na čtení k určitému bodu v čase a nemají žádné previous_ts.
Následující tabulky uvádějí jenom sloupce nad rámec těchto běžných sloupců.
Aktivita relace
Snímek každého aktivního back-endu, který se průběžně vzorkuje. Jedná se o stejný vzor jako AWS Performance Insights nebo Aktivní historie relací Oracle (ASH): Pokud relace dělá něco, včetně čekání, zobrazí se tady.
active_session_history
| Sloupec | Typ | Description |
|---|---|---|
sample_seq |
LONG | Pořadové umístění tohoto vzorku v rámci dávky. |
pid |
LONG | ID procesu back-endu. |
datid |
LONG | ID objektu databáze. |
userid |
LONG | ID objektu propojovací role. |
queryid |
LONG | Identifikuje spuštěný dotaz. Shody queryid v pg_stat_statements_counters. |
wait_event_info |
LONG | Interní kódování události čekání. |
wait_event_type |
STRING | Kategorie události čekání, například Timeout nebo Lock. |
wait_event |
STRING | Konkrétní událost čekání, například PgSleep. |
backend_state |
LONG | Stav back-endu, například aktivní nebo nečinný. |
backend_type |
LONG | Typ back-endového procesu. |
xact_age_ms |
LONG | Jak dlouho byla aktuální transakce otevřena. |
query_age_ms |
LONG | Jak dlouho je aktuální dotaz spuštěný. |
blocking_pid |
LONG | PID relace blokující tuto relaci, pokud existuje. |
leader_pid |
LONG | PiD vedoucího paralelního dotazu, pokud je tento back-end paralelním pracovním procesem. |
flags |
LONG | Příznaky interního stavu. |
plan_fingerprint |
LONG | Odkazy na určitý obrazec plánu v plan_history. |
appname_hash |
LONG | Hodnota hash názvu propojovací aplikace. |
Události čekání
Agregované počty událostí čekání a čas, které doplňují zobrazení pro jednotlivé vzorky v active_session_historysouboru .
wait_event_counters
| Sloupec | Typ | Description |
|---|---|---|
wait_event_id |
LONG | Interní kódování události čekání. |
wait_class_name |
STRING | Kategorie události čekání. |
wait_event_name |
STRING | Konkrétní událost čekání. |
wait_event_count |
LONG | Kolikrát k této události čekání došlo v intervalu. |
wait_event_time |
DVOJITÝ | Celková doba strávená v této události čekání během intervalu. |
Plány dotazů
Záznam plánů dotazů pro jednotlivé spuštění, včetně úplného plánu a statistik úložiště specifického pro Neon. Toto je nejpodrobnější tabulka, která obvykle končí pomalým zkoumáním dotazů.
plan_history
| Sloupec | Typ | Description |
|---|---|---|
row_position |
LONG | Pořadové umístění tohoto řádku v rámci dávky. |
analyze_enabled |
BOOLEAN | Zda plán zahrnuje skutečné statistiky provádění (EXPLAIN ANALYZE), nejen odhady. |
buffers_enabled |
BOOLEAN | Určuje, jestli plán zahrnuje statistiky využití vyrovnávací paměti. |
query_hash |
STRING | Hodnota hash identifikující text dotazu |
queryid |
LONG | Identifikuje dotaz. Shody queryid v pg_stat_statements_counters a active_session_history. |
duration_ms |
DVOJITÝ | Jak dlouho trvalo spuštění dotazu. |
total_cost |
DVOJITÝ | Odhadované náklady plánovače na dotaz. |
plan_rows |
LONG | Odhadovaný počet řádků plánovače. |
actual_rows |
LONG | Vrácený skutečný počet řádků. |
plan_fingerprint |
LONG | Identifikuje tento konkrétní obrazec plánu. Shody plan_fingerprint v active_session_history. |
lock_wait_time_ms |
DVOJITÝ | Čas strávený čekáním na zámky. |
planning_time_ms |
DVOJITÝ | Čas strávený plánováním dotazu odděleně od provádění |
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written |
LONG | Aktivita mezipaměti sdílené vyrovnávací paměti pro toto spuštění |
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written |
LONG | Aktivita místní vyrovnávací paměti pro dočasné tabulky. |
temp_blks_read / temp_blks_written |
LONG | Dočasná aktivita souboru, například z velkého řazení nebo hodnoty hash. |
neon_getpage_count |
LONG | Počet požadavků stránek odeslaných na stránkovací server |
neon_file_cache_hits |
LONG | Početstránekch |
neon_getpage_wait_us |
LONG | Čas strávený čekáním na požadavky stránek pageserveru v mikrosekundách |
backend_pid |
LONG | ID procesu back-endu, které spustilo tento dotaz. |
lock_wait_count |
LONG | Kolikrát toto spuštění čekalo na uzamčení. |
userid / dbid |
LONG | ID objektů propojovací role a databáze. |
query_text |
STRING | Text dotazu. |
plan_json |
STRING | Úplný plán dotazu ve formátu JSON. |
usename / datname |
STRING | Názvy propojovacích rolí a databází. |
application_name / client_addr |
STRING | Název a adresa klienta připojující se aplikace. |
wait_events |
STRING | Události čekání pozorované během tohoto spuštění. |
parameters |
STRING | Pokud existuje, vytvořte vazbu parametrů použitých v dotazu. |
blocking_pids |
STRING | ID relací, které blokovaly toto spuštění( pokud existuje). |
neon_branch_id / neon_endpoint_id / neon_timeline_id |
STRING | Interní identifikátory Neonu pro větev, koncový bod a časovou osu. |
cpu_user_time_ms / cpu_sys_time_ms |
DVOJITÝ | Čas procesoru spotřebovaný tímto spuštěním, rozdělený do uživatelského a systémového času. |
voluntary_csw / involuntary_csw |
LONG | Kontext se během tohoto spuštění přepne. |
trace_id / span_id / trace_flags / service_name |
ŘETĚZEC / ŘETĚZEC / DLOUHÝ / ŘETĚZEC | Identifikátory trasování ve stylu OpenTelemetry, pokud byl dotaz součástí trasovaného požadavku. |
timeline_id |
LONG | Interní identifikátor časové osy. |
truncated |
BOOLEAN | Zda byla data tohoto řádku (například velký plán) před zápisem zkrácena. |
Statistika dotazů
Agregované statistiky pro jednotlivé dotazy, které pocházejí ze standardního pg_stat_statements rozšíření.
pg_stat_statements_counters
| Sloupec | Typ | Description |
|---|---|---|
userid / dbid |
LONG | ID objektů propojovací role a databáze. |
queryid |
LONG | Identifikuje dotaz. Shody queryid v plan_history a active_session_history. |
toplevel |
BOOLEAN | Určuje, jestli se tento řádek používá pro příkaz nejvyšší úrovně, na rozdíl od jednoho vnořeného uvnitř funkce PL/pgSQL nebo procedury. Podívejte se na omezení PL/pgSQL. |
query |
STRING | Text dotazu. |
calls |
LONG | Počet spuštění tohoto dotazu v intervalu |
plans |
LONG | Kolikrát byl tento dotaz v intervalu naplánován. |
rows |
LONG | Celkový počet vrácených nebo ovlivněných řádků |
total_exec_time / total_plan_time |
DVOJITÝ | Celkový čas strávený prováděním a plánováním tohoto dotazu v intervalu |
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written |
LONG | Aktivita mezipaměti sdílené vyrovnávací paměti. |
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written |
LONG | Aktivita místní vyrovnávací paměti pro dočasné tabulky. |
temp_blks_read / temp_blks_written |
LONG | Aktivita dočasného souboru |
wal_bytes / wal_fpi / wal_records |
LONG | Svazek protokolu s hlavičkou zápisu vygenerovaný tímto dotazem |
jit_emission_count / jit_emission_time / jit_functions / jit_generation_time / jit_inlining_count / jit_inlining_time / jit_optimization_count / jit_optimization_time |
Mixed | Statistika kompilace JIT (just-in-time), pokud se pro tento dotaz použila JIT. |
Změny schémat
Změny schématu: co se změnilo, kdy a kým. To je to, co Genie čte, aby trasování incidentu zpět na změnu schématu, ať už z nasazení nebo ruční úpravy.
ddl_history
| Sloupec | Typ | Description |
|---|---|---|
row_position |
LONG | Pořadové umístění tohoto řádku v rámci dávky. |
command_tag |
STRING | Typ příkazu DDL, například ALTER TABLE. |
object_type / object_name |
STRING | Druh a název objektu, který se změnil. |
schema_name |
STRING | Schéma Postgres, do kterého objekt patří. |
query_text |
STRING | Úplný příkaz DDL. |
duration_ms |
DVOJITÝ | Jak dlouho trvalo spuštění příkazu DDL. |
userid / usename |
DLOUHÉ / STRUNOVÉ | ID a název objektu propojovací role. |
application_name |
STRING | Název připojené aplikace. |
backend_pid |
LONG | ID procesu back-endu, které příkaz spustil. |
dbid |
LONG | ID objektu databáze. |
search_path |
STRING | Cesta k hledání relace v době. |
ddl_json |
STRING | Strukturovaná, parsovaná reprezentace příkazu DDL. |
Note
Zachytávání DDL má skutečnou mezeru: změnu provedenou přímo kolem obnovení výpočetních prostředků ze škálování na nulu je možné vynechat. Pokud se tady změna schématu nezobrazí, i když víte, že k ní došlo, je to nejpravděpodobnější důvod. Viz Omezení.
Protokoly Postgres
Nezpracované zprávy protokolu Postgres, včetně konkrétní chyby za selháním
postgres_logs
| Sloupec | Typ | Description |
|---|---|---|
sample_seq |
LONG | Pořadové umístění tohoto řádku v rámci dávky. |
elevel |
LONG | Kódování na úrovni interního protokolu |
severity |
STRING | Závažnost protokolu, například ERRORLOG. |
sqlstate |
STRING | Kód chyby Postgres SQLSTATE, například 42703 pro nedefinovaný sloupec. |
backend_pid / leader_backend_pid |
LONG | ID procesu back-endu a jeho PID paralelního dotazu, pokud je to možné. |
userid / usename |
DLOUHÉ / STRUNOVÉ | ID a název objektu propojovací role. |
datid / datname |
DLOUHÉ / STRUNOVÉ | ID a název objektu databáze. |
application_name / client_addr |
STRING | Název a adresa klienta připojující se aplikace. |
schema_name / table_name / column_name / constraint_name / datatype_name |
STRING | Schéma, tabulka, sloupec, omezení nebo datový typ odkazovaný chybou, pokud má postgres jeden. |
funcname |
STRING | Funkce, ve které došlo k chybě, pokud je k dispozici. |
filename / lineno |
ŘETĚZEC / DLOUHÝ | Zdrojový soubor Postgres a řádek chyby pocházející z. |
message |
STRING | Text zprávy protokolu. |
detail / hint / context |
STRING | Další podrobnosti, navrhovaná oprava a kontext chyby, když je Postgres obsahuje. |
internalquery |
STRING | Interně vygenerovaný dotaz související s chybou( pokud je k dispozici). |
statement |
STRING | Příkaz, který aktivoval tuto položku protokolu. |
truncated_mask |
LONG | Určuje, která pole byla před zápisem zkrácena. |
Note
Strukturované schema_namepole table_namea column_name pole nejsou vyplněny pro každý typ chyby. Prostý "sloupec neexistuje" parsuje chybu (SQLSTATE 42703), například je ponechá prázdné, i když message sloupec pojmenuje přímo. Nespoléhejte na vyplňování těchto polí. Nejdřív zkontrolujte message .
Výpočetní metriky
Využití prostředků na úrovni výpočetních prostředků: procesor, paměť, disk a síťový vstupně-výstupní operace a mezipaměť místních souborů (LFC), mezipaměť lakebase na straně výpočetních prostředků před stránkovacím serverem.
compute_counters
| Sloupec | Typ | Description |
|---|---|---|
backpressure_throttling_seconds |
DVOJITÝ | Čas, kdy vrstva úložiště v tomto intervalu strávila omezováním zápisů. Nenulová hodnota znamená, že svazek zápisu překročil, jaké úložiště může absorbovat. |
host_busiest_cpu_seconds / host_cpu_seconds |
DVOJITÝ | Doba využití procesoru pro nejužší jádro a celkem. |
host_disk_read_bytes / host_disk_written_bytes |
DVOJITÝ | Vstupně-výstupní svazek disku. |
host_network_receive_bytes / host_network_transmit_bytes |
DVOJITÝ | Svazek vstupně-výstupních operací sítě. |
lfc_evictions / lfc_hits / lfc_misses / lfc_writes |
LONG | Aktivita místní mezipaměti souborů pro tento interval. |
replica_lfc_redo_evictions |
LONG | Vyřazení místní mezipaměti souborů způsobené opakováním repliky, pokud se jedná o repliku pro čtení. |
compute_gauges
| Sloupec | Typ | Description |
|---|---|---|
current_lsn |
LONG | Aktuální pozice protokolu před zápisem. |
replica_wal_replay_lsn / replica_wal_receive_lsn |
LONG | Wal replay and receive positions, if this compute is a read replica. |
max_connections |
LONG | Nakonfigurovaný limit připojení. |
lfc_working_set_size_5m / lfc_working_set_size_15m / lfc_working_set_size_60m |
LONG | Odhadovaná velikost pracovní sady za posledních 5, 15 a 60 minut |
lfc_size_limit / lfc_allocated / lfc_used |
LONG | Kapacita místní mezipaměti souborů a aktuální využití |
total_size_limit / total_size |
LONG | Celková kapacita úložiště a aktuální využití |
replication_lag_bytes / replication_lag_time_ms |
DLOUHÝ / DVOJITÝ | Prodleva replikace, pokud se jedná o repliku pro čtení. |
host_logical_cpus / host_memory_total_bytes |
DVOJITÝ | Zřízený procesor a paměť výpočetních prostředků. |
Databázové metriky
Aktivita pro databázi: změněné řádky, transakce, relace a stav vakua. To je místo, kde tabulka bloudí a autovacuum signály živě.
database_counters
| Sloupec | Typ | Description |
|---|---|---|
datid / datname |
DLOUHÉ / STRUNOVÉ | ID a název objektu databáze. |
active_time_ms / idle_in_transaction_time_ms / session_time_ms |
DVOJITÝ | Čas strávený aktivní, nečinný v otevřené transakci a celkově propojený. |
deadlocks |
LONG | Počet zjištěných vzájemných zablokování |
rows_deleted / rows_fetched / rows_inserted / rows_returned / rows_updated |
LONG | Aktivita na úrovni řádků pro interval |
sessions_abandoned / sessions_established / sessions_fatal / sessions_killed |
LONG | Počty životního cyklu relace. |
shared_blks_hit / shared_blks_read |
LONG | Aktivita mezipaměti sdílené vyrovnávací paměti. |
xact_commit / xact_rollback |
LONG | Potvrzené a vrácené transakce. |
database_gauges
| Sloupec | Typ | Description |
|---|---|---|
datid / datname |
DLOUHÉ / STRUNOVÉ | ID a název objektu databáze. |
numbackends |
LONG | Aktuální počet připojení k této databázi |
size |
LONG | Velikost databáze na disku. |
oldest_frozen_xid_age / oldest_mxid_age |
LONG | ID transakce a stáří vícenásobného ID nejstaršího řádku unfrozen. Rostoucí hodnoty jsou nejstarším signálem vakua, který padá za sebou, před tím, než se bloat stane viditelným ve velikosti tabulky. |
Omezení
Warning
Pokud vytváříte role pro připojení aplikací, může heslo zadané do CREATE ROLE ... PASSWORD '...' příkazu SQL skončit v historii dotazů nebo příkazů. Vytvořte roli přes UI, SDK, API nebo CLI, které generují heslo na straně serveru, takže ho nikdy nepíšete jako čistý text. Uživatelské rozhraní zobrazí vygenerované heslo jednou. SDK, API a CLI ho nevracejí, takže si heslo získej až potom. Podívejte se na Jak získat heslo.
Během beta verze platí následující omezení:
COPYoperace nejsou aktuálně zachyceny v historii plánů dotazů.Dotaz spuštěný uvnitř funkce PL/pgSQL nebo procedury se nezachytává v telemetrii na úrovni dotazu, pokud také neběží jako příkaz nejvyšší úrovně. Vlastní sledování příkazů Postgres počítá ve výchozím nastavení pouze příkazy nejvyšší úrovně.
Větve a endpointy se v exportovaných telemetrických datech a přehledech zobrazují podle interního ID (například
br-odd-mud-y2icrn1h), nikoli podle zobrazovaného názvu, jako je „produkční“. Pokud potřebujete ověřit, ke které větvi nebo endpointu se daný přehled nebo řádek tabulky vztahuje, porovnejte ID v uživatelském rozhraní Lakebase.GuCs, které umožňují zachytávání telemetrických dat, se nemusí automaticky rozšířit do existujícího výpočetního prostředí. Pokud se telemetrie po konfiguraci pozorovatelnosti nezobrazí, připojte se k projektu a zkontrolujte:
SHOW neon_monitor.log_capture_enabled; SHOW databricks.o11y_exporter_enabled;Oba musí vrátit
on. Pokud kterýkoli z nich vrátí hodnotuoff, restartujte výpočetní koncový bod.
Další kroky
- Najít a vyřešit problémy pomocí Insights: tato data jsou zobrazena jako diagnóza, nikoli jako surové řádky.
- Vyšetřujte s Genie: ptejte se na tuto telemetrii vlastními slovy.