Blog

Dashboard no Grafana com conexão MySQL

Plugin MySQL do Grafana: o que é e por que ele é tão útil

Quando alguém fala em “plugin MySQL do Grafana”, normalmente está falando do MySQL data source: a fonte de dados que permite o Grafana conectar em bases MySQL compatíveis e usar consultas SQL para montar painéis (tabelas e séries temporais).

O melhor: o Grafana já vem com esse data source embutido, não precisa instalar nada extra para usar.

Bancos suportados

O MySQL data source do Grafana suporta (entre outros): MySQL 5.7+, MariaDB 10.2+, Percona Server 5.7+, além de serviços gerenciados como Amazon Aurora MySQL e Cloud SQL for MySQL.

Como configurar o plugin MySQL no Grafana (passo a passo)

No Grafana, o caminho mais comum é:

  1. Connections → Add new connection → procure por MySQL
  2. Clique em Add new data source
  3. Preencha:
    • Host URL (ex.: mysql.seudominio:3306)
    • Database
    • User / Password
  4. Teste a conexão e salve

TLS/SSL (quando o banco exige conexão segura)

O Grafana oferece opções como:

  • Use TLS Client Auth
  • With CA Cert
  • Skip TLS Verification (não recomendado em produção)
  • Allow Cleartext Passwords (somente se você realmente precisar, e com canal seguro)

E se aparecer erro de handshake/certificado, a própria documentação sugere revisar CA, confiança do certificado e validade.

Onde o plugin brilha: editor SQL + macros de tempo

O editor de query do MySQL no Grafana tem dois modos:

  • Builder (visual)
  • Code (SQL na veia, com autocomplete e macros)

Table vs Time series

  • Em Table, você pode rodar praticamente qualquer SQL e mostrar como tabela.
  • Em Time series, o Grafana exige que você retorne uma coluna time (datetime ou epoch em segundos) e ordene por ela.

Macros essenciais (para dashboards dinâmicos)

Algumas macros que você vai usar o tempo todo:

  • $__time(coluna_data) → converte e retorna time_sec
  • $__timeFilter(coluna_data) → aplica o range do time picker
  • $__timeGroup(coluna_data,'5m') → agrupa por janelas (5 min, 1h, 1d…)
  • $__unixEpochFilter(coluna_epoch) / $__unixEpochGroup(...) → quando seu tempo está em epoch

Exemplo (time series “padrão Grafana”)

SELECT
  $__timeGroup(t.date, '1d') AS time,
  COUNT(*) AS total
FROM tickets t
WHERE $__timeFilter(t.date)
GROUP BY time
ORDER BY time;

Exemplo de como pode ficar uma dashboard com esse plugin do mysql do Grafana utilizando o banco do GLPI, no vídeo abaixo deixo um exemplo prático de fazer essa dashboard.

Se você precisa de apoio para implantar ou ajustar o Zabbix na sua empresa e obter um nível de maturidade maior com a ferramenta, não deixe de entrar em contato conosco, estaremos sua total disposição.
Aguardamos o seu contato e até o próximo artigo.

Forte abraço.


Contatos:
Telefone: (41) 3500-7254 (WhatsApp)
E-mail: contato@servicetic.com.br