MySQL: 9 为数据库部署Prometheus+Grafana监控系统
2021/7/10 19:37:23
本文主要是介绍MySQL: 9 为数据库部署Prometheus+Grafana监控系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.Prometheus和Grafana的介绍
Prometheus是一个监控数据采集和存储系统,它可以利用监控数据采集组件(比如mysql_export)从你指定的MySQL数据库中采集他需要的监控数据,然后他自己有一个时序数据库,它会把采集到的监控数据放入自己的时序数据库中,本质上就是存储在磁盘文件里。
Grafana是一个可视化的监控数据展示系统,他可以把Prometheus采集到的大量的MySQL监控数据展示成各种精美的报表,让我们可以直观的看到MySQL的监控情况。
不只是对数据库监控可以采用 Prometheus+Grafana 的组合,对于开发出来的各种Java系统、中间件系统,都可以使用这套组合去进行可视化的监控,就是让Prometheus去采集你的监控数据,然后用Grafana展示成报表。
2. 安装和启动Prometheus
(1)安装环境: Linux 服务器系统
(2)下载Prometheus安装包和node_exporter采集组件包
通过这里的连接 :http://cactifans.hi-www.com/prometheus/ 可以下载当前需要的两个压缩包,这里prometheus是用来部署监控系统自己的,然后node_exporter是用来采集MySQL数据库所在机器的CPU、内存、网络、磁盘之类的监控数据的:
node_exporter-0.15.2.linux-amd64.tar.gz prometheus-2.1.0.linux-amd64.tar.gz
(3)MySQL数据库数据采集组件
mysqld_exporter-0.10.0.linux-amd64.tar.gz
这个mysqld_exporter就是用来采集MySQL数据库自己的一些监控数据的,比如SQL性能、连接数量之类的:
https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz(从本连接可以下载 mysqld_exporter)
(4)安装流程
mkdir /data mkdir /root tar xvf prometheus-2.1.0.linux-amd64.tar.gz -C /data tar xf node_exporter-0.15.2.linux-amd64.tar.gz -C /root tar xf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /root cd /data/ mv prometheus-2.1.0.linux-amd64/ prometheus cd prometheus/
接下来要修改prometheus的配置文件 vi prometheus.yml,主要是在scrape_configs下面加入一大段自定义的配置,因为它需要去采集MySQL数据本身和MySQL所在机器的监控数据:
# 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). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # 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']
上面的配置文件写好之后,就可以启动Prometheus了。
(5)启动prometheus
需要在/data/prometheus目录中,去执行启动命令:
/data/prometheus/prometheus --storage.tsdb.retention=30d &
这里的30d是说你的监控数据保留30天。启动之后,就可以在浏览器中访问9090端口去查看prometheus的主页了。
3. 部署Grafana
下载 grafana-4.6.3.linux-x64.tar.gz,然后一步一步的执行下面的命令,完成它的启动。
华为镜像地址:https://mirrors.huaweicloud.com/grafana/(比官网下载要快)
tar xf grafana-4.6.3.linux-x64.tar.gz -C /data/prometheus/ cd /data/prometheus/ mv grafana-4.6.3 grafana cd /data/prometheus/grafana ./bin/grafana-server &
接着就完成了grafana的启动,然后可以通过浏览器访问3000端口,默认的用户名和密码是admin/admin。接着在Grafana左侧菜单栏里有一个Data Source,点击里面的一个按钮是Add data source,就是添加一个数据源。
然后在界面里输入你的数据源的名字是Prometheus,类型是Prometheus,HTTP URL地址是http://127.0.0.1:9090,其他的都用默认的配置就行了,接下来Grafana就会自动从Prometheus里获取监控数据和显示了。
接着需要安装Grafana的仪表盘组件,首先需要下载grafana-dashboards-1.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机器上拖到你的windows电脑上来,因为需要通过浏览器上传他们。
接着在Grafana页面中,可以看到最上面有一个Import Dashboard的按钮,就是说可以导入一些仪表盘,这个时候就是要导入刚才看到的一大堆的json文件。
你点击Upload json file 按钮,就会出现一个界面让你上传一个一个的json文件了,然后你就依次上传,接着grafana中就会出现一大滴的仪表盘了,比如机器的CPU使用率的仪表盘,磁盘性能仪表盘,磁盘空间仪表盘,MySQL监控仪表盘,等等。
这篇关于MySQL: 9 为数据库部署Prometheus+Grafana监控系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7