Prometheus+Grafana打造Mysql监控平台

栏目: 数据库 · 发布时间: 7年前

内容简介:3.启动prometheus,并查看配置的Linux和Mysql节点状态是否为Up4.下载5.下载Percona提供的
  1. prometheus/node_exporter/mysqld_exporter都是由 go 语言编写,需要先安装GoLang环境
  2. 下载 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"
  1. 下载 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

3.启动prometheus,并查看配置的 Linux 和Mysql节点状态是否为Up

4.下载 Grafana ,并按文档安装

5.下载Percona提供的 Dashboards

Prometheus+Grafana打造Mysql监控平台

datasource

如果grafana与prometheus不在一台服务器,需要指定prometheus的主机名(此例中应该为db1),access要选择proxy,表示由grafana处理请求,而不是直接请求prometheus。

6.启动Grafana,并添加Prometheus数据源(注意必须为"Prometheus",因为Percona提供的dashboards使用的是Prometheus数据源)

7.正常情况下可以看见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
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
  1. 安装成功结果如下图:

    Prometheus+Grafana打造Mysql监控平台

    mysql overview

Prometheus+Grafana打造Mysql监控平台

system overview

Prometheus+Grafana打造Mysql监控平台

mysql innodb metrics


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ordering Disorder

Ordering Disorder

Khoi Vinh / New Riders Press / 2010-12-03 / USD 29.99

The grid has long been an invaluable tool for creating order out of chaos for designers of all kinds—from city planners to architects to typesetters and graphic artists. In recent years, web designers......一起来看看 《Ordering Disorder》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具