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:
Nota: Você já pode usar máquinas do Prometheus Grafana no marketplace do seu provedor de servidor em nuvem. Hetzner, Digitalocean
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:
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz
sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/
sudo useradd -rs /bin/false mysqld_exporter
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;
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
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://
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
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:
Agora você deve ver métricas detalhadas de seus nós do cluster MariaDB Galera em seus painéis Grafana!
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!
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