2026 Grafana 监控可视化面板:Docker 部署打造一站式监控仪表盘

1340 字
7 分钟
2026 Grafana 监控可视化面板:Docker 部署打造一站式监控仪表盘

你有没有这样的经历:明明部署了 Prometheus 采集了一堆指标数据,却只能对着 Prometheus 的表格界面发呆——一行行数字看得眼都花了,CPU 使用率到底是在涨还是跌完全看不出来。监控系统没有可视化仪表盘,就像开车没有仪表盘,数据都有但就是没法一眼看懂。

Grafana 就是来解决这个问题的。它是一个用 Go 和 TypeScript 编写的开源可视化平台,支持 Prometheus、Loki、InfluxDB、Elasticsearch 等几十种数据源。把冷冰冰的指标数字变成折线图、柱状图、热力图,还能设置阈值线和告警。

上一篇文章我们部署了 Prometheus 采集服务器指标,现在配上 Grafana,就能得到一套真正的可视化监控系统。


一、Grafana 核心概念#

概念说明
Data Source数据源,可以是 Prometheus、Loki、MySQL 等
Dashboard仪表盘,包含多个 Panel
Panel面板,一个图表或表格
Row行,用于组织面板分组
Alert告警规则,可发送通知
Organization组织,实现多租户隔离

Grafana 本身不存储监控数据,它只是一个「画板」,从各种数据源读取数据并渲染成图表。


二、Docker Compose 部署#

把 Grafana 加入上一篇文章的 Prometheus 监控栈中:

version: '3.8'
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: unless-stopped
ports:
- \"9090:9090\"
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
restart: unless-stopped
ports:
- \"9100:9100\"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: unless-stopped
ports:
- \"3000:3000\"
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/dashboards:/etc/grafana/provisioning/dashboards
- ./grafana/datasources:/etc/grafana/provisioning/datasources
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin123
- GF_INSTALL_PLUGINS=
depends_on:
- prometheus
volumes:
prometheus_data:
grafana_data:

启动#

Terminal window
# 创建配置目录
mkdir -p grafana/dashboards grafana/datasources
# 启动所有服务
docker compose up -d

访问 http://你的IP:3000,默认登录账号密码是 admin / admin123(或者第一次访问时自己设置)。


三、配置数据源#

3.1 添加 Prometheus 数据源#

登录 Grafana 后:

  1. 点击左侧齿轮 ⚙️ → Data Sources
  2. 点击 Add data source
  3. 选择 Prometheus
  4. URLhttp://prometheus:9090(Docker 内网通信直接使用服务名)
  5. 点击 Save & Test,看到绿色提示就成功了

3.2 自动配置(推荐)#

创建 grafana/datasources/datasources.yml

apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus:9090
isDefault: true
editable: false

这样 Grafana 启动时就会自动添加 Prometheus 数据源,免去手动配置。


四、导入仪表盘模板#

Grafana 社区有成千上万的现成仪表盘模板,完全不需要自己从零画图表。

Node Exporter Full 模板(推荐)#

最经典的服务器监控仪表盘:

  1. 点击左侧 +Import
  2. Import via grafana.com 输入模板 ID 1860
  3. 选择数据源为 Prometheus
  4. 点击 Import

导入后你就能看到完整的服务器监控仪表盘,包含:

区域展示内容
CPU使用率、负载、各核心状态
内存总量、已用、可用、Swap
磁盘空间使用率、IO 读写速率
网络收发流量、连接数、错误包
系统运行时间、进程数、文件句柄

其他推荐模板:

模板 ID名称用途
1860Node Exporter Full服务器全面监控
11074Prometheus 2.0 StatsPrometheus 自身状态
893Docker MonitoringDocker 容器监控
14205Blackbox Exporter网站可用性监控
15759Loki Logs日志可视化

自动配置仪表盘#

创建 grafana/dashboards/dashboards.yml

apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: true
options:
path: /etc/grafana/provisioning/dashboards

然后把下载的 JSON 模板放到 grafana/dashboards/ 目录,Grafana 启动时自动加载。


五、Grafana vs 其他可视化方案#

对比项GrafanaChronografKibana自建前端
语言Go + TSGo (InfluxDB 生态)Node.js (ELK 生态)任意
数据源数量50+仅 InfluxDB仅 Elasticsearch取决于实现
告警能力强(内置)一般强(需 X-Pack)需自建
仪表盘模板海量社区模板较少中等
用户管理RBAC + Teams简单RBAC需自建
学习成本中等
Docker 镜像大小~200MB~50MB~1GB取决于实现
最适合任意时序数据InfluxDB 用户ELK 日志分析特殊需求

结论: 绝大多数场景下 Grafana 都是最好的选择。它的数据源生态和社区模板数量遥遥领先。


六、常见问题 FAQ#

Q1:默认密码太简单,怎么改?#

首次登录后会强制修改密码。或者通过环境变量预设:

environment:
- GF_SECURITY_ADMIN_PASSWORD=你的强密码

Q2:Grafana 和 Prometheus 在同一个 Docker 网络里怎么通信?#

用服务名代替 IP 地址。在上面的 docker-compose.yml 中,两个服务在同一个网络下,数据源 URL 填 http://prometheus:9090 就行。

Q3:如何配置 HTTPS 访问?#

推荐用反向代理

# Nginx 配置
server {
listen 443 ssl;
server_name grafana.你的域名.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

或者参考之前文章部署 Caddy / NPM 来一键反代

Q4:Grafana 会占多少内存?#

空载约 50-80MB,加载几个仪表盘后约 100-200MB。在 1 核 2G VPS 上跟 Prometheus 一起跑完全没问题。

Q5:如何将图表嵌入到其他页面?#

在 Panel 的 Share 菜单中:

  1. 选择 Embed 标签
  2. 复制 iframe 代码
  3. 贴到你的页面中

注意需要设置 GF_SERVER_ALLOW_EMBEDDING=true 环境变量。

Q6:数据保留多久?怎么清理?#

Grafana 不存数据,数据保留取决于数据源。Prometheus 的数据保留在上一篇文章中通过 --storage.tsdb.retention.time 控制,默认 15 天。


现在你有了指标采集(Prometheus)和可视化面板(Grafana)。下一篇文章我们会部署 Loki,把日志也纳入监控体系。指标 + 日志 + 可视化 = 真正的全方位可观测性

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
2026 Grafana 监控可视化面板:Docker 部署打造一站式监控仪表盘
https://www.kshare.top/posts/2026-grafana-监控可视化面板docker-部署打造一站式监控仪表盘/
作者
Kshare
发布于
2026-06-25
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Kshare
Hello, I'm Kshare.
公告
站点已开启广告(类型:弹窗广告),给您带来的不便敬请谅解。如有更好的广告建议,欢迎发送邮件至 t9uzrz6u@anonaddy.me,感谢您的支持!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
187
分类
9
标签
190
总字数
490,175
运行时长
0
最后活动
0 天前

文章目录