前言
随着系统架构日益复杂,监控已不再是简单地“看数字”,而是要从海量指标中快速识别异常、理解上下文并做出响应。Prometheus作为云原生生态的核心监控组件,能够高效采集指标并基于规则触发告警;而Alertmanager负责对告警进行去重、分组与通知。然而,这些告警信息若仅以邮件或消息形式呈现,往往缺乏全局视角和历史脉络,难以支撑高效的故障分析。
Grafana的强大之处,正在于将这些分散的告警事件转化为直观、可交互的可视化视图。通过合理配置数据源、查询语句与面板布局,我们不仅能看到当前哪些告警正在触发,还能回溯告警发生的时间线、关联相关指标趋势、按严重等级分类统计,甚至与日志、链路追踪形成联动。本文将系统讲解如何在Grafana中实现Prometheus告警的全景可视化——从基础查询到高级注解,从实时状态面板到历史分析看板,帮助你构建一个真正“看得清、查得快、判得准”的监控告警驾驶舱,让每一次告警都成为运维决策的有力起点。
1.部署前介绍
我们构建的是一套基于Prometheus + Grafana + Alertmanager的完整监控告警系统。这三者紧密协作、各司其职,共同构成了云原生环境下高度可靠、可视化强、响应及时的可观测性解决方案——缺一不可。
- Prometheus是整个系统的核心数据引擎,负责主动拉取目标服务的指标,存储时间序列数据,并根据预定义的告警规则实时评估系统状态。一旦指标满足触发条件,Prometheus便会生成告警事件并推送给Alertmanager。
- Alertmanager专门用于处理这些告警事件。它负责对来自 Prometheus 的告警进行去重、分组、抑制(inhibition)和静默(silence),并根据配置的路由策略将告警通过邮件、Slack、Webhook、企业微信等渠道通知到相关人员。它是告警“分发中枢”,确保关键问题不被遗漏,同时避免告警风暴。
- Grafana则是系统的“可视化窗口”。它通过连接Prometheus数据源,将原始指标与告警状态以图表、表格、状态面板等形式直观呈现。借助Grafana,我们不仅能实时查看当前正在触发的告警,还能结合历史趋势、添加时间线注解、构建统一监控看板,真正实现从“数据”到“洞察”的转化。
本文所有操作均基于 Ubuntu 系统,后续将详细介绍如何在该环境下依次安装、配置并集成Prometheus、Alertmanager与Grafana,最终搭建一套功能完备、可公网访问(如需)且易于维护的开源监控告警平台。
配置prometheus使用alertmanager告警请看这篇文章,这篇文章有prometheus和alertmanager的安装步骤及配置过程:https://www.cpolar.com/blog/no-more-fear-of-being-woken-up-in-the-middle-of-the-night-implement-intelligent-alerts-with-prometheus-alertmanager
本文,我们着重于安装grafana及配置告警可视化~
2.ubuntu安装grafana实现监控可视化
首先关闭centos防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
安装grafana:
Ubuntu and Debian(64 Bit):
sudo apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_12.1.0_amd64.deb
sudo dpkg -i grafana-enterprise_12.1.0_amd64.deb
Standalone Linux Binaries(64 Bit):
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-12.1.0.linux-amd64.tar.gz
tar -zxvf grafana-enterprise-12.1.0.linux-amd64.tar.gz
Red Hat, CentOS, RHEL, and Fedora(64 Bit):
sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-12.1.0-1.x86_64.rpm
OpenSUSE and SUSE(64 Bit):
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-12.1.0-1.x86_64.rpm
sudo rpm -Uvh grafana-enterprise-12.1.0-1.x86_64.rpm
我用的是Ubuntu在这里:
sudo apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_12.1.0_amd64.deb
sudo dpkg -i grafana-enterprise_12.1.0_amd64.deb
启动grafana,并设置其开机自启:
systemctl restart grafana-server
systemctl enable grafana-server
查看已安装的grafana版本号:
grafana-cli -version
浏览器打开服务器的3000端口,如:http://ip:3000/
ip:3000
第一次登录,默认账号密码:admin/admin
认证后修改密码:
3.配置告警总览仪表盘
3.1下载数据源
Grafana本身不存储数据,它通过连接各种数据源(如Prometheus、MySQL、InfluxDB、Elasticsearch等)来获取监控数据,并将其可视化为图表、仪表盘等。
添加prometheus数据源(一共添加两个都是本文所需):
下载完成后,我们添加所监控的prometheus地址:
最后保存,这样我们就配置好了一个数据源:
添加第二个数据源Prometheus AlertManager Datasource(采集告警使用):

配置alertmanager地址:
点击保存:
3.2配置警告数量仪表盘
点右上角+号:
点击“New dashboard” 创建一个全新仪表盘:
开始创建新的仪表盘:
我们先配置监控“当前告警数量”,选择prometheus数据源:
点击到“code”:
输入“count(ALERTS{alertname=”高ping丢包率”, severity=”warning”})”查询平告警数量,点击“Run queries”:
当前告警数,显示出来了:
为了让它更美观一点,我们接下来进行个性化配置,选择”Stat”:
在Stat styles(统计样式)中的Text mode(文本模式)中选择“Value and name”:
在Stat styles(统计样式)中的Color mode选择“Background Gradient”:
选择居中:
添加mappings,点击“Add Value mappings”:
按照图操作:
要是没有告警,就显示“暂无警告”:
设置背景颜色:
更改提示词:
改后,保存:
添加一个组:
可以调组件大小:
3.3配置告警信息展示面板
继续添加仪表盘:
数据源选择“Prometheus AlertManager Datasource”:
- Receiver: .*
.* 是正则表达式,意思是“任意字符”,即不限定具体接收器名称(接受所有告警信息):
改名改格式:
“Transformations”(数据转换) 设置界面,用于对从数据源获取的原始告警数据进行处理和整理,以便更好地在面板中展示。
添加下面3个:
- Merge series/tables(合并多个数据帧)
- Filter fields by name(按字段名过滤)
- Organize fields by name(按名称组织字段)
选择我们所需要的监控指标:
重命名,自定义展示位置:
效果:
跟我继续丰富效果吧~
打开Column filter:
对某个具体字段单独设置样式、颜色、显示方式等,而不影响其他字段。
添加”告警时间“配置:
设置告警时间那列的宽度(自定义):
添加”所需服务器“配置:
设置自定义宽度:
添加”服务类别“配置(同上):
添加”告警状态“配置:
为了让其更丰富更美观,如图操作:
添加”告警描述“配置:
添加”告警概要“配置:
全部完善后保存:
回到主页,就会发现,告警已经清晰明了啦!
那么现在问题来了,我们在公司可以清晰的看到我们的告警,那下班回家后,应该怎么办呢?
别急,cpolar来帮助你!
在本地部署Grafana时,常因缺乏公网IP而无法远程访问;通过结合内网穿透工具Cpolar,可快速将Grafana服务安全暴露到公网,实现临时或固定的外网访问能力。
4.安装cpolar实现随时随地开发
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
5.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
访问成功。
6.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是grafana3,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道grafana,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的grafana页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
这样我们就可以随时随地查看直观的监控数据啦!
总结
本文系统介绍了如何将Prometheus产生的告警数据在Grafana中实现端到端的可视化,构建一个从原始指标采集、告警触发到全景展示与快速响应的可观测性闭环。通过配置Prometheus告警规则、集成Alertmanager,并在Grafana中添加数据源、创建仪表盘,结合表格、单值、状态时间线等面板类型,实现了对当前告警数量、告警详情列表、严重级别分布等关键信息的实时呈现。同时,利用字段过滤、数据转换和样式覆盖等功能,进一步提升了告警信息的可读性与操作效率。
最终,运维人员可通过一个统一、直观的 Grafana 告警总览页面,快速掌握系统健康状态,实现从“看到数据”到“获得洞察”的跃迁。
感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站







































































