Skip to content

6)Grafana

  • https://grafana.com/zh-cn/grafana/
  • 下载:https://grafana.com/grafana/download

✅ 第 1 题:Grafana 是什么?它解决了什么问题?

Q1:请简要介绍 Grafana 的核心功能,它在监控体系中扮演什么角色?

📝 参考答案:

Grafana 是一个开源的 可视化分析与仪表盘平台,支持多种数据源,广泛用于监控指标的展示、告警和分析。

🔍 它解决的问题:

  • 将 Prometheus、Loki、ElasticSearch 等数据源中的数据以图表方式展示
  • 提供动态面板、查询语句编辑器、权限管理与告警配置

💡 类比思维:

如果 Prometheus 是“传感器 + 数据库”,Grafana 就是“监控大屏 + 报表分析师”。

📈 第 2 题:Grafana 如何连接并展示 Prometheus 的数据?

Q2:Grafana 是如何与 Prometheus 协同工作的?它是怎么从 Prometheus 获取数据的?

📝 参考答案:

  1. 在 Grafana 中添加 Prometheus 数据源
    • 设置 Prometheus 的 HTTP 地址(如 http://localhost:9090
  2. 创建 Dashboard,添加 Panel
    • 每个 Panel 中填写 PromQL 查询语句
  3. 支持图表类型:
    • 折线图、柱状图、单值图、热图等
  4. 支持时间选择器、变量绑定、自动刷新等功能

🛠️ 第 3 题:Grafana 的可视化优势体现在哪里?有哪些典型场景?

Q3:Grafana 相比于其他 BI 工具或监控面板有什么特别优势?适用于哪些使用场景?

📝 参考答案:

✨ 优势:

  • 动态仪表盘:通过变量($instance、$job 等)动态切换实例
  • 多数据源支持:如 Prometheus、MySQL、Loki、InfluxDB 等
  • 插件体系丰富:支持各种可视化插件、面板布局
  • 权限控制与共享机制:支持团队协作

🚀 典型场景:

  • 微服务运行状态可视化
  • 容器监控(Kubernetes + Prometheus + Grafana)
  • 应用性能趋势图(APM)
  • SLA 报表/运维日报

⚙️ 第 4 题:Grafana 中告警机制是怎么工作的?

Q4:Grafana 是如何实现告警的?跟 Prometheus 的 Alertmanager 有什么不同?可以配合使用吗?

📝 参考答案:

🔔 Grafana 提供了内建告警功能(从 v8 开始统一告警系统):

  • 支持在 Panel 上设置阈值,配置告警规则
  • 支持多个告警通道(邮箱、钉钉、Slack、Webhook、飞书等)
  • 告警逻辑:
    • 设置评估间隔
    • 查询表达式(PromQL)
    • 比较条件(如 > 90%)
    • 触发后通过 Notifier 推送

🆚 与 Alertmanager 区别:

  • Prometheus + Alertmanager 更适合处理 复杂逻辑/分组/静默策略
  • Grafana 告警更适合 界面配置,快速实现前端可视化告警

推荐配合使用

  • 用 Prometheus 做主数据源告警判断
  • 用 Grafana 可视化展示 + 通知集成

🧱 第 5 题:如何在生产环境中落地 Grafana?有哪些部署与优化建议?

Q5:在生产环境中你如何部署 Grafana?有哪些常见的优化建议?

📝 参考答案:

📦 部署方式:

  • Docker 部署(推荐):
    bash
    docker run -d -p 3000:3000 grafana/grafana
  • Kubernetes 部署(Helm Chart)
  • 二进制安装(支持系统服务)

⚙️ 优化建议:

  • 开启 LDAP / OAuth 身份认证(提高权限管理安全性)
  • 定时备份仪表盘 JSON 配置
  • 配置默认数据源、组织与用户角色
  • 安装官方或社区的可视化插件(如图表、日志浏览器)
  • 与 Loki 联动进行日志 + 指标联查

📚 总结思维导图:Grafana 五维问题

维度内容
定义多数据源可视化平台
数据对接支持 Prometheus、MySQL、Loki 等
告警能力支持内建告警或接入 Alertmanager
使用场景SLA、大屏监控、运维平台
落地建议Docker/K8s 部署,用户权限 + 告警通道配置