"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como configurar o exportador MariaDB/MySQL em nós do cluster Galera para monitoramento do Prometheus

Como configurar o exportador MariaDB/MySQL em nós do cluster Galera para monitoramento do Prometheus

Publicado em 2024-11-08
Navegar:364

How to Set Up MariaDB/MySQL Exporter on Galera Cluster Nodes for Prometheus Monitoring

Olá, comunidade dev.to! ?

Nesta postagem, orientarei você nas etapas que executei para configurar o exportador MariaDB/MySQL em nós do cluster Galera para monitoramento com Prometheus. No meu caso, estou executando um MariaDB Galera Cluster em meu provedor de servidor em nuvem com três nós e usando Prometheus Grafana para monitorar minha configuração. As ferramentas de configuração e monitoramento do Galera Cluster têm sido extremamente úteis, mas obter as métricas corretas do MariaDB não foi fácil, então decidi documentar minha solução.

Para monitorar métricas do MariaDB e Galera Cluster, como número de consultas por segundo, conexões, status de replicação, etc., você precisa usar um MySQL Exporter em combinação com o Prometheus. Este exportador exporá métricas específicas do banco de dados, incluindo estatísticas Galera e MariaDB.

Etapas para configurar o exportador MariaDB/MySQL em nós do cluster Galera:

Pré-requisitos

  • Um Cluster MariaDB Galera com vários nós.
  • Um servidor Prometheus instalado e funcionando.
  • Grafana para visualização de métricas (opcional, mas recomendado).
  • Acesso aos nós para instalação do exportador.

Nota: Você já pode usar máquinas do Prometheus Grafana no marketplace do seu provedor de servidor em nuvem. Hetzner, Digitalocean

Etapa 1: Instale o exportador MySQL/MariaDB

Em cada nó Galera, precisamos instalar o MySQL Exporter, que coleta métricas e as expõe para o Prometheus. Veja como você pode fazer isso:

Baixe e instale o exportador da fonte oficial

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz

Extraia os arquivos

tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz

Mova o binário para um caminho do sistema

sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/

Adicione um usuário do sistema para o exportador

sudo useradd -rs /bin/false mysqld_exporter

Etapa 2: configurar o exportador com credenciais MySQL/MariaDB

O exportador precisa de acesso às métricas do MariaDB. Crie um arquivo .my.cnf no diretório inicial do exportador para armazenar as credenciais de conexão:

sudo mkdir /etc/.mysqld_exporter
sudo nano /etc/.mysqld_exporter/.my.cnf

Adicione o seguinte ao arquivo:


[client]
user=exporter
password=yourpassword


Certifique-se de que o usuário tenha as permissões adequadas para acessar as métricas necessárias:

para acessar use mysql -u root ou mariadb -u root

CRIAR USUÁRIO 'exportador'@'localhost' IDENTIFICADO POR 'suasenha';
PROCESSO DE CONCESSÃO, CLIENTE DE REPLICAÇÃO, SELECIONE ON *.* TO 'exportador'@'localhost';
PRIVILÉGIOS DE FLUSH;

Etapa 3: configurar o exportador como serviço

Para garantir que o MySQL Exporter inicie na inicialização, vamos configurá-lo como um serviço systemd:

sudo nano /etc/systemd/system/mysqld_exporter.service

Adicione o seguinte conteúdo ao arquivo:


[Unit]
Description=Prometheus MySQL Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=mysqld_exporter
Group=mysqld_exporter
ExecStart=/usr/local/bin/mysqld_exporter \
  --config.my-cnf=/etc/.mysqld_exporter/.my.cnf

[Install]
WantedBy=multi-user.target


Salve o arquivo e recarregue o systemd:

sudo systemctl daemon-reload
sudo systemctl iniciar mysqld_exporter
sudo systemctl habilitar mysqld_exporter

Etapa 4: adicionar destinos de exportador ao Prometheus

Em seguida, atualize sua configuração do Prometheus para extrair as métricas dos nós. Adicione o seguinte ao seu arquivo prometheus.yml:

Antes disso você pode verificar se o MySQL Exporter está rodando visitando:

curl http://:9104/metrics

para acessar este arquivo, por exemplo, prometheus.yml use:
sudo nano /opt/containers/prometheus-grafana/prometheus/prometheus.yml

Adicionar dentro de scrape_configs::


- job_name: 'mariadb-galera'
  static_configs:
    - targets: ['node1-ip:9104', 'node2-ip:9104', 'node3-ip:9104']


por favor, informe o ip dos nós do seu banco de dados

Então, recarregue o Prometheus:

sudo systemctl recarregar prometheus

Passo 5: Visualize no Grafana

Se estiver usando Grafana, você pode importar painéis pré-construídos para monitoramento MySQL/MariaDB. Um ID de painel popular para métricas MySQL/MariaDB é 7362.

Para importar:

  1. Abra o Grafana.
  2. Navegue até Painéis > Importar.
  3. Digite 7362 no campo "Grafana.com Dashboard" e clique em Carregar.

Agora você deve ver métricas detalhadas de seus nós do cluster MariaDB Galera em seus painéis Grafana!

Conclusão

Com o MariaDB Exporter configurado em cada nó do Galera Cluster, o Prometheus agora pode extrair e monitorar as principais métricas do banco de dados. Essa configuração fornece melhores insights sobre a integridade e o desempenho do seu cluster, facilitando a solução de problemas e a otimização conforme necessário.

Sinta-se à vontade para deixar perguntas ou comentários abaixo se estiver configurando algo semelhante ou tiver alguma sugestão. Obrigado por ler!

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/alighaemia/how-to-set-up-mariadbmysql-exporter-on-galera-cluster-nodes-for-prometheus-monitoring-4b3l?1 Se houver alguma violação , entre em contato com study_golang @163.comdelete
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3