Prometheus+Grafana打造Mysql监控平台

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

图解物联网

图解物联网

[ 日] NTT DATA集团、河村雅人、大塚纮史、小林佑辅、小山武士、宫崎智也、石黑佑树、小岛康平 / 丁 灵 / 人民邮电出版社 / 2017-4 / 59.00元

本书图例丰富,从设备、传感器及传输协议等构成IoT的技术要素讲起,逐步深入讲解如何灵活运用IoT。内容包括用于实现IoT的架构、传感器的种类及能从传感器获取的信息等,并介绍了传感设备原型设计必需的Arduino等平台及这些平台的选择方法,连接传感器的电路,传感器的数据分析,乃至IoT跟智能手机/可穿戴设备的联动等。此外,本书以作者们开发的IoT系统为例,讲述了硬件设置、无线通信及网络安全等运用Io......一起来看看 《图解物联网》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码