Configurar o monitoramento do MySQL usando o NRDOT Collector em ambientes auto-hospedados, incluindo servidores físicos, máquinas virtuais e instalações independentes.
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.
Acesso administrativo à sua instância do MySQL.
Conectividade de rede entre o host onde o Collector NRDOT é instalado e o seu banco de dados MySQL.
Conectividade de rede para a documentação dos endpoints OTLP da New Relic
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 no sistema:
Configurar usuário do banco de dados
Crie um usuário de monitoramento com os privilégios necessários para a sua instância de banco de dados MySQL.
- Para criar um usuário de monitoramento, execute o seguinte comando no banco de dados MySQL:
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>'@'%';- (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. Para monitorar um banco de dados específico ou para habilitar o TLS (necessário para a maioria das instâncias do Amazon RDS/Aurora), consulte Habilitar insights detalhados.
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> | Insira o nome do host ou endereço IP do MySQL. |
<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. Se o seu NRDOT Collector for executado no mesmo host que o MySQL, em vez disso, use unix para conectar por meio de um soquete de domínio Unix. |
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 MySQL por meio da interface do New Relic.
Para encontrar a entidade de banco de dados 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 seu banco de dados MySQL na lista de entidades.
Após configurar o monitoramento de banco de dados MySQL com o NRDOT:
- Crie dashboards personalizados para visualizar suas métricas de banco de dados
- Configure alertas para limites críticos de desempenho do banco de dados
Documentação relacionada
Guia de solução de problemas
Saiba como solucionar problemas comuns com o monitoramento do MySQL.
Referência de métricas
Saiba mais sobre as métricas disponíveis coletadas pelo NRDOT Collector.
Instrumentação em ambientes RDS
Saiba como configurar o monitoramento do MySQL em ambientes RDS com o New Relic.