Você pode instalar e configurar o monitoramento do MySQL no Kubernetes usando o chart do Helm mysql-otel. Opcionalmente, o chart também pode executar um job de configuração que cria o usuário de monitoramento para você.
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.
Importante
O chart implanta o coletor como uma implantação do Kubernetes que acessa o MySQL remotamente pela rede. Como resultado, ele sempre se conecta via TCP (o monitoramento de soquete Unix não é suportado) e relata apenas métricas do MySQL (sem métricas de host ou infraestrutura para a máquina em que o MySQL é executado). Usando mysql.*, ele monitora uma instância do MySQL por release; para monitorar várias instâncias a partir de um único release, use mysqlMulti.* em vez disso (consulte Monitorar várias instâncias a partir de um release abaixo).
Pré-requisitos
Uma chave de licença do New Relic válida.
MySQL 5.7 ou superior.
Helm 3.0 ou posterior, e
kubectlconfigurado para acessar seu cluster do Kubernetes.Conectividade de rede do seu cluster do Kubernetes para o host do MySQL (ou endpoint do RDS) e porta:
- Auto-hospedado: um caminho roteado para o host do MySQL (VPN, peering ou rede compartilhada), resolução de DNS se for um nome do host e o firewall do lado do MySQL deve permitir o IP de origem real da conexão (que pode ser um gateway NAT, não o próprio IP do pod).
- AWS RDS: emparelhamento de VPC, um transit gateway ou posicionamento de VPC compartilhada com a instância do RDS, e o grupo de segurança do RDS deve permitir a porta do MySQL (
3306por padrão) a partir da origem de saída do cluster.
Ou um usuário de monitoramento que você já criou, ou credenciais de administrador do MySQL para que o job de configuração do chart possa criar um para você. Veja Configurar credenciais de monitoramento abaixo.
Crie o namespace
Crie o namespace onde a instalação será realizada. Ele deve existir antes da criação de qualquer secret na próxima etapa, já que helm install --create-namespace cria o namespace apenas durante a etapa final de instalação:
$kubectl create namespace newrelicDica
Defina-o como o namespace padrão para o seu contexto kubectl atual para que não seja necessário passar -n em todos os comandos abaixo:
$kubectl config set-context --current --namespace=newrelicConfigure as credenciais de monitoramento
Decida se deseja que o job de configuração do chart crie o usuário de monitoramento do MySQL para você e, caso contrário, como fornecerá suas credenciais:
Configure os valores do Helm
Defina mysql.topology para corresponder ao seu ambiente:
Valor | Descrição |
|---|---|
| MySQL auto-hospedado, acessado pela rede. |
| MySQL ou Aurora no AWS RDS. |
Use o values.yaml que corresponde ao método de credencial escolhido na etapa anterior:
Parâmetro | Descrição |
|---|---|
| Sua chave de licença New Relic. |
| O endpoint OTLP/gRPC da sua região, como um
simples sem esquema :
(EUA) ou
(UE). Para mais informações, consulte a documentação dos endpoints OTLP da New Relic . |
/
| Seu host do MySQL (ou endpoint do RDS) e porta, acessíveis a partir do cluster. |
| Opcional. Restrinja o monitoramento a um banco de dados. Deixe vazio para monitorar todos os bancos de dados. |
| Opcional. O chart não declara um bloco
e não possui valores
. Os padrões do próprio receptor se aplicam (
,
), os quais exigem uma conexão criptografada com validação de certificado. Substitua-os por meio de
: defina
para ignorar a validação de certificado (apenas para testes com certificados autoassinados, pois isso enfraquece a segurança da conexão) ou
para apontar para um pacote de CA montado no contêiner do coletor. Uma instância do Amazon RDS com a imposição Require SSL/TLS precisa que . O chart deliberadamente não inclui um pacote padrão, já que um pacote embutido no código corre o risco de ficar obsoleto à medida que a Amazon rotaciona as CAs. |
/
| A imagem da CLI do
usada pelo job de configuração. O padrão é o
oficial, mantido ativamente, portanto, habilitar o job de configuração não requer sinalizadores de imagem extras. Substitua apenas se precisar de uma versão diferente. |
| Opcional. Também concede
em
, o que é necessário para dados de tempo de espera. |
Dica
Consulte o values.yaml do chart para ver todas as opções de configuração disponíveis, incluindo mysql.collectionInterval, mysql.explainMode, os blocos statementEvents/querySampleCollection/topQueryCollection e a válvula de escape additionalReceiverConfig.
(Opcional) Monitorar várias instâncias a partir de um release
Em vez de mysql.*, defina mysqlMulti.enabled: true para monitorar várias instâncias do MySQL (auto-hospedadas ou RDS) a partir de um único pod coletor em um release. Os dois modos são mutuamente exclusivos: não defina mysql.server e mysqlMulti.enabled: true no mesmo release.
O modo multi-instância não possui um caminho de nome de usuário/senha em texto simples: cada instância precisa de seu próprio secret do Kubernetes com credenciais de monitoramento. Decida se você também deseja que o job de configuração crie cada usuário de monitoramento para você:
Parâmetro | Descrição |
|---|---|
| Defina como
para monitorar várias instâncias de uma versão em vez de
. O padrão é
. |
|
ou
, mesmo significado que
, compartilhado por todas as instâncias nesta versão. |
| Lista de instâncias a serem monitoradas. Cada entrada requer um
exclusivo,
(
tem como padrão
) e
;
restringe opcionalmente o monitoramento a um banco de dados (mesmo significado que
); adicione
por entrada apenas quando
for
. |
Dica
As configurações de scrape (intervalo de coleta, TLS, eventos de instrução, coleta de amostras de consulta, coleta das principais consultas) aplicam-se de forma idêntica a cada instância em mysqlMulti.databases. Não há sobrescrita por instância. Use additionalReceiverConfig para qualquer coisa que precise ser diferente. O job de configuração é executado uma vez por instância (<release>-setup-<name>) em vez de uma vez por release.
Instale o Helm chart
Adicione o repositório Helm da New Relic:
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm repo updateInstale o chart usando seu arquivo
values.yaml:bash$helm upgrade --install mysql-otel newrelic/mysql-otel \>-n newrelic \>--create-namespace \>-f values.yaml
Verifique a instalação
Verifique se o job de configuração foi concluído (se ativado) e se o pod do coletor está em execução:
bash$kubectl get jobs,pods -n newrelic --watchExecute esta consulta no criador de consulta para confirmar se os dados estão chegando:
SELECT count(*) FROM MetricWHERE metricName LIKE 'mysql.%'AND instrumentation.provider = 'opentelemetry'SINCE 10 minutes ago
Encontre 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 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.
Documentação relacionada
Introdução ao monitoramento do MySQL com NRDOT
Saiba mais sobre todos os métodos de instalação disponíveis para o monitoramento do MySQL com o New Relic.
Instalação da CLI
Saiba como instalar e configurar o monitoramento do MySQL com um único comando da CLI da New Relic.
Instalação via Ansible
Saiba como instalar e configurar o monitoramento do MySQL em escala com o newrelic.newrelic_install função Ansible.
Instalação via Chef
Aprenda a instalar e configurar o monitoramento do MySQL em escala com o cookbook newrelic-install do Chef.