grafana-dashboards

Grafana dashboards for MySQL and MongoDB monitoring using Prometheus

Github星跟蹤圖

Grafana dashboards for MySQL and MongoDB monitoring using Prometheus Build StatusCLA assistant

This is a set of Grafana dashboards for database and system monitoring using Prometheus datasource.

  • Amazon RDS OS metrics (CloudWatch datasource)
  • Cross Server Graphs
  • Disk Performance
  • Disk Space
  • MongoDB Cluster Summary
  • MongoDB Overview
  • MongoDB ReplSet
  • MongoDB RocksDB
  • MongoDB WiredTiger
  • MongoDB MMAPv1
  • MongoDB InMemory
  • MySQL InnoDB Metrics
  • MySQL InnoDB Metrics Advanced
  • MySQL InnoDB Compression
  • MySQL MyISAM/Aria Metrics
  • MySQL Overview
  • MySQL Performance Schema
  • MySQL Query Response Time
  • MySQL Replication
  • MySQL Table Statistics
  • MySQL TokuDB Graphs
  • MySQL User Statistics
  • MySQL Command Handler Counters Compare
  • PXC/Galera Cluster Overview
  • PXC/Galera Graphs
  • Prometheus
  • ProxySQL Overview
  • Summary Dashboard
  • System Overview
  • Trends Dashboard

These dashboards are also a part of Percona Monitoring and Management project.

Live demo is available at https://pmmdemo.percona.com/graph/

Setup instructions

Add datasource in Grafana

The datasource should be named Prometheus so it is automatically picked up by the graphs.

image

Prometheus config

The dashboards use built-in instance label to filter on individual hosts.
It is recommended you give the good names to your instances. Here is some example:

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus

  - job_name: linux
    static_configs:
      - targets: ['192.168.1.7:9100']
        labels:
          instance: db1

  - job_name: mysql
    static_configs:
      - targets: ['192.168.1.7:9104']
        labels:
          instance: db1

How you name jobs is not important. However, "Prometheus" dashboard assumes the job name is prometheus.

Exporter options

Here is the minimal set of options for the exporters:

  • node_exporter: -collectors.enabled="diskstats,filefd,filesystem,loadavg,meminfo,netdev,stat,time,uname,vmstat"
  • mysqld_exporter: -collect.binlog_size=true -collect.info_schema.processlist=true
  • mongodb_exporter: the defaults are fine.

Edit Grafana config

Enable JSON dashboards by uncommenting those lines in grafana.ini:

[dashboards.json]
enabled = true
path = /var/lib/grafana/dashboards

If you wish you may import the individual dashboards via UI and ignore this and the next two steps.

Install dashboards

git clone https://github.com/percona/grafana-dashboards.git
cp -r grafana-dashboards/dashboards /var/lib/grafana/

Restart Grafana

service grafana-server restart

Apply patch (only Grafana 3.x)

If you are using Grafana 3.x you need to apply a small patch on your installation to allow the interval template variable in Step field of graph editor page
to get the good zoomable graphs. For more information, take a look at PR#5839.

sed -i 's/expr=\(.\)\.replace(\(.\)\.expr,\(.\)\.scopedVars\(.*\)var \(.\)=\(.\)\.interval/expr=\1.replace(\2.expr,\3.scopedVars\4var \5=\1.replace(\6.interval, \3.scopedVars)/' /usr/share/grafana/public/app/plugins/datasource/prometheus/datasource.js
sed -i 's/,range_input/.replace(\/"{\/g,"\\"").replace(\/}"\/g,"\\""),range_input/; s/step_input:""/step_input:this.target.step/' /usr/share/grafana/public/app/plugins/datasource/prometheus/query_ctrl.js

Update instructions

Simply copy the new dashboards to /var/lib/grafana/dashboards and restart Grafana or re-import them.

Graph samples

Here is some sample graphs.

image

image

image

image

image

image

image

image

Submitting Bug Reports

If you find a bug in Percona Grafana Dashboards or one of the related projects, you should submit a report to that project's JIRA issue tracker.

Your first step should be to search the existing set of open tickets for a similar report. If you find that someone else has already reported your problem, then you can upvote that report to increase its visibility.

If there is no existing report, submit a report following these steps:

  1. Sign in to Percona JIRA. You will need to create an account if you do not have one.
  2. Go to the Create Issue screen and select the relevant project.
  3. Fill in the fields of Summary, Description, Steps To Reproduce, and Affects Version to the best you can. If the bug corresponds to a crash, attach the stack trace from the logs.

An excellent resource is Elika Etemad's article on filing good bug reports..

As a general rule of thumb, please try to create bug reports that are:

  • Reproducible. Include steps to reproduce the problem.
  • Specific. Include as much detail as possible: which version, what environment, etc.
  • Unique. Do not duplicate existing tickets.
  • Scoped to a Single Bug. One bug per report.

主要指標

概覽
名稱與所有者percona/grafana-dashboards
主編程語言JavaScript
編程語言Python (語言數: 9)
平台
許可證GNU Affero General Public License v3.0
所有者活动
創建於2016-01-22 07:14:23
推送於2025-08-14 11:46:50
最后一次提交
發布數101
最新版本名稱v3.3.1 (發布於 2025-07-30 13:08:54)
第一版名稱v1.0.0 (發布於 )
用户参与
星數2.8k
關注者數112
派生數1.6k
提交數2k
已啟用問題?
問題數0
打開的問題數0
拉請求數1424
打開的拉請求數43
關閉的拉請求數229
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?