• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Configuração avançada para monitoramento do MySQL com NRDOT

|View as Markdown (English)

Visualização

Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!

Atualmente, esse recurso é fornecido como parte de uma prévia, de acordo com nossas políticas de pré-lançamento.

É possível configurar as seguintes opções para obter insights mais profundos sobre as instâncias do MySQL:

Planos de consulta para instruções de gravação

Definir explain_mode como procedure permite que o NRDOT Collector colete planos de EXPLAIN para instruções de gravação sem conceder privilégios DML ao usuário de monitoramento. Quando configurado, o receptor procura um procedimento SQL SECURITY DEFINER chamado <schema>.explain_statement. Se esse procedimento não existir ou se o usuário de monitoramento não tiver privilégios de execução sobre ele, o receptor reverterá para o modo inline. Nesse estado, as instruções de gravação falham ao coletar planos de consulta, e o log do coletor exibe o seguinte aviso: unable to execute explain statement.

Para definir o explain_mode como procedure, é necessário executar o seguinte como uma conta privilegiada (por exemplo, root) uma vez por esquema:

DELIMITER //
CREATE DEFINER = 'root'@'%' PROCEDURE <YOUR_SCHEMA>.explain_statement(IN q TEXT)
SQL SECURITY DEFINER
BEGIN
SET @nr_explain_sql = CONCAT('EXPLAIN FORMAT=JSON ', q);
PREPARE nr_explain_stmt FROM @nr_explain_sql;
EXECUTE nr_explain_stmt;
DEALLOCATE PREPARE nr_explain_stmt;
END//
DELIMITER ;
GRANT EXECUTE ON PROCEDURE <YOUR_SCHEMA>.explain_statement TO '<YOUR_DB_USERNAME>'@'%';

A etapa GRANT EXECUTE é necessária para mais do que executar a instrução CALL. Sem esse privilégio, o usuário de monitoramento não pode visualizar o procedimento em information_schema.ROUTINES, que o receptor usa para verificar a existência. Omitir GRANT EXECUTE produz o mesmo resultado que um procedimento ausente, fazendo com que o receptor reverta para o modo inline em ambos os casos.

Dica

Esta configuração é stateful por esquema. A criação ou restauração de um banco de dados, ou a exclusão de um procedimento, desativa silenciosamente a coleta de planos de instrução de gravação para esse esquema e aciona um fallback para o modo inline. As rotinas armazenadas SQL SECURITY DEFINER aplicam os privilégios do definidor ao SQL dinâmico executado por meio de instruções PREPARE/EXECUTE dentro delas. Isso permite que um usuário de monitoramento apenas de SELECTrecupere planos para instruções para as quais não possui privilégios de execução direta.

Habilitar o rastreamento da duração da espera de bloqueio

O consumidor events_waits_current fornece informações sobre a duração da espera de bloqueio, mas requer configuração específica da plataforma:

Plataforma

Método

Persistente entre reinicializações?

MySQL autogerenciado

performance-schema-consumer-events-waits-current=ON

em

[mysqld]

(

my.cnf

)

Sim

AWS RDS

UPDATE performance_schema.setup_consumers SET ENABLED='YES' WHERE NAME='events_waits_current';

Não

: é redefinido na reinicialização/failover. Executar novamente após cada reinicialização, ou conceder ao usuário receptor este

UPDATE

para que possa reativar o consumidor automaticamente na reconexão.

Compatibilidade e pré-requisitos

Saiba mais sobre as versões suportadas do MySQL, os requisitos de rede e os parâmetros de servidor recomendados.

Instrumentação em ambientes auto-hospedados

Saiba como configurar o monitoramento do MySQL em ambientes auto-hospedados com o New Relic.

Instrumentação em ambientes RDS

Saiba como configurar o monitoramento do MySQL em ambientes RDS com o New Relic.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.