Configurar o monitoramento do MySQL usando o NRDOT Collector para instâncias do AWS RDS MySQL. Ambientes RDS têm considerações específicas para consumidores e privilégios do esquema de desempenho.
Instalação guiada
Para instalar pela interface da New Relic, acesse one.newrelic.com > Integrations & Agents > MySQL (Database 360) . Esta página aborda apenas a instalação manual.
Pré-requisitos
Antes de instalar, certifique-se de ter:
Uma chave de licença da New Relic.
Conectividade de rede entre o host onde o NRDOT Collector é instalado e a instância do RDS MySQL.
Conectividade de rede para a documentação dos endpoints OTLP da New Relic
Credenciais do usuário mestre do RDS.
Para versões suportadas do MySQL, permissões necessárias e requisitos de
performance_schema, consulte Compatibilidade e pré-requisitos.
Configurar o NRDOT Collector
Instale o NRDOT Collector em um sistema que possa se conectar à instância do RDS:
Configurar usuário do banco de dados
Crie um usuário de monitoramento com os privilégios necessários para a sua instância RDS MySQL.
- Para criar um usuário de monitoramento, é necessário conectar-se à instância do RDS como o usuário mestre e executar:
CREATE USER '<YOUR_DB_USERNAME>'@'%' IDENTIFIED BY '<YOUR_DB_PASSWORD>';- Para coletar amostras de consulta e as principais consultas, conceda os seguintes privilégios ao usuário de monitoramento:
GRANT SELECT ON performance_schema.* TO '<YOUR_DB_USERNAME>'@'%'; GRANT SELECT ON *.* TO '<YOUR_DB_USERNAME>'@'%'; GRANT REPLICATION CLIENT ON *.* TO '<YOUR_DB_USERNAME>'@'%'; GRANT PROCESS ON *.* TO '<YOUR_DB_USERNAME>'@'%';- (Opcional) Para visualizar os dados de tempo de espera na plataforma New Relic, é necessário conceder os seguintes privilégios ao usuário de monitoramento:
GRANT UPDATE ON performance_schema.setup_consumers TO '<YOUR_DB_USERNAME>'@'%';Dica
Essa configuração não persiste no RDS; o consumidor events_waits_current é redefinido a cada reinicialização ou failover. A concessão desse privilégio permite que o coletor o reative automaticamente na reconexão; caso contrário, será necessário executar novamente a instrução de ativação após cada reinicialização.
- (Opcional) Para verificar a conexão e as permissões, é necessário executar:
$mysql -h <YOUR_DB_HOST> -P <YOUR_DB_PORT> -u <YOUR_DB_USERNAME> -p -e "SELECT 1;"Se o comando for concluído sem erro, o usuário de monitoramento, o host e a porta estarão todos corretos.
Configurar o NRDOT Collector
Configure o NRDOT Collector com suas configurações específicas do MySQL.
Esta configuração foca no monitoramento essencial do MySQL apenas com o receptor nrmysql.
configuração completa
Esta configuração de baseline captura métricas essenciais. Para ver o catálogo completo de métricas, consulte a referência de configuração.
- Crie um arquivo de configuração chamado
mysql-config.yaml:
$sudo nano /etc/nrdot-collector/mysql-config.yaml- Adicione a seguinte configuração ao arquivo
mysql-config.yamlcriado na etapa anterior.
receivers: nrmysql: endpoint: "<YOUR_DB_HOST>:<YOUR_DB_PORT>" transport: tcp username: "<YOUR_DB_USERNAME>" password: "<YOUR_DB_PASSWORD>" allow_native_passwords: true collection_interval: 15s initial_delay: 1s explain_mode: procedure statement_events: digest_text_limit: 4096 time_limit: 24h limit: 500 query_sample_collection: max_rows_per_query: 100 allowed_comment_keys: [nr_service_guid] top_query_collection: lookback_time: 60 max_query_sample_count: 5000 top_query_count: 200 collection_interval: 60s query_plan_cache_size: 1000 query_plan_cache_ttl: 1h allowed_comment_keys: [nr_service_guid] events: db.server.query_sample: enabled: true db.server.top_query: enabled: true db.server.query_plan: enabled: true resource_attributes: db.system.version: enabled: true metrics: mysql.query.count: enabled: true mysql.query.slow.count: enabled: true mysql.commands: enabled: true mysql.innodb.data_file.io: enabled: true
processors: batch:
exporters: otlp/newrelic: endpoint: "<YOUR_NEWRELIC_OTLP_ENDPOINT>" headers: api-key: "<YOUR_NEWRELIC_LICENSE_KEY>" compression: gzip retry_on_failure: enabled: true initial_interval: 5s max_interval: 30s max_elapsed_time: 300s
service: pipelines: metrics: receivers: [nrmysql] processors: [batch] exporters: [otlp/newrelic] logs: receivers: [nrmysql] processors: [batch] exporters: [otlp/newrelic]Dica
Esta configuração omite os campos opcionais database e tls. Por padrão, o receiver monitora todos os bancos de dados que o usuário de monitoramento pode acessar e se conecta sem TLS. A maioria das instâncias do Amazon RDS/Aurora exige SSL/TLS, portanto, você provavelmente precisará ativá-lo. Consulte Ativar insights detalhados para o bloco tls e a configuração ca_file.
Parâmetro de configuração
A tabela a seguir descreve os principais parâmetros de configuração para o receptor nrmysql:
| Parâmetro | Descrição |
|---|---|
<YOUR_DB_HOST> | Seu endpoint do RDS MySQL. Por exemplo, mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com |
<YOUR_DB_PORT> | Insira o número da porta do MySQL. O valor padrão é 3306. |
<YOUR_DB_USERNAME> | Insira o nome de usuário do usuário de monitoramento criado em Configurar o usuário do banco de dados. |
<YOUR_DB_PASSWORD> | Insira a senha do usuário de monitoramento criado em Configurar Usuário do Banco de Dados. |
<YOUR_NEWRELIC_OTLP_ENDPOINT> | Insira o endpoint OTLP da New Relic. Para mais informações, consulte os endpoints OTLP da New Relic. |
<YOUR_NEWRELIC_LICENSE_KEY> | Insira sua chave de licença do New Relic. |
transport | O valor padrão está definido como tcp para conectar pela rede. |
collection_interval | Insira o intervalo entre as coletas de métrica. Padrão: 15s. |
explain_mode | O valor padrão está definido como inline. Defina o valor como procedure para coletar planos de consulta para instruções de gravação sem conceder privilégios DML ao usuário de monitoramento. Consulte Planos de consulta para instruções de gravação. |
Validar a configuração do NRDOT Collector
- Atualize o caminho da configuração para apontar para seu novo arquivo
mysql-config.yaml:
$sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/mysql-config.yaml"|' /etc/nrdot-collector/nrdot-collector.conf- Valide a configuração do Collector NRDOT para garantir que esteja formatada corretamente e funcione adequadamente:
$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/mysql-config.yamlDica
Você também pode:
Configurar múltiplos receptores: para monitorar múltiplas instâncias do MySQL a partir de um coletor. Vincule seu banco de dados MySQL ao APM: para correlacionar o desempenho do aplicativo com as operações do banco de dados. Isso permite visualizar exatamente quais aplicativos estão gerando workloads específicas de banco de dados. Configurar o gerenciamento de segredos: para gerenciar com segurança informações confidenciais, como credenciais de banco de dados. Isso ajuda a aprimorar a segurança do seu ambiente de monitoramento ao evitar a inserção direta de dados sensíveis nos arquivos de configuração.
Reiniciar o NRDOT Collector
- Após atualizar sua configuração, reinicie o serviço NRDOT Collector:
$sudo systemctl restart nrdot-collectorDica
Sempre reinicie o serviço do NRDOT Collector após fazer alterações na configuração para garantir que as novas configurações entrem em vigor.
- Para verificar se o coletor está funcionando corretamente, verifique o status do serviço:
$sudo systemctl status nrdot-collectorEncontre e use seus dados
Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados RDS MySQL por meio da interface do New Relic.
Para encontrar sua entidade de banco de dados RDS MySQL no New Relic:
- Vá para https://one.newrelic.com > All Capabilities > Databases.
- Na dropdown Entity type, selecione MySQL instance e clique em Apply.
- Selecione o banco de dados RDS MySQL na lista de entidades.
Limitações do Amazon RDS
O consumidor do Performance Schema events_waits_current é necessário para mysql.events_waits_current.timer_wait e dashboard baseado em espera. A família de grupos de parâmetros do RDS mysql8.0 não expõe os parâmetros performance_schema_consumer_*, impedindo a configuração persistente. Esse consumidor deve ser habilitado no tempo de execução, pois a configuração é redefinida após cada reinicialização ou failover do banco de dados.
Documentação relacionada
Instrumentação em ambientes auto-hospedados
Saiba como configurar o monitoramento do MySQL em ambientes auto-hospedados com o New Relic.
Referência de métricas
Saiba mais sobre as métricas disponíveis coletadas pelo NRDOT Collector.
Guia de solução de problemas
Saiba como solucionar problemas comuns com o monitoramento do MySQL.