Prometheus+Grafana打造Mysql监控平台
prometheus/node_exporter/mysqld_exporter都是由go语言编写,需要先安装GoLang环境
下载node_exporter(监控服务器的CPU、内存、存储使用情况)和mysqld_exporter放到Mysql服务器(被监控端)
- 需要为mysqld_exporter在Mysql数据库新建一个用户,并赋予相应权限
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
配置mysql_exporter启动时连接mysql的用户名和密码
- 环境变量方式:
export DATA_SOURCE_NAME='user:password@(hostname:3306)/'
./mysqld_exporter <flags>
- 配置.my.cnf文件
[client]
user=exporter
password=exporter 然后启动mysqld_exporter
mysqld_exporter -config.my-cnf=".my.cnf"
下载Prometheus放到监控端(或被监控端)。
- 配置文件prometheus.yml
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus - job_name: linux
static_configs:
# 192.168.1.7为node_exporter所在服务器的IP;9100为node_exporter暴露的端口
- targets: ['192.168.1.7:9100']
labels:
#db1为实例名,以后在Grafana获取prometheus时,要配置prometheus所有服务器的host为db1
instance: db1 - job_name: mysql
static_configs:
# 192.168.1.7为mysqld_exporter所在服务器的IP;9100为mysqld_exporter暴露的端口
- targets: ['192.168.1.7:9104']
labels:
instance: db1
启动prometheus,并查看配置的Linux和Mysql节点状态是否为Up
下载Grafana,并按文档安装
下载Percona提供的Dashboards
如果grafana与prometheus不在一台服务器,需要指定prometheus的主机名(此例中应该为db1),access要选择proxy,表示由grafana处理请求,而不是直接请求prometheus。启动Grafana,并添加Prometheus数据源(注意必须为"Prometheus",因为Percona提供的dashboards使用的是Prometheus数据源)

正常情况下可以看见Mysql和System的仪表盘,如果显示不出来,请检查下面几个方面
- 检查Grafana和grafana-dashboards版本(grafana-4.2 匹配grafana-dashboards-1.3.2,不匹配当前最新版本1.15).
- Grafana使用grafana用户运行,所以需要检查/etc/grafana,/var/lib/grafana,/usr/grafana目录所有者和用户组是否是grafana
- 对于grafana 3.X版本,还需要做如下处理,参见[grafana-dashboards](https://github.com/percona/grafana-dashboards)
> 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
- grafana所有服务器是否配置prometheus所有服务器的IP与Host映射,如上的Prometheus的配置,host应该配置成db1
9.安装成功结果如下图:



Prometheus+Grafana打造Mysql监控平台的更多相关文章
- prometheus + grafana部署RabbitMQ监控
prometheus + grafana部署RabbitMQ监控 1.grafana导入dashboards https://grafana.com/dashboards/2121 2.expor ...
- Telegraf+InfluxDB+Grafana搭建服务器监控平台
Telegraf+InfluxDB+Grafana搭建服务器监控平台 tags:网站 个人网站:https://wanghualong.cn/ 效果展示 本站服务器状态监控:https://statu ...
- Prometheus+Grafana通过kafka_exporter监控kafka
Prometheus+Grafana通过kafka_exporter监控kafka 一.暴露 kafka-metric 方式 二.jmx_exporter方式 2.1 下载jmx_prometheus ...
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(一)
在做性能测试的时候,重点关注点是各项性能指标,用Jmeter工具,查看指标数据,就是借助于聚合报告,但查看时也并不方便.那如何能更直观的查看各项数据呢?可以通过InfluxDB+Grafana+Jme ...
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(三)
在之前系列博文中,已经介绍完了数据采集和数据存储,那数据如何展示呢?所以今天就专门来讲下数据如何展示的问题. 以前博文参考: Docker系列--InfluxDB+Grafana+Jmeter性能监控 ...
- 【Prometheus+Grafana系列】监控MySQL服务
前言 前面的一篇文章已经介绍了 docker-compose 搭建 Prometheus + Grafana 服务.当时实现了监控服务器指标数据,是通过 node_exporter.Prometheu ...
- SpringBoot+Prometheus+Grafana实现应用监控和报警
一.背景 SpringBoot的应用监控方案比较多,SpringBoot+Prometheus+Grafana是目前比较常用的方案之一.它们三者之间的关系大概如下图: 关系图 二.开发SpringBo ...
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(二)
在上一篇博文中,主要是讲了InfluxDB的配置,博文链接:https://www.cnblogs.com/hong-fithing/p/14453695.html,今天来分享下Jmeter的配置. ...
- Grafana+Prometheus打造springboot监控平台
1. 环境 springboot 1.5.10.RELEASE Grafana 5.4.2 Prometheus 2.6.0 jdk 1.8 2.通过micrometer与springboot应用和p ...
随机推荐
- poj 1195 单点更新 区间求和
Mobile phones Time Limit: 5000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Jav ...
- [ASE][Daily Scrum]11.07-11.09
周五-周日的任务计划统一布置了,在昨天我们已经将所有开发环境.开发工具.以及服务器问题敲定,接下来就是整个游戏的框架以及细节实现,首先打算在本周末将各个部分的通信接口确定下来,这样之后大家就可以专注于 ...
- ubuntu 12.04 安装node.js
在 Ubuntu 12.04 安裝 Node.js 使用 nvm(Node Version Manage) 來安裝 node.js, 預先需要 curl, git, g++ : $ sudo apt- ...
- Spring IOC 容器源码分析 - 循环依赖的解决办法
1. 简介 本文,我们来看一下 Spring 是如何解决循环依赖问题的.在本篇文章中,我会首先向大家介绍一下什么是循环依赖.然后,进入源码分析阶段.为了更好的说明 Spring 解决循环依赖的办法,我 ...
- python常用代码片段
目录 Python3常用 文件处理 json处理 log日志 argparse使用 INIparser Python3常用 文件处理 class BaseMethod: @staticmethod d ...
- UVA10829 L-Gap Substrings(后缀数组+ST表)
后缀数组+ST表. 代填的坑. \(Code\ Below:\) #include <bits/stdc++.h> #define ll long long using namespace ...
- 读书笔记--SQL必知必会--常用MySQL(MariaDB)命令及示例
DBMS信息 显示DBMS的版本 select version(); 显示DBMS状态 status; 显示DBMS资源状态 show status; 显示DBMS支持的权限 show privile ...
- npm安装第三方库找不到“cl.exe”问题
1.安装第三方库时找不到"cl.exe"的解决方法 安装 本地 remix时 出现错误(npm install remix-ide -g) 原因:remix 依赖的 python库 ...
- C# 添加修改防火墙端口及程序
文章转自:http://sdfiyon.iteye.com/blog/1197511 一.添加 COM 引用 在引用里,选择 COM 页, 找到 NetFwTypeLib , 确定即可 二.添加允许通 ...
- Scala之隐式转换implicit详解
假设我们有一个表示文本的行数的类LineNumber: class LineNumber ( val num : Int ) 我们可以用这个类来表示一本书中每一页的行数: val lineNumOfP ...