利用Prometheus和Grafana监控MySQL
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、 Prometheus 是一个开源的服务监控系统和时间序列数据库。:官方GitHub地址为:https://github.com/prometheus/prometheus官方地址:https:/
千家信息网最后更新 2026年11月03日利用Prometheus和Grafana监控MySQL
一、 Prometheus 是一个开源的服务监控系统和时间序列数据库。:
官方GitHub地址为:https://github.com/prometheus/prometheus
官方地址:https://prometheus.io/
官方拓扑图如下
特性:
高维度数据模型
自定义查询语言
可视化数据展示
高效的存储策略
易于运维
提供各种客户端开发库
警告和报警
数据导出
二、安装Prometheus(服务器环境为Centos7.2,本实验服务端跟被监控MySQL在同一台服务器)
前提条件请关闭SELinux与Firewalld(centos6 为iptables)
下载安装prometheus$ wget https://github.com/prometheus/prometheus/releases/download/v1.7.1/prometheus-1.7.1.linux-amd64.tar.gz$ mkdir /opt/prometheus$ tar zxf prometheus-1.7.1.linux-amd64.tar.gz -C /opt/prometheus --strip-components=1编辑配置prometheus.yml文件,内容如下:global: scrape_interval: 15s evaluation_interval: 15s external_labels: monitor: 'codelab-monitor'rule_files:scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['192.168.1.199:9090'] - job_name: linux static_configs: - targets: ['192.168.1.199:9100'] labels: instance: db1 - job_name: mysql static_configs: - targets: ['192.168.1.199:9104'] labels: instance: db1后台启动prometheus nohup /opt/prometheus/prometheus -config.file=prometheus.yml & tail -200f nohup.out time="2017-06-12T11:51:16+08:00" level=info msg="Starting prometheus (version=1.7.0, branch=master, revision=bfa37c8ee39d11078662dce16c162a61dccf616c)" source="main.go:88" time="2017-06-12T11:51:16+08:00" level=info msg="Build context (go=go1.8.3, user=root@7a6329cc02bb, date=20170607-09:43:48)" source="main.go:89" time="2017-06-12T11:51:16+08:00" level=info msg="Host details (Linux 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 monitor (none))" source="main.go:90" time="2017-06-12T11:51:16+08:00" level=info msg="Loading configuration file prometheus.yml" source="main.go:252" time="2017-06-12T11:51:16+08:00" level=info msg="Loading series map and head chunks..." source="storage.go:428" time="2017-06-12T11:51:16+08:00" level=info msg="2200 series loaded." source="storage.go:439" time="2017-06-12T11:51:16+08:00" level=info msg=" source="web.go:259"
Prometheus提供一个内置的web界面。我们可以通过http://192.168.1。199:9090访问
在 Status -> Targets 页面下,我们可以看到我们配置的两个Target,它们的 State
三、接下来我们安装client客户端
1、安装client$ wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz$ wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz$ mkdir /opt/prometheus_exporters$ tar zxf node_exporter-0.14.0.linux-amd64.tar.gz -C /opt/prometheus_exporters --strip-components=1 && tar zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /opt/prometheus_exporters --strip-components=12、启动os监控client nohup /opt/prometheus_exporters/node_exporter & tail -200f nohup.out time="2017-06-12T11:28:52+08:00" level=info msg=" - hwmon" source="node_exporter.go:162"time="2017-06-12T11:28:52+08:00" level=info msg=" - netstat" source="node_exporter.go:162"time="2017-06-12T11:28:52+08:00" level=info msg=" - stat" source="node_exporter.go:162"time="2017-06-12T11:28:52+08:00" level=info msg=" - vmstat" source="node_exporter.go:162"time="2017-06-12T11:28:52+08:00" level=info source="node_exporter.go:186"3、mysqld_exporter需要连接到MySQL,需要授权mysql> GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'monitor'@'localhost' identified by 'test123';mysql> GRANT SELECT ON performance_schema.* TO 'monitor'@'localhost';4、创建 .my.cnf 文件并运行mysqld_exporter[root@monitor prometheus_exporters]# cat .my.cnf [client]user=monitorpassword=test123[root@monitor prometheus_exporters]# export DATA_SOURCE_NAME="monitor:test123@(monitor:3306)/"#####(monitor:3306)/此monitor为主机名启动mysqld_exporternohup /opt/prometheus_exporters/mysqld_exporter -config.my-cnf=".my.cnf" &tail -200f nohup.outtime="2017-06-12T11:30:07+08:00" level=info msg="Starting mysqld_exporter (version=0.10.0, branch=master, revision=80680068f15474f87847c8ee8f18a2939a26196a)" source="mysqld_exporter.go:460"time="2017-06-12T11:30:07+08:00" level=info msg="Build context (go=go1.8.1, user=root@3b0154cd9e8e, date=20170425-11:24:12)" source="mysqld_exporter.go:461"time="2017-06-12T11:30:08+08:00" level=info msg=" source="mysqld_exporter.go:479"
我们回到192.168.1.199:9090,可以看到
Status -> Targets 页面

四、安装和运行Grafana
1、安装Grafana#wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.2-1.x86_64.rpm #yum localinstall grafana-4.3.2-1.x86_64.rpm 替换grafana的dashboardsGrafana 并没有太多的配置好的图表模板,除了 Percona 开源的一些外,很多需要自行配置。下载dashboards(https://github.com/percona/grafana-dashboards)git clone https://github.com/percona/grafana-dashboards.gitcp -r grafana-dashboards/dashboards /var/lib/grafana/2、编辑配置文件 /etc/grafana/grafana.ini ,修改 dashboards.json 段落下两个参数的值:[dashboards.json]enabled = truepath = /var/lib/grafana/dashboards2、运行 Grafana systemctl start grafana-server# [root@monitor prometheus_exporters]# ps aux |grep grafanaroot 3211 0.0 0.0 112664 972 pts/1 S+ 11:40 0:00 grep --color=auto grafanagrafana 21241 0.3 0.8 805720 39620 ? Ssl 6月12 4:42 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile= cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins
我们可通过 http://192.168.1.199:3000 访问Grafana网页界面(缺省的帐号/密码为admin/admin):
登录并设置数据源
至此大功告成
我们可以看到os与数据库监控数据了

数据
配置
监控
服务
官方
文件
运行
两个
地址
客户
客户端
数据库
服务器
界面
页面
大功告成
接下来
主机
前提
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
互联网新科技
互联网科技公司起名
金融科技还是互联网
互联网巨头科技公司
科技互联网技术
齐家互联网科技
互联网科技论文
云电互联网科技
猫创互联网科技
美国互联网前沿科技
海南购全球互联网科技
须眉科技是互联网公司吗
互联网媒体平台算高科技产业
佛山市翊博互联网络科技有限公司
北京市互联网新科技
宁波跨境商互联网科技有限公司
萌小萌互联网科技河南有限公司
北京品多多互联网科技有限公司
互联网的黑科技实验室
互联网黑科技
互联网科技网
互联网科技的英文
科技创新互联网企业
润盈互联网科技
天扬科技互联网广告
互联网科技有限公司 翻译
全球顶尖互联网科技公司
湖南一路畅行互联网科技
每天都有哪些好的互联网科技