1、部署Grafana

上一篇文章我们已经学习到安装好了Prometheus,接着我们继续学习如何安装Grafana,首先要从下面的地址下载,然后一步一步执行下面的命令,完成他的启动。
https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3.linux-x64.tar.gz

  1. tar xf grafana-4.6.3.linux-x64.tar.gz -C /data/prometheus
  2. cd /data/prometheus
  3. mv grafana-4.6.3 frafana
  4. cd /data/prometheus/frafana
  5. ./bin/grafana-server &

接着就完成了grafana的启动,然后可以通过浏览器访问3000端口,默认的用户名和面是admin/admin.接着再Grafana左侧菜单栏里有一个Data Sources,点击里面的一个按钮是Add data source,就是添加一个数据源。

然后在界面里输入你的数据源的名字是Prometheus,类型是Prometheus
,HTPP URl地址是http://127.0.0.1:9090,其他的都用默认的配置就行了,接下来Grafana就会自动从Prometheus里获取监控数据和展示了。

接着需要安装Grafana的仪表盘组件,首先需要下载grafana-dashboards-1.6.1.tar.gz,􏰒如下􏰌􏶸􏰐即可:

https://github.com/percona/grafana-dashboards/archive/v1.6.1.tar.gz􏰖

􏰐􏰸执􏰰􏰈􏰍列􏰌命令去安装􏰊grafana-dashboard􏳎组件

tar xvf grafana-dashboards-1.6.1.tar.gz 
cd grafana-dashboards-1.6.1 
updatedb
locate json |grep dashboards/

这个时候会看到一大推的json文件,就是各种不同的仪表盘对应的json配置文件,你可以把这些json配置文件通过WinSCP之类的工具从linux机器上拖到你的电脑上,因为需要通过浏览器上传他们。

接在在grafana页面中,可以看到最上面有一个Home按钮,点击一下进入一个界面,你会看到一个Import Dashboard的按钮,就是说可以导入一些仪表盘,这个时候就是要导入刚才看到的一大推的json文件。

你点击Upload json file按钮,就会出现一个界面然给你上传一个一个的json文件,然后你就一次上传,接着grafana中就会出现一大堆的仪表盘,比如机器的CPU使用率的仪表安,磁盘性能仪表盘,磁盘空间仪表盘,MySQL监控仪表盘,等等。

2、添加MySQL机器的监控

首先我们如果想要让Prometheus去采集MySQL机器的监控数据(CPU、内存、磁盘、网络,等等),然后让Grafana可以展示出来,那么就必须先添加Prometheus对MySQL机器的监控。

首先必须要在MySQL机器上解压缩和启动node_exporter,这启动之后是个linux进程,他会自动采集这台linux机器上的CPU、磁盘、内存、网络之类的各种监控数据,其实本质你可以理解为通过我们之前学过的哪些linux命令,可以采集到一切你想要的linux机器的监控数据。

tar xf node_exporter-0.15.2.linux-amd64.tar
mv node_exporter-0.15.2.linux-amd64 node_exporter cd node_exporter
nohup ./node_exporter &

到这一步为止,我们就在MySQL所在的机器上启动了一个node_exporter了,他就会自动采集这台机器的CPU、磁盘、内存、网络的监控数据,但是此时还不够,因为Prometheus上海没加入对这台机器的监控。

此时我们应该还记得,之前在Prometheus的yml配置文件中,我们已经定义了一个host监控项,他就是用来监控机器的,他的配置文件是host.yml,此时我们可以编辑一下这个host.yml配置文件,加入MySQL所在机器的地址就可以了

vi host.yml

- labels:
   service: test
  targets:
  - 127.0.0.1

接着Prometheus就会跟MySQL机器上部署的node_exporter进行通信,源源不断的获取到这台机器的监控数据,写入自己的时序数据库中进行存储,接着我们就可以打开Grafana的页面,此时你就可以看到这台机器的相关性能监控了。

3、添加MySQL数据库的监控

接着我们同样需要在MySQL所在机器上在启动一个mysqld_exporter的组件,他负责去采集MySQL数据库自己的一些监控数据,我们看下面的指令就可以了。

tar xf mysqld_exporter-0.10.0.linux-amd64.tar
mv mysqld_exporter-0.10.0.linux-amd64 mysqld_exporter

接着需要配置一些环境变量,去设置mysqld_exporter要监控的数据库的地址信息,看下面配置了账号、密码以及地址和端口号

export DATA_SOURCE_NAME='root:root@(127.0.0.1:3306)/'
echo "export DATA_SOURCE_NAME='root:root@(127.0.0.1:3306)/'" >> /etc/profile

接着启动mysqld_exporter

cd mysqld_exporter
nohup ./mysqld_exporter --collect.info_schema.processlist --collect.info_schema.innodb_tablespaces -- collect.info_schema.innodb_metrics --collect.perf_schema.tableiowaits --collect.perf_schema.indexiowaits -- collect.perf_schema.tablelocks --collect.engine_innodb_status --collect.perf_schema.file_events -- collect.info_schema.processlist --collect.binlog_size --collect.info_schema.clientstats -- collect.perf_schema.eventswaits &

上面的启动命令指定了大量的选项去开启一些监控的采集,这些命令也都是我手敲的,因为目前环境的一些不便利的因素,所以只能是如此,如果大家发现错误,可以及时指出

接着这个mysqld_exporter进程就会自动采集MySQL自己的监控数据了,然后我们还需要在Prometheus里配置一下他去跟mysqld_exporter通信获取数据以及存储,然后Grafana才能看到对应的报表。

vi /data/prometheus/mysql.yml
- labels:
service: mysql_test
targets:
- 127.0.0.1

接着我们在Grafana中就可以看到MySQL的各种监控数据了。

下一篇文章为大家介绍使用docker快速构建Prometheus+Grafana数据监控