Prometheus+Grafana監控MySQL

首先安裝GOnode

$ yum install go

go version go1.6.3 linux/amd64mysql


下載安裝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.ymllinux

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: db1git

注意各個單詞的開頭位置github

10.10.0.186是咱們數據庫主機的IP,端口則是對應的exporter的監聽端口。web

啓動Prometheussql

$ ./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:259api


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@2018
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" &


6、安裝運行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

相關文章
相關標籤/搜索