c 监控mysql_Grafan+Prometheus 监控 MySQL

架构图

17e9074faa06c2dd43e9088d1bc604ba.png

环境

IP

环境

需装软件

192.168.0.237

mysql-5.7.20

node_exporter-0.15.2.linux-amd64.tar.gz

mysqld_exporter-0.10.0.linux-amd64.tar.gz

192.168.0.248

grafana+prometheus

prometheus-2.1.0.linux-amd64.tar.gz

node_exporter-0.15.2.linux-amd64.tar.gz

grafana-4.6.3.linux-x64.tar.gz

在 192.168.0.248 上安装 grafana prometheus

安装 prometheus

# 创建保存软件的目录

mkdir /data/software/ -p

cd /data/software/

# 解压 prometheus

tar xvf prometheus-2.1.0.linux-amd64.tar.gz -C /iba/

cd /iba/

mv prometheus-2.1.0.linux-amd64 prometheus

cd prometheus/

cp prometheus.yml /tmp/prometheus.yml.20181203

# 配置 prometheus.yml

cat prometheus.yml

# my global config

global:

scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.

evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

# scrape_timeout is set to the global default (10s).

# A scrape configuration containing exactly one endpoint to scrape:

# Here it's Prometheus itself.

scrape_configs:

- job_name: 'Host'

file_sd_configs:

- files:

- host.yml

metrics_path: /metrics

relabel_configs:

- source_labels: [__address__]

regex: (.*)

target_label: instance

replacement: $1

- source_labels: [__address__]

regex: (.*)

target_label: __address__

replacement: $1:9100

- job_name: 'MySQL'

file_sd_configs:

- files:

- mysql.yml

metrics_path: /metrics

relabel_configs:

- source_labels: [__address__]

regex: (.*)

target_label: instance

replacement: $1

- source_labels: [__address__]

regex: (.*)

target_label: __address__

replacement: $1:9104

- job_name: 'prometheus'

static_configs:

- targets:

- localhost:9090

cat host.yml

- labels:

service: test

targets:

- 192.168.0.248

- 192.168.0.237

cat mysql.yml

- labels:

service: test

targets:

- 192.168.0.237

# 测试 prometheus 是否可以正常启动

/iba/prometheus/prometheus --storage.tsdb.retention=30d &

ps -ef|grep prometh

kill -9 14650

# 配置 prometheus.service 文件

vi /usr/lib/systemd/system/prometheus.service

# 内容为

[Unit]

Description=Prometheus instance

Wants=network-online.target

After=network-online.target

[Service]

User=root

Group=root

Type=simple

Restart=on-failure

WorkingDirectory=/iba/prometheus/

RuntimeDirectory=prometheus

RuntimeDirectoryMode=0750

ExecStart=/iba/prometheus/prometheus --storage.tsdb.retention=30d --config.file=/iba/prometheus/prometheus.yml

LimitNOFILE=10000

TimeoutStopSec=20

[Install]

WantedBy=multi-user.target

# 启动 prometheus

systemctl start prometheus

systemctl status prometheus -l

# 开放防火墙

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"

firewall-cmd --reload

浏览器输入 http://192.168.0.248:9090 访问

c231110042cd210b7ecedc1ea2c03979.png

安装 node_exporter 获取主机信息

# 解压 node_exporter

cd /data/software/

tar xf node_exporter-0.15.2.linux-amd64.tar.gz -C /usr/local

mv node_exporter-0.15.2.linux-amd64 node_exporter

nohup ./node_exporter &

安装 grafana

cd /iba/software

# 解压

tar xf grafana-4.6.3.linux-x64.tar.gz -C /iba/prometheus/

cd /iba/prometheus/

mv grafana-4.6.3 grafana

cd grafana/

# 测试

./bin/grafana-server

# 停止

ctrl+c

cat /usr/lib/systemd/system/grafana-server.service

[Unit]

Description=Grafana instance

Documentation=http://docs.grafana.org

Wants=network-online.target

After=network-online.target

[Service]

User=root

Group=root

Type=simple

Restart=on-failure

WorkingDirectory=/iba/prometheus/grafana

RuntimeDirectory=grafana

RuntimeDirectoryMode=0750

ExecStart=/iba/prometheus/grafana/bin/grafana-server

LimitNOFILE=10000

TimeoutStopSec=20

[Install]

WantedBy=multi-user.target

# 启动

systemctl start grafana-server

systemctl status grafana-server -l

访问 http://192.168.0.248:3000,默认用户和密码是 admin/admin

842171df8b27ac55c18bb0a1114aeb97.png

配置数据源

ce8d4df8da2dac0b19e1298ab24fa04a.png

dd7e6c2d43ae11c00aa3388b91770ab6.png

下载 grafana-dashboards-1.6.1.tar.gz,解压,使用浏览器导入 dashboard, 下载地址:https://github.com/percona/grafana-dashboards/archive/v1.6.1.tar.gz

05aec88de34908db7c0311b9d57cff5e.png

0d731ba362cc00d7574b9b7937feefa2.png

2818e5d8be621afa2f6d500224af3d49.png

5f2b3253905d435a41058085fcea0848.png

在 192.168.0.237 安装 node_exporter 和 mysqld_exporter

cd /iba/software/

tar zxf node_exporter-0.15.2.linux-amd64.tar.gz -C /usr/local/

cd /usr/local/

mv node_exporter-0.15.2.linux-amd64 node_exporter

# 启动

cd node_exporter/

nohup ./node_exporter &

几分钟后 grafana 出现了新服务器的信息

21687b247991bfc0c6008b7ebae5c22e.png

在mysql上配置监控使用的用户

GRANT REPLICATION CLIENT, PROCESS, SELECT ON *.* TO 'mysql_monitor'@'%' IDENTIFIED BY 'mysql_monitor';

FLUSH PRIVILEGES;

cd /iba/software/

tar zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /usr/local/

cd /usr/local/

mv mysqld_exporter-0.10.0.linux-amd64/ mysqld_exporter

cd mysqld_exporter/

# 在 mysql 上创建一个专门用于监控的用户,

cat .my.cnf

[client]

user=mysql_monitor

password=mysql_monitor

# 启动

nohup /usr/local/mysqld_exporter/mysqld_exporter -config.my-cnf="/usr/local/mysqld_exporter/.my.cnf" &

导入 dashboard: MySQL_Overview.json

0dcc26a117c001f521ececcf2fd8c2f9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值