监控 Snowflake Connector for PostgreSQL¶
备注
使用 Snowflake Connector for PostgreSQL 需遵守 Connector 条款。
以下部分描述了如何通过查询视图和检查日志文件来监控连接器:
查看有关连接器的一般信息¶
要查看有关连接器的一般信息,请运行 DESCRIBE APPLICATION 命令:
DESCRIBE APPLICATION <app_db_name>;其中:
app_db_name
指定连接器数据库的名称。
要查看有关连接器的更具体信息,请查询 PUBLIC.CONNECTOR_CONFIGURATION
视图:
SELECT * FROM PUBLIC.CONNECTOR_CONFIGURATION;
PUBLIC.CONNECTOR_CONFIGURATION
视图为针对连接器配置的每个参数显示一行。
下表描述了这些参数:
参数 |
描述 |
---|---|
alertingLogsView |
如果 启用了电子邮件通知,则此参数指定 提供事件表访问权限的视图 的名称。 |
alertingNotificationIntegration |
如果 启用了电子邮件通知,则此参数指定用于电子邮件通知的通知集成对象的名称。 |
alertingRecipients |
如果 启用了电子邮件通知,则此参数指定可以接收来自连接器的电子邮件通知的电子邮件地址列表(用逗号分隔)。 |
alertingSchedule |
如果 启用了电子邮件通知,则此参数指定连接器应检查错误并发送通知的计划或频率。 |
operational_warehouse |
连接器使用的运营仓库名称。 |
warehouse |
用于合并数据的计算仓库的名称。 |
查看数据源¶
要查看有关数据源的信息,请查询 PUBLIC.DATA_SOURCES
视图:
SELECT * FROM PUBLIC.DATA_SOURCES;
PUBLIC.DATA_SOURCES
视图为针对连接器配置的每个数据源显示一行。该视图包含以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
NAME |
VARCHAR |
数据源名称。 |
SCHEDULE |
VARCHAR |
运行复制的时间表。如果该数据源的计划复制被禁用,则显示 NULL。 |
DESTINATION_DB_NAME |
VARCHAR |
目标数据库的名称。 |
查看数据源的复制状态¶
要查看数据源的当前复制状态,请查询 PUBLIC.DATA_SOURCE_REPLICATION_STATE
视图:
SELECT * FROM PUBLIC.DATA_SOURCE_REPLICATION_STATE;
PUBLIC.DATA_SOURCE_REPLICATION_STATE
视图为连接器中配置的每个数据源显示一行。该视图包含以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
NAME |
VARCHAR |
数据源名称。 |
TABLES_ADDED_COUNT |
NUMBER |
此数据源中主动复制的表数量。此数字不包括复制永久失败的表。 |
CONNECTED_AGENT_ID |
VARCHAR |
分配给数据源的代理应用程序的 ID。 |
SCHEDULE |
VARCHAR |
运行复制的时间表。如果该数据源的计划复制被禁用,则显示 NULL。 |
REPLICATION_STATUS |
VARCHAR |
数据源的复制状态。可能的值如下:
|
PREVIOUS_SCHEDULED_RUN_STATUS |
VARCHAR |
上一个计划复制的状态。如果该数据源的计划复制被禁用,则显示 NULL。可能的值如下:
|
PREVIOUS_RUN_FINISHED_AT |
TIMESTAMP_NTZ |
上次计划复制结束的时间戳。如果该数据源的计划复制被禁用,则显示 NULL。 |
查看源表的复制状态¶
要查看每个源表的当前复制状态,请查询 PUBLIC.REPLICATION_STATE
视图:
SELECT * FROM PUBLIC.REPLICATION_STATE;
PUBLIC.REPLICATION_STATE
视图为每个源表显示一行。该视图包含以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
DATA_SOURCE_NAME |
VARCHAR |
包含源表的数据源名称 |
SCHEMA_NAME |
VARCHAR |
源表的架构名称 |
TABLE_NAME |
VARCHAR |
源表的名称 |
REPLICATION_PHASE |
VARCHAR |
当前复制阶段。可能的值如下:
有关每种状态的说明,请参阅 了解复制阶段。 |
SCHEMA_INTROSPECTION_STATUS |
VARCHAR |
当前架构自检状态。可能的值如下:
|
SNAPSHOT_REPLICATION_STATUS |
VARCHAR |
当前快照复制状态。可能的值如下:
|
INCREMENTAL_REPLICATION_STATUS |
VARCHAR |
当前增量复制状态。可能的值如下:
|
了解复制阶段¶
每个源表的复制可以在以下复制阶段进行:
复制阶段 |
描述 |
---|---|
|
正在检查源表的架构。此阶段完成后,目标表即会创建。 |
|
连接器正在处理源表的快照加载。 |
|
初始加载已完成,正在使用变更数据捕获流程复制数据。 |
备注
您可以从头开始 FAILED 的复制,方法是从复制中移除表,然后按照 为 Snowflake Connector for PostgreSQL 配置复制 中所述再次添加它。
查看表架构版本历史记录¶
要查看表架构更改的历史记录,请使用类似以下所示的命令查询 PUBLIC.SCHEMA_CHANGE_HISTORY
视图:
SELECT * FROM PUBLIC.SCHEMA_CHANGE_HISTORY;
PUBLIC.SCHEMA_CHANGE_HISTORY
视图为每个表的有效架构版本显示一行或两行。
该视图包含以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
DATA_SOURCE_NAME |
VARCHAR |
源表数据源名称。 |
SCHEMA_NAME |
VARCHAR |
源表架构名称。 |
TABLE_NAME |
VARCHAR |
源表名称。 |
VERSION |
INTEGER |
架构版本标识符,初始值为 0,并在每次架构更改时递增 1。如果在移除表后再重新添加表,编号将从零重新开始。 |
STATE |
VARCHAR |
其中之一:
最初,在复制开始时,仅包含一行,值为 APPLIED。在后续有效架构变更后,该列将包括两行:一行状态为 ACCEPTED,另一行状态为 APPLIED。 |
SOURCE_SCHEMA |
VARIANT |
描述源表架构的 JSON。 |
DESTINATION_TABLE_SCHEMA |
VARIANT |
描述在应用此架构版本后目标表架构的 JSON。 |
INSERTED_AT |
TIMESTAMP_NTZ |
插入此记录时的 UTC 时间戳。 |
查看连接器指标¶
要查看连接器复制指标,请查询 PUBLIC.CONNECTOR_STATS
视图:
SELECT * FROM PUBLIC.CONNECTOR_STATS;
PUBLIC.CONNECTOR_STATS
视图显示了在增量加载复制阶段期间,将数据定期合并到目标表中的每一行。
备注
在此视图中,给定表的首次运行时间和数据量将大于之后的典型运行。这是因为连接器在初始加载阶段会收集表的增量更新,但只有在复制整个表后才会对其进行处理。
该视图包含以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
RESOURCE_INGESTION_DEFINITION_ID |
VARCHAR |
复制表的标识符,由数据源名称、架构名称和表名称构成。 |
INGESTION_CONFIGURATION_ID |
VARCHAR |
日后集成的内部列。 |
INGESTION_PROCESS_ID |
VARCHAR |
合并过程的 ID。 |
INGESTION_DEFINITION_NAME |
VARCHAR |
日后集成的内部列。 |
DATA_SOURCE_NAME |
VARCHAR |
表所属数据源的名称。 |
SCHEMA_NAME |
VARCHAR |
表的架构名称。 |
RESOURCE_NAME |
VARCHAR |
表名称。 |
STARTED_AT |
TIMESTAMP_NTZ |
从源数据库读取合并到目标表的一批记录中的第一条记录的时间。 |
STATUS |
VARCHAR |
合并过程状态。可能的值如下:
|
INGESTED_ROWS |
NUMBER |
批次中合并的行数 |
INGESTION_DURATION_S |
NUMBER |
批处理时间(以秒为单位),计算方法是观察到的第一条记录与合并到目标表的一批记录之间的时间差。 |
NATIVE_APP_PROCESSING_DURATION_S |
NUMBER |
Snowflake 端的数据处理持续时间(以秒为单位)。 |
AGENT_PROCESSING_DURATION_S |
NUMBER |
代理端的数据处理持续时间(以秒为单位)。 |
THROUGHPUT_RPS |
NUMBER |
连接器吞吐量,以每秒记录数 (RPS) 为单位。考虑到整体处理时间。 |
NATIVE_APP_THROUGHPUT_RPS |
NUMBER |
Snowflake 端的数据处理吞吐量,以每秒记录数 (RPS) 为单位。 |
查看汇总的连接器指标¶
要查看连接器复制指标,请查询 PUBLIC.AGGREGATED_CONNECTOR_STATS
视图:
SELECT * FROM PUBLIC.AGGREGATED_CONNECTOR_STATS;
PUBLIC.AGGREGATED_CONNECTOR_STATS
视图显示了每小时汇总的连接器指标。还提供了包括数据源名称、架构名称和表名称的附加列,以便进一步汇总和分析。
该视图包含以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
DATE |
DATE |
汇总日期,按小时。 |
PROCESSED_ROWS_COUNT |
NUMBER |
在汇总时间内为表引入的行数总和。 |
THROUGHPUT_RPS |
NUMBER |
在汇总时间内表的吞吐量,以每秒记录数 (RPS) 为单位。 |
DATA_SOURCE_NAME |
VARCHAR |
表所属数据源的名称。 |
SCHEMA_NAME |
VARCHAR |
表的架构名称。 |
SOURCE_TABLE_NAME |
VARCHAR |
表名称。 |
查看实验视图¶
连接器还附带几个附加视图,其中包含有关连接器状态的底层信息,并支持状态变更历史记录跟踪。这些视图可在 PUBLIC
架构中找到,视图名称以前缀 EXPERIMENTAL
开头。
下表总结了当前可用的实验视图:
视图名称 |
描述 |
---|---|
EXPERIMENTAL_TABLE_REPLICATION_HISTORY |
连接器中所有启用的源表的状态变更历史记录。 |
EXPERIMENTAL_DATA_SOURCE_REPLICATION_HISTORY |
连接器中所有配置的数据源的状态变更历史记录。 |
EXPERIMENTAL_EVENTS_HISTORY |
连接器中发生的所有事件的历史记录。 |
备注
实验视图可能会发生变化,并且可以在未来的连接器版本中进行修改或移除。
查看连接器审计日志视图¶
要查看连接器中用户操作的审计日志,请查询 PUBLIC.AUDIT_LOG
视图:
SELECT * FROM PUBLIC.AUDIT_LOG;
PUBLIC.AUDIT_LOG
视图为连接器记录的每个用户发起的操作显示一行。
该视图包含以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
ACTION_TIME |
TIMESTAMP_NTZ |
操作发生的时间。 |
ACTION_TYPE |
VARCHAR |
操作类型。 |
PARAMETERS |
VARIANT |
操作的附加参数。 |
此视图中记录的操作包括:
已添加数据源
已启用表复制
已禁用表复制
已为数据源启用计划复制
已为数据源禁用计划复制
查看代理审计日志视图¶
要查看连接器中代理操作的审计日志,请查询 PUBLIC.AGENT_AUDIT_LOG
视图:
SELECT * FROM PUBLIC.AGENT_AUDIT_LOG;
PUBLIC.AGENT_AUDIT_LOG
视图会为连接器注册的每个代理报告的操作显示一行。
该视图包含以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
ACTION_TIME |
TIMESTAMP_NTZ |
操作发生的时间。 |
ACTION_TYPE |
VARCHAR |
操作类型。 |
PARAMETERS |
VARIANT |
操作的附加参数。 |
此视图中显示的操作包括:
已将代理分配给数据源
已取消将代理分配给数据源
已注册代理
已取消注册代理
已启动快照加载
已完成快照加载
快照加载失败
已终止快照加载
架构自检成功
架构自检失败
已启动增量加载
已停止增量加载
增量加载失败
已终止增量加载
已报告架构变更
查看连接器日志¶
要查看连接器日志,请查询您在设置连接器 日志视图 时创建的事件表。
SELECT * FROM <fully_qualified_event_table_name>
WHERE RECORD_TYPE = 'LOG'
AND RESOURCE_ATTRIBUTES:"snow.database.name" = '<app_db_name>';
其中:
fully_qualified_event_table_name
指定事件表的完全限定名称。
app_db_name
指定连接器数据库的名称。
查看代理日志¶
当代理运行时,它会定期将日志发送到 Snowflake。这些日志可以在
AGENT_LOGS
视图中获取,并可以使用以下查询进行检索:SELECT * FROM PUBLIC.AGENT_LOGS;
后续步骤¶
如果需要,在完成这些过程后,请查看 Snowflake Connector for PostgreSQL 故障排除 中的步骤。