grafana-prometheus-mysql部署
准备
准备镜像
1 2 3
| docker pull grafana/grafana:10.4.1 docker pull prom/prometheus:v2.52.0 docker pull mysql:8.0.43
|
准备prometheus.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| global: scrape_interval: 15s evaluation_interval: 15s
scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090']
|
docker-compose部署
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| version: "3.8"
services: mysql: image: mysql:8.0.43 container_name: grafana-mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: grafana MYSQL_USER: grafana MYSQL_PASSWORD: grafana_pass ports: - "3306:3306" volumes: - mysql-data:/var/lib/mysql
prometheus: image: prom/prometheus:v2.52.0 container_name: prometheus restart: unless-stopped ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana: image: grafana/grafana:10.4.1 container_name: grafana restart: unless-stopped ports: - "3000:3000" environment: - GF_DATABASE_TYPE=mysql - GF_DATABASE_HOST=mysql:3306 - GF_DATABASE_NAME=grafana - GF_DATABASE_USER=grafana - GF_DATABASE_PASSWORD=grafana_pass - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=admin depends_on: - mysql - prometheus
volumes: mysql-data:
|

检查
检查 grafana、prometheus服务
1 2
| http://192.168.72.128:3000 http://192.168.72.128:9090
|


检查数据库连接是否成功,初始化是否成功,库存在说明正常。

案例学习
1. node_exporter
充当 主机监控 Agent 的角色。运行在 Linux 主机上,负责收集操作系统和硬件层面的性能指标。默认通过 HTTP :9100/metrics
暴露数据,Prometheus 会定期抓取这些指标。
1.1 部署node_exporter
1 2 3 4 5 6 7 8 9
| wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar -xvf node_exporter-1.8.2.linux-amd64.tar.gz cd node_exporter-1.8.2.linux-amd64
./node_exporter &
|

1.2 prometheus连接
编辑Prometheus 配置文件 prometheus.yml
,增加一个 scrape job:
1 2 3 4
| scrape_configs: - job_name: 'node_exporter' static_configs: - targets: ['192.168.72.128:9100']
|
最后的配置文件:
1 2 3 4 5 6 7
| global: scrape_interval: 15s
scrape_configs: - job_name: 'node_exporter' static_configs: - targets: ['192.168.72.128:9100']
|
重启后检查Prometheus,node_exporter添加成功

数据获取正常

1.3 grafana创建可视化模版
在 Grafana 添加 Prometheus 数据源:
- 打开 Grafana →
Configuration
→ Data Sources
→ 添加 Prometheus。
- URL 填写
http://<Prometheus服务器IP>:9090
。
- 导入官方的 Node Exporter Dashboard(ID: 1860)
- 在 Grafana →
Dashboard
→ Import
→ 输入 1860
→ 选择数据源。
就能得到一个漂亮的主机监控大盘:
