Monitoramento de replicação e failover¶
Este tópico fornece informações sobre como monitorar o progresso, o histórico e os custos da replicação de contas.
Neste tópico:
Como usar o Snowsight para monitorar a replicação¶
Para monitorar o progresso e o status da replicação de grupos de replicação e failover em uma organização, use a página Replication em Snowsight.
É possível visualizar o status e os detalhes das operações de atualização, inclusive:
Status atual da operação de atualização mais recente.
Tempo de atraso da réplica (tempo desde a última operação de atualização).
Distribuição dos tempos de atraso das réplicas entre os grupos.
Data e hora da próxima operação de atualização agendada.
Nota
Snowsight lista os grupos de replicação e failover para os quais sua função tem o privilégio MONITOR, OWNERSHIP ou REPLICATE ativado.
Os detalhes da operação de atualização estão disponíveis apenas para usuários com a função ACCOUNTADMIN ou o privilégio OWNERSHIP no grupo.
É necessário estar conectado à conta de origem ou de destino para visualizar os detalhes da operação de atualização. Caso contrário, você será solicitado a fazer login.
Tanto a conta de origem quanto a conta de destino devem usar o mesmo tipo de conexão (Internet pública). Caso contrário, o login na conta de destino falhará.
Para visualizar o status de replicação de cada grupo de replicação ou failover, conclua as etapas a seguir:
Entre em Snowsight e navegue até Admin » Accounts.
Selecione Replication e depois selecione Groups.
A página Groups exibe detalhes da operação de atualização para todos os grupos para os quais sua função tem privilégio de visualização. Você pode usar os blocos para filtrar a visualização.
Por exemplo, se o bloco Status indicar que há operações de atualização com falha, você poderá selecionar o bloco para investigar o(s) grupo(s) com falhas.
O tempo de atraso no bloco Longest Replication lag refere-se à duração desde a última operação de atualização. Esse é o período de tempo que o grupo de failover ou replicação secundária atrasa em relação ao grupo primário. O maior tempo de atraso é o período de tempo desde que o grupo de replicação secundária mais antigo foi atualizado pela última vez.
Por exemplo, se você tiver três grupos de failover,
fg_1
,fg_2
,fg_3
, com programações de replicação independentes de 10 minutos, 2 horas e 12 horas, respectivamente, o tempo de atraso mais longo poderá ser por até 12 horas. No entanto, sefg_3
tiver sido atualizado recentemente na conta de destino, seu tempo de atraso será redefinido para 0 e um grupo de failover diferente poderá ter um tempo de atraso maior.Você pode selecionar uma barra individual no bloco Group Lag Distribution para filtrar os resultados para um grupo individual.
Você também pode filtrar grupos usando o campo de pesquisa ou os menus suspensos:
Você pode pesquisar por nome do grupo de replicação ou failover usando a caixa
(pesquisa).
Escolha Type para filtrar os resultados por grupo de replicação ou failover.
Escolha Replicating para filtrar por grupos primários (selecione To) ou secundários (selecione From).
Escolha o menu
(contas) para filtrar os resultados por nome da conta.
Escolha Status para filtrar os resultados por status da operação de atualização:
Refresh Cancelled
Refresh Failed
Refresh In Progress
Refresh Successful
Você pode ver os seguintes detalhes sobre seus grupos de replicação e failover:
Coluna |
Descrição |
---|---|
Name |
Nome do grupo de replicação ou failover. |
Is Replicating |
Indica se o grupo está sendo replicado para uma conta de destino ou de uma conta de origem. Se esta coluna contiver destinos disponíveis, não haverá grupos de failover ou replicação secundária. O número de destinos disponíveis indica o número de contas de destino para as quais o grupo primário pode ser replicado. |
Status |
Exibe o status da operação de atualização mais recente. É necessário estar conectado à conta de origem ou de destino para acessar os detalhes da replicação. Se você não estiver conectado, selecione Sign in para visualizar o status da operação de atualização do grupo secundário. Tanto a conta de origem quanto a conta de destino devem usar o mesmo tipo de conexão (Internet pública). Caso contrário, o login na conta de destino falhará. |
Replication Lag |
O período de tempo desde a última operação de atualização. Esse é o período de tempo que o grupo de replicação secundário fica «atrasado» em relação ao grupo de replicação primário. |
Next Refresh |
A data e hora da próxima operação de atualização agendada. |
Você pode selecionar um grupo de replicação ou failover para visualizar informações detalhadas sobre cada operação de atualização. Para obter mais informações, consulte a sessão sobre o histórico de replicação no Snowsight.
Monitoramento do progresso das operações de atualização¶
Esta seção fornece informações sobre como monitorar o progresso da replicação para uma replicação específica ou grupo de failover usando o Snowsight ou SQL.
Use o Snowsight para monitorar o progresso das operações de atualização¶
Você pode visualizar o status de uma operação de atualização em andamento e os detalhes do histórico de operações de atualização usando Snowsight.
Entre em Snowsight e navegue até Admin » Accounts.
Selecione Replication, selecione Groups.
Selecione o nome de um grupo de replicação ou failover.
Para obter mais informações sobre a visualização detalhada, consulte a seção sobre histórico de replicação no Snowsight.
Use SQL para monitorar o andamento das operações de atualização¶
Para monitorar o progresso de uma atualização de um grupo de replicação ou um grupo de failover, consulte a função de tabela REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB (no Snowflake Information Schema).
Exemplo¶
Veja o progresso da operação de atualização mais recente para o grupo de failover myfg
:
SELECT phase_name, start_time, end_time, progress, details
FROM TABLE(INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_PROGRESS('myfg'));
Visualização do histórico de replicação¶
Você pode visualizar o histórico de replicação usando Snowsight ou SQL.
Nota
Você pode visualizar o histórico de replicação dos grupos de replicação e failover para os quais sua função tem o privilégio MONITOR, OWNERSHIP ou REPLICATE ativado.
Use o Snowsight para visualizar o histórico de replicação¶
Você pode visualizar o histórico de replicação e os detalhes de cada operação de atualização de um grupo de replicação ou failover específico na página de detalhes do grupo.
Entre em Snowsight e navegue até Admin » Accounts.
Selecione Replication, selecione Groups.
Selecione o nome de um grupo de replicação ou failover.
Você pode então revisar as seguintes informações sobre o grupo:
Tipo de grupo (grupo de replicação ou grupo de failover).
Programação da replicação (por exemplo, a cada 10 minutos).
Duração de cada operação de atualização.
Tempo de atraso da réplica (tempo desde a última operação de atualização).
Data e hora da próxima operação de atualização agendada.
Você pode filtrar os dados da página por status e período de tempo:
Escolha Status para filtrar os resultados por status da operação de atualização:
Refresh Cancelled
Refresh Failed
Refresh In Progress
Refresh Successful
Escolha Duration para mostrar detalhes da operação de atualização para:
Last hour
Last 24 hours
Last 7 days
All
Selecionar All exibe os últimos 14 dias de operações de atualização.
Os detalhes de cada operação de atualização incluem as seguintes colunas:
Coluna |
Descrição |
---|---|
Query ID |
ID da consulta da operação de atualização. |
Status |
Exibe o status da operação de atualização. Os valores válidos incluem |
Ended |
Data e hora em que a operação de atualização terminou. |
Duration |
O tempo que a operação de atualização levou para ser concluída. O período de duração é dividido e codificado por cores por fase de replicação. A largura de cada segmento colorido indica a porção de tempo gasto naquela fase. A imagem abaixo é apenas para referência. Este gráfico está disponível quando você seleciona a operação de atualização para obter detalhes adicionais. ![]() |
Transferred |
O número de bytes replicados. |
Objects |
O número de objetos replicados. |
Selecione uma linha para visualizar detalhes adicionais sobre uma operação de atualização específica, incluindo:
Duração de cada fase de replicação.
Mensagem de erro (para operações de atualização com falha).
Lista de objetos de banco de dados replicados por tipo e número.
Número de bancos de dados replicados e nomes de bancos de dados.
Use SQL para visualizar o histórico de replicação¶
Para visualizar o histórico de replicação de um grupo específico de replicação ou failover dentro de um intervalo de datas especificado, consulte uma das seguintes opções:
Função de tabela REPLICATION_GROUP_REFRESH_HISTORY (no Snowflake Information Schema).
Exibição REPLICATION_GROUP_REFRESH_HISTORY (em Account Usage).
Exemplos¶
Consulte a função de tabela REPLICATION_GROUP_REFRESH_HISTORY do Information Schema para exibir o histórico de replicação de contas do grupo de failover myfg
nos últimos 7 dias:
SELECT PHASE_NAME, START_TIME, END_TIME, TOTAL_BYTES, OBJECT_COUNT
FROM TABLE(information_schema.replication_group_refresh_history('myfg'))
WHERE START_TIME >= CURRENT_DATE() - INTERVAL '7 days';
Consulte a exibição REPLICATION_GROUP_REFRESH_HISTORY do Account Usage para ver o histórico de replicação da conta no mês atual:
SELECT REPLICATION_GROUP_NAME, PHASE_NAME, START_TIME, END_TIME, TOTAL_BYTES, OBJECT_COUNT
FROM snowflake.account_usage.replication_group_refresh_history
WHERE START_TIME >= DATE_TRUNC('month', CURRENT_DATE());
Monitoramento dos custos de replicação¶
Para monitorar o uso de crédito para replicação, consulte uma das seguintes opções:
Exibição REPLICATION_GROUP_USAGE_HISTORY (em Account Usage).
Função de tabela REPLICATION_GROUP_USAGE_HISTORY (no Snowflake Information Schema).
Exemplos¶
Consulte a função de tabela REPLICATION_GROUP_USAGE_HISTORY para exibir os créditos utilizados para a replicação de contas nos últimos 7 dias:
SELECT start_time, end_time, replication_group_name, credits_used, bytes_transferred
FROM TABLE(information_schema.replication_group_usage_history(date_range_start=>DATEADD('day', -7, CURRENT_DATE())));
Consulte a exibição REPLICATION_GROUP_USAGE_HISTORY do Account Usage para ver os créditos utilizados pelo grupo de replicação ou failover para o histórico de replicação de contas no mês atual:
SELECT start_time,
end_time,
replication_group_name,
credits_used,
bytes_transferred
FROM snowflake.account_usage.replication_group_usage_history
WHERE start_time >= DATE_TRUNC('month', CURRENT_DATE());
Monitoramento dos custos de replicação para bancos de dados¶
O custo de replicação para um banco de dados individual incluído em uma replicação ou grupo de failover pode ser calculado recuperando o número de bytes copiados para o banco de dados e associando-o aos créditos utilizados.
Exemplos¶
Consulta de exibições Account Usage¶
Os exemplos seguintes calculam os custos de replicação de banco de dados em um grupo de replicação para os últimos 30 dias.
Consulte a exibição REPLICATION_GROUP_REFRESH_HISTORY do Account Usage e calcule a soma do número de bytes replicados por banco de dados.
Por exemplo, para calcular a soma do número de bytes replicados para bancos de dados no grupo de replicação
myrg
nos últimos 30 dias:SELECT SUM(value:totalBytesToReplicate) as sum_database_bytes FROM snowflake.account_usage.replication_group_refresh_history rh, LATERAL FLATTEN(input => rh.total_bytes:databases) WHERE rh.replication_group_name = 'MYRG' AND rh.start_time >= CURRENT_DATE() - INTERVAL '30 days';
Observe a saída da soma dos bytes do banco de dados:
+--------------------+ | SUM_DATABASE_BYTES | |--------------------| | 22016 | +--------------------+
Consulte a exibição REPLICATION_GROUP_USAGE_HISTORY do Account Usage e calcule a soma do número de créditos usados e a soma dos bytes transferidos para a replicação.
Por exemplo, para calcular a soma do número de créditos utilizados e a soma dos bytes transferidos para replicação do grupo de replicação
myrg
nos últimos 30 dias:SELECT SUM(credits_used) AS credits_used, SUM(bytes_transferred) AS bytes_transferred FROM snowflake.account_usage.replication_group_usage_history WHERE replication_group_name = 'MYRG' AND start_time >= CURRENT_DATE() - INTERVAL '30 days';
Observe a saída da soma dos créditos utilizados e a soma dos bytes transferidos:
+--------------+-------------------+ | CREDITS_USED | BYTES_TRANSFERRED | |--------------+-------------------| | 1.357923604 | 22013 | +--------------+-------------------+
Calcule os custos de replicação para bancos de dados usando os valores dos bytes transferidos para bancos de dados, a soma dos créditos utilizados e a soma de todos os bytes transferidos para replicação das duas etapas anteriores:
(<banco_de_dados_bytes_transferidos> / <bytes_transferidos>) * <créditos_usados>
Por exemplo:
(22016 / 22013) * 1.357923604 = 1.35810866)
Consulta de funções de tabela Information Schema¶
Para operações de atualização dentro dos últimos 14 dias, consulte as funções associadas da tabela Information Schema.
Consulte a função da tabela REPLICATION_GROUP_REFRESH_HISTORY para visualizar a soma do número de bytes copiados para replicação do banco de dados para o grupo de replicação
myrg
:SELECT SUM(value:totalBytesToReplicate) FROM TABLE(information_schema.replication_group_refresh_history('myrg')) AS rh, LATERAL FLATTEN(input => total_bytes:databases) WHERE rh.phase_name = 'COMPLETED' AND rh.start_time >= CURRENT_DATE() - INTERVAL '14 days';
Consulte a função da tabela REPLICATION_GROUP_USAGE_HISTORY para ver a soma do número de créditos utilizados e a soma dos bytes transferidos para replicação para o grupo de replicação
myrg
:SELECT SUM(credits_used), SUM(bytes_transferred) FROM TABLE(information_schema.replication_group_usage_history( date_range_start => DATEADD('day', -14, CURRENT_DATE()), replication_group_name => 'myrg'));