Grafana 仪表盘 3 步搭起来:数据源、面板与告警一次讲清
【免费下载链接】devops-exercisesLinux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions项目地址: https://gitcode.com/GitHub_Trending/de/devops-exercises
在 devops-exercises 里跟练监控时,Grafana 是最常用的展示层。读完这篇,你可以独立干成三件事:Grafana 数据源配置、用 PromQL 画出第一块面板、给指标配上告警规则并把仪表盘导出共享给团队。
为什么监控可视化选 Grafana
Grafana 把指标、日志、追踪三类数据放进同一套查询与可视化体系,数据存在哪里都不影响你分析。它内置告警规则,阈值一破就能把通知推到你的值班渠道。仪表盘还能导出、分享,团队看的是同一张图,而不是各自翻日志。
练习入口在 topics/grafana/README.md,里面的问答覆盖了本文要讲的每个环节,做完操作可以回去核对细节。
Grafana 装完先做的三件基础配置
- 打开浏览器访问
http://localhost:3000,Grafana 默认就跑在这个端口;首次登录用户名和密码都是admin,进去后建议改掉。 - 找到本机的配置文件,改任何默认行为之前先确认路径没认错:
| 系统 | 默认配置文件路径 |
|---|---|
| Windows | $WORKING_DIR/conf/defaults.ini |
| Linux | /etc/grafana/grafana.ini |
| macOS | /usr/local/etc/grafana/grafana.ini |
- 不想改文件就用环境变量覆盖,Docker 部署时尤其顺手。比如执行
export GF_DEFAULT_INSTANCE_NAME=my-instance就能改实例名。
Grafana 数据源添加步骤
Grafana 自己不存数据,它只负责查和画,真正的数据在数据源里,Prometheus、InfluxDB、Loki 都是常见选项。接入一个新数据源分四步:
- 登录后点左侧栏的 Configuration(齿轮图标),选 Data Sources;
- 点 Add data source,挑你的数据源类型,比如 Prometheus;
- 填连接信息:URL、认证方式;
- 点 Save & Test,看到连接成功再离开页面。
💡 做 devops-exercises 的监控练习时,优先接 Prometheus,容器和 Kubernetes 相关练习的指标基本都从它出。
用 PromQL 画第一块面板
面板是仪表盘的最小单位,一块面板对应一条查询加一张图。操作路径很短:
- 点侧栏 + 号新建 Dashboard,再点 Add new panel;
- 面板编辑页里选好数据源;
- 写一条 PromQL,例如
rate(http_requests_total[5m]),算出每 5 分钟的请求速率; - 挑图表类型,把标题、单位调顺,点 Apply 保存。
面板本质是 JSON,配置长这样:
{ "title": "HTTP请求速率", "type": "graph", "targets": [ { "expr": "rate(http_requests_total[5m])", "legendFormat": "{{status_code}}" } ], "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 } }面板的标题和单位就是给同事看的说明,起名花十秒钟,比事后解释省一小时。
Grafana 告警规则怎么配
告警的逻辑是:面板负责“看什么”,规则负责“什么时候叫”。配法如下:
- 进面板编辑页,点 Alert 选项卡,再点 Create Alert;
- 写条件,比如
avg() OF query(A, 5m, now) IS ABOVE 100,即 5 分钟平均值超过 100 就触发; - 挑通知渠道,Email、Slack 都行;
- 点 Test rule 确认规则能返回预期结果,最后保存面板和告警。
先 Test rule 再 Save 是个小习惯:规则写错没人知道,测试一次几秒钟。
Grafana 仪表盘导出与三种共享方式
仪表盘以 JSON 格式保存,所以搬运它非常随意。导出方法:仪表盘页面右上角点 Share 图标,切到 Export 选项卡,点 Save to file 把 JSON 存下来。
共享有这三种:
- 直接链接:Share 菜单的 Link 选项卡里复制,对方得有查看权限,拉进同一个团队即可;
- 公共快照:点 Public Snapshot 生成临时链接,可以设过期时间,适合临时丢给外部人看;
- 文件夹与团队:用文件夹把仪表盘归组,用团队批量分配权限,规模大了以后这是最省心的管法。
Grafana 插件安装与仪表盘提效技巧
本地部署时装插件走 CLI,两条命令就够:
grafana-cli plugins list-remote # 列出可用插件 grafana-cli plugins install <plugin-id> # 安装指定插件Cloud 环境不用敲命令,在插件页面选好组织点 install plugin 就行。三条让仪表盘更好用的建议:
- 布局分组:相关指标放一排,最核心的放最上面,打开页面第一眼就该看到重点;
- 变量切换:用变量做环境、服务的下拉切换,一套仪表盘通吃多套环境;
- 采样间隔:查询窗口和数据间隔要匹配,图太密反而看不清。
接下来往哪走
到这里,Grafana 数据源配置、面板绘制、告警与导出的完整链路你都走通了,仪表盘也不再只属于你自己。接下来可以往三个方向深挖:接 Loki 把日志也画进同一个界面、做多条件组合和静默期的复杂告警策略、或者跟着 devops-exercises 里的 Kubernetes 练习给整个集群搭一套监控。
【免费下载链接】devops-exercisesLinux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions项目地址: https://gitcode.com/GitHub_Trending/de/devops-exercises
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考