
技术分享 | Prometheus+Grafana监控MySQL浅析
简介
• Prometheus 一套开源的监控&报警&时间序列数据库的组合,通常 Kubernetes 中都会配合 Prometheus 进行监控, 由于Prometheus 自带的图像不够强大,Grafana 作为 Dashboard 配合Prometheus 作为展示。
• Grafana 也是可以直接访问 MySQL 的Performance Schema 作为展示。
架构
通过Prometheus 采集 mysql exporter 与 node exporter ,通过 Grafana 作为展示
部署
基于docker 方式部署,本文仅作为本地测试展示
1. node_exporter 部署
• node_exporter 会采集系统cpu ,内存, 磁盘, 网卡等使用情况,由于mysql 本身并没有采集系统的相关配置,因此我们可以通过node_exporter 进行关联
• 配置成系统服务
• 启动服务
• 查看
进行验证是否生效
2. mysql_exporter 部署
• mysql_exporter 通过查询 mysql 的 performance_schema 生成对应的 metric
• 数据库分配一个用户给 exporter
• docker-compose.yml
• 启动
• 查看是否正确启动
3.prometheus 部署
• prometheus 配置文件
• scrape_configs 主要用于配置拉取数据节点,每一个拉取配置主要包含以下参数:
• prometheus 容器启动 docker-compose up -d
• 通过查看 127.0.0.1:9090/targets 查看是否在
4. Grafana 部署
• rafana 的 docker-compose.yml
• 通过页面进入并且配置 prometheus 作为数据源
• 选择导入模板
• 可以导入 https://grafana.com/grafana/dashboards/7362 percona 提供的模板, 也可以直接选择id ,grafana 将会根据id 下载模板
• 模板中系统配置 是根据hosts 来聚合数据,由于是直接使用的 node_exporter 作为采集系统的配置, 则没有这个System Charts,
• 最简单的方式就是 Queries 修改 instance 的hosts 直接替换成 '192.168.5.242:9100' node_exporter 的名称
这样一个基础的监控平台就搭建完成了。
参考:
• https://prometheus.io/docs/introduction/overview/
• https://github.com/percona/grafana-dashboards
本文转载自公共号GreatSQL社区。
