博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Prometheus+Grafana监控MySQL
阅读量:6929 次
发布时间:2019-06-27

本文共 3774 字,大约阅读时间需要 12 分钟。

hot3.png

首先安装GO

$ yum install go

go version go1.6.3 linux/amd64

下载安装Prometheus(https://prometheus.io/download/)
cd /data
wget https://github.com/prometheus/prometheus/releases/download/v2.3.0/prometheus-2.3.0.linux-amd64.tar.gz
tar -zxvf prometheus-2.3.0.linux-amd64.tar.gz 
cd prometheus-2.3.0.linux-amd64
vi prometheus.yml

global:

  scrape_interval:     60s
  evaluation_interval: 60s
 
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['192.168.1.211:9090']
        labels:
          instance: prometheus
 
  - job_name: linux
    static_configs:
      - targets: ['10.10.0.186:9100']
        labels:
          instance: db1
 
  - job_name: mysql
    static_configs:
      - targets: ['10.10.0.186:9104']
        labels:
          instance: db1

注意各个单词的开头位置

10.10.0.186是我们数据库主机的IP,端口则是对应的exporter的监听端口。

启动Prometheus

$ ./prometheus -config.file=prometheus.yml

INFO[0000] Starting prometheus (version=1.6.2, branch=master, revision=b38e977fd8cc2a0d13f47e7f0e17b82d1a908a9a)  source=main.go:88
INFO[0000] Build context (go=go1.8.1, user=root@c99d9d650cf4, date=20170511-12:59:13)  source=main.go:89
INFO[0000] Loading configuration file prometheus.yml     source=main.go:251
INFO[0000] Loading series map and head chunks...         source=storage.go:421
INFO[0000] 1032 series loaded.                           source=storage.go:432
INFO[0000] Starting target manager...                    source=targetmanager.go:61
INFO[0000] Listening on :9090                            source=web.go:259

Prometheus内置了一个web界面,我们可通过http://192.168.1.211:9090进行访问:

在Status->Targets页面下,我们可以看到我们配置的两个Target,它们的State为DOWN。

下一步我们需要安装并运行exporter,下载exporters并解压到被监控端服务器:

rometheus和Grafana对MySQL服务器性能进行监控。

我们用到了以下两个exporter:

node_exporter – 用于机器系统数据收集

mysqld_exporter – 用于MySQL服务器数据收集

cd /data

wget https://github.com/prometheus/node_exporter/releases/download/v0.15.2/node_exporter-0.15.2.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

被监控安装GO环境

$ yum install go -y

$ go version
go version go1.6.3 linux/amd64

##$ tar xvf node_exporter-0.15.2.linux-amd64.tar.gz -C /usr/local/

tar -zxvf node_exporter-0.15.2.linux-amd64.tar.gz

$ nohup /data/mysqld_exporter-0.10.0.linux-amd64/node_exporter &

可以./node_exporte &

安装运行mysqld_exporter

mysqld_exporter需要连接到Mysql,所以需要Mysql的权限,我们先为它创建用户并赋予所需的权限.

mysql> GRANT REPLICATION CLIENT,PROCESS ON *.* TO 'root'@'localhost' identified by 'mysql_monitor';
mysql> GRANT SELECT ON *.* TO 'root'@'localhost';

$ tar -zxvf mysqld_exporter-0.10.0.linux-amd64.tar.gz

我们再次回到Status->Targets页面,可以看到两个Target的状态已经变成UP了:

创建.my.cnf文件并运行mysqld_exporter:

$ cat << EOF > .my.cnf
[client]
user=root
password=Root
EOF
$
$ ./mysqld_exporter -config.my-cnf=".my.cnf"

###$ /usr/local/mysqld_exporter-0.10.0.linux-amd64/mysqld_exporter -config.my-cnf="/usr/local/mysqld_exporter-0.10.0.linux-amd64/.my.cnf" &
./mysqld_exporter -config.my-cnf=".my.cnf" &

也可以 nohup /data/mysqld_exporter-0.10.0.linux-amd64/mysqld_exporter -config.my-cnf=".my.cnf" &

六、安装运行Grafana
Grafana安装配置介绍
yum
 sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.3-1.x86_64.rpm
rpm
$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.3-1.x86_64.rpm
$ sudo yum install initscripts fontconfig
$ sudo rpm -Uvh grafana-5.1.3-1.x86_64.rpm

yum install fontconfig

yum install freetype*
yum install urw-fonts

导入Prometheus Dashboard:

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

$ systemctl daemon-reload

$ systemctl start grafana-server
$ systemctl status grafana-server

sudo systemctl enable grafana-server.service

vi /etc/grafana/provisioning/dashboards/sample.yaml

第二行开始删掉注释
# # config file version
apiVersion: 1

providers:

 - name: 'default'
   orgId: 1
   folder: ''
   type: file
   options:
     path: /var/lib/grafana/dashboards

 

转载于:https://my.oschina.net/u/3367404/blog/1830950

你可能感兴趣的文章
homebrew 使用心得
查看>>
CSI-2 协议
查看>>
本机运行x程序出现:Can't open display 原因及其解决方法(貌似非永久)
查看>>
3分钟快速了解FastDFS
查看>>
selenium实战脚本集——新浪微博发送QQ每日焦点(火狐)
查看>>
[转] Visual Studio Code behind a proxy
查看>>
Python--day38---进程间通信--初识队列(multiprocess.Queue)
查看>>
[转] Batch Normalization
查看>>
css3动画
查看>>
[转] STL源码学习----lower_bound和upper_bound算法
查看>>
button 美化
查看>>
java笔记之byte的面试题案例分析
查看>>
iOS开发之GCD同步主线程、异步主线程
查看>>
leetcode217 Contains Duplicate
查看>>
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月6日-2月12日)
查看>>
Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月17日-9月23日)
查看>>
linux常规网卡配置正确,但是出不了路由的解决方法
查看>>
一步步构建“半自动”数据分页模块
查看>>
ionic 调用手机的打电话功能
查看>>
LeetCode – Refresh – Subsets II
查看>>