grafana mysql 监控_MySQL数据库之利用Prometheus和Grafana监控MySQL

本文主要向大家介绍了MySQL数据库之利用Prometheus和Grafana监控MySQL,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

d1277d65e597bac4b52c6c6786f7982c.png

一、 Prometheus 是一个开源的服务监控系统和时间序列数据库。:

官方GitHub地址为:https://github.com/prometheus/prometheus

官方地址:https://prometheus.io/

官方拓扑图如下

mysql-19051300090

特性:高维度数据模型

自定义查询语言

可视化数据展示

高效的存储策略

易于运维

提供各种客户端开发库

警告和报警

数据导出

二、安装Prometheus(服务器环境为Centos7.2,本实验服务端跟被监控MySQL在同一台服务器)

前提条件请关闭SELinux与Firewalld(centos6  为iptables)下载安装prometheus

$ wget https://github.com/prometheus/prometheus/releases/download/v1.7.1/prometheus-1.7.1.linux-amd64.tar.gz

$ mkdir  /opt/prometheus

$ tar zxf prometheus-1.7.1.linux-amd64.tar.gz  -C /opt/prometheus --strip-components=1

编辑配置prometheus.yml文件,内容如下:

global:

scrape_interval:     15s

evaluation_interval: 15s

external_labels:

monitor: 'codelab-monitor'

rule_files:

scrape_configs:

- job_name: 'prometheus'

static_configs:

- targets: ['192.168.1.199:9090']

- job_name: linux

static_configs:

- targets: ['192.168.1.199:9100']

labels:

instance: db1

- job_name: mysql

static_configs:

- targets: ['192.168.1.199:9104']

labels:

instance: db1

后台启动prometheus

nohup /opt/prometheus/prometheus -config.file=prometheus.yml &

tail -200f nohup.out

time=""2017-06-12T11:51:16+08:00"" level=info msg=""Starting prometheus (version=1.7.0, branch=master, revision=bfa37c8ee39d11078662dce16c162a61dccf616c)"" source=""main.go:88""

time=""2017-06-12T11:51:16+08:00"" level=info msg=""Build context (go=go1.8.3, user=root@7a6329cc02bb, date=20170607-09:43:48)"" source=""main.go:89""

time=""2017-06-12T11:51:16+08:00"" level=info msg=""Host details (Linux 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 monitor (none))"" source=""main.go:90""

time=""2017-06-12T11:51:16+08:00"" level=info msg=""Loading configuration file prometheus.yml"" source=""main.go:252""

time=""2017-06-12T11:51:16+08:00"" level=info msg=""Loading series map and head chunks..."" source=""storage.go:428""

time=""2017-06-12T11:51:16+08:00"" level=info msg=""2200 series loaded."" source=""storage.go:439""

time=""2017-06-12T11:51:16+08:00"" level=info msg="" source=""web.go:259""Prometheus提供一个内置的web界面。我们可以通过http://192.168.1。199:9090访问

mysql-19051300090

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

mysql-19051300090

三、接下来我们安装client客户端1、安装client

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

$ mkdir /opt/prometheus_exporters

$ tar zxf node_exporter-0.14.0.linux-amd64.tar.gz -C /opt/prometheus_exporters --strip-components=1  && tar zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /opt/prometheus_exporters --strip-components=1

2、启动os监控client

nohup /opt/prometheus_exporters/node_exporter &

tail -200f nohup.out

time=""2017-06-12T11:28:52+08:00"" level=info msg="" - hwmon"" source=""node_exporter.go:162""

time=""2017-06-12T11:28:52+08:00"" level=info msg="" - netstat"" source=""node_exporter.go:162""

time=""2017-06-12T11:28:52+08:00"" level=info msg="" - stat"" source=""node_exporter.go:162""

time=""2017-06-12T11:28:52+08:00"" level=info msg="" - vmstat"" source=""node_exporter.go:162""

time=""2017-06-12T11:28:52+08:00"" level=info source=""node_exporter.go:186""

3、mysqld_exporter需要连接到MySQL,需要授权

mysql> GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'monitor'@'localhost' identified by 'test123';

mysql> GRANT SELECT ON performance_schema.* TO 'monitor'@'localhost';

4、创建 .my.cnf 文件并运行mysqld_exporter

[root@monitor prometheus_exporters]# cat .my.cnf

[client]

user=monitor

password=test123

[root@monitor prometheus_exporters]# export DATA_SOURCE_NAME=""monitor:test123@(monitor:3306)/""

#####(monitor:3306)/此monitor为主机名

启动mysqld_exporter

nohup /opt/prometheus_exporters/mysqld_exporter -config.my-cnf="".my.cnf"" &

tail -200f nohup.out

time=""2017-06-12T11:30:07+08:00"" level=info msg=""Starting mysqld_exporter (version=0.10.0, branch=master, revision=80680068f15474f87847c8ee8f18a2939a26196a)"" source=""mysqld_exporter.go:460""

time=""2017-06-12T11:30:07+08:00"" level=info msg=""Build context (go=go1.8.1, user=root@3b0154cd9e8e, date=20170425-11:24:12)"" source=""mysqld_exporter.go:461""

time=""2017-06-12T11:30:08+08:00"" level=info msg="" source=""mysqld_exporter.go:479""

我们回到192.168.1.199:9090,可以看到

Status->Targets页面

mysql-19051300090

四、安装和运行Grafana1、安装Grafana

#wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.2-1.x86_64.rpm

#yum localinstall grafana-4.3.2-1.x86_64.rpm

替换grafana的dashboards

Grafana 并没有太多的配置好的图表模板,除了 Percona 开源的一些外,很多需要自行配置。

下载dashboards(https://github.com/percona/grafana-dashboards)

git clone https://github.com/percona/grafana-dashboards.git

cp -r grafana-dashboards/dashboards /var/lib/grafana/

2、编辑配置文件 /etc/grafana/grafana.ini ,修改 dashboards.json 段落下两个参数的值:

[dashboards.json]

enabled = true

path = /var/lib/grafana/dashboards

2、运行 Grafana

systemctl start grafana-server

# [root@monitor prometheus_exporters]# ps aux |grep grafana

root      3211  0.0  0.0 112664   972 pts/1    S+   11:40   0:00 grep --color=auto grafana

grafana  21241  0.3  0.8 805720 39620 ?        Ssl  6月12   4:42 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile= cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins

我们可通过 http://192.168.1.199:3000 访问Grafana网页界面(缺省的帐号/密码为admin/admin):

mysql-19051300090

登录并设置数据源

mysql-19051300090

mysql-19051300090

至此大功告成

我们可以看到os与数据库监控数据了

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值