又多叒是那台跑着开源平台的测试机,不知为何性能一直上不去,没找到原因在哪里,所以想着搭一个监控系统,综合各种指标看一下,分析下问题出在哪里。搜索了一下,Prometheus和Grafana目前是比较流行的,那就开工吧。
介绍
Prometheus
根据Prometheus官网的描述,Prometheus是一套开源的系统监控报警框架。由SoundCloud在2012年创建,作为社区开源项目进行开发。2016年,Prometheus正式加入Cloud Native Computing Foundation,成为受欢迎度仅次于Kubernetes的项目。
Grafana
Grafana是一个Go语言编写的跨平台的开源的度量分析和可视化工具,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具。
部署
在这里我们监控MariaDB的话,需要安装Prometheus、Grafana,还有Prometheus的两个exporter
:
- mysqld_exporter 收集MariaDB的数据
- node_exporter 收集Linux系统数据
先放下载链接:
https://prometheus.io/download/
https://grafana.com/grafana/download
部署Prometheus
首先是Prometheus,下载并解压:
1 | wget https://github.com/prometheus/prometheus/releases/download/v2.11.1/prometheus-2.11.1.linux-amd64.tar.gz |
配置其中的prometheus.yml
文件
1 | scrape_configs: |
部署exporter
1 | wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.0/mysqld_exporter-0.12.0.linux-amd64.tar.gz |
在MariaDB中创建prometheus用户,作为性能监控使用:
1 | MariaDB [(none)]> GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'prometheus'@'localhost' identified by 'qwerty'; |
在/usr/local/monitor/mysqld_exporter-0.12.0.linux-amd64
目录中创建mysqld_exporter
需要的my.cnf
配置文件:
1 | [client] |
部署Grafana
1 | wget https://dl.grafana.com/oss/release/grafana-6.2.5.linux-amd64.tar.gz |
启动服务
先启动Prometheus
1 | cd /usr/local/monitor/prometheus-2.11.1.linux-amd64 |
此时访问http://localhost:9090/graph
,在Status
->Target
中可以看到系统监控和数据库监控都处于DOWN
的状态,如下图所示:
拉起mysqld_exporter
:
1 | cd /usr/local/monitor/mysqld_exporter-0.12.0.linux-amd64 |
拉起node_exporter
:
1 | cd /usr/local/monitor/node_exporter-0.18.1.linux-amd64 |
再次访问http://localhost:9090/targets
,可以看到均已是UP的状态了。
拉起Grafana:
1 | cd /usr/local/monitor/grafana-6.2.5/bin/ |
访问http://localhost:3000
,即可进入登录页面,如下所示:
在Host Dashboard
页面,需要点击Add data source
,选择Prometheus
后,添加信息即可:
点击Home
->Import dashboard
,选择我们之前下载好的grafana-dashboards包中的模板,路径:/usr/local/monitor/grafana-dashboards-2.0.0-beta4/dashboards
,上传后就可以使用了。
下面放两张效果图,还是很炫酷的😄
OK,先这样,后面有时间可以多学习一下Prometheus和Grafana的使用。