TL;DR
- 场景:CentOS/RHEL 系通过 YUM 安装 Grafana(Enterprise RPM),用 systemd 启停并访问 Web。
- 结论:安装→启动→放通 3000→首次 admin/admin 登录是最短链路;失败多数是服务未起/端口不通/SELinux 防火墙。
- 产出:一套可复制的安装启动链路 + 版本矩阵 + 典型故障速查卡。
官方网站
https://grafana.com/
基本介绍
Grafana 是一个功能强大的开源可视化与监控平台,由 Torkel Ödegaard 于 2014 年创建,现已成为业界领先的数据可视化解决方案之一。它采用 Go 语言编写,前端基于 React 框架构建,支持跨平台部署。
该平台主要应用于以下核心场景:
- IT 基础设施监控:可实时展示服务器 CPU、内存、磁盘等资源使用情况
- 应用程序性能监控(APM):跟踪应用响应时间、错误率等关键指标
- 业务数据分析:可视化销售数据、用户行为等业务指标
- 物联网(IoT)监控:展示传感器采集的温度、湿度等环境数据
Grafana 的核心优势在于其强大的数据集成能力,支持包括:
- 时序数据库:Prometheus、InfluxDB、TimescaleDB
- 日志系统:Loki、Elasticsearch
- 关系型数据库:MySQL、PostgreSQL
- 云服务:AWS CloudWatch、Azure Monitor
其仪表盘功能提供丰富的可视化选项:
- 多种图表类型:折线图、柱状图、饼图、仪表盘等
- 灵活的变量系统:支持时间范围、下拉菜单等交互控件
- 告警功能:可配置阈值触发邮件、Slack 等通知
- 权限管理:支持基于角色的访问控制(RBAC)
典型部署架构包含:
- Grafana 服务器
- 数据源(如 Prometheus)
- 可选的 Grafana Agent(用于数据采集)
- 告警通知渠道(如 Webhook)
通过其插件系统,用户可以扩展支持更多数据源和面板类型,满足各种定制化需求。社区还提供了大量预构建的仪表盘模板,大幅降低使用门槛。
核心功能
数据源支持
Grafana 支持多种数据源,包括 Prometheus、Graphite、Elasticsearch、MySQL、PostgreSQL、InfluxDB 等。用户可以将不同数据源的数据组合在一个仪表盘中,从而实现跨平台的监控和分析。Grafana 采用插件机制来集成这些数据源,且可以通过开发插件添加对新数据源的支持。
灵活的可视化
Grafana 提供多种可视化选项,如折线图、柱状图、散点图、饼图、仪表盘等,帮助用户以最直观的方式呈现数据。它还支持设置数据查询的时间范围、动态刷新和多种过滤器,以实现数据的实时动态可视化。
自定义的报警功能
Grafana 支持创建基于条件的报警(alert),当某个指标达到预设阈值时,可以自动发送通知。报警通知支持多种渠道,包括电子邮件、Slack、Microsoft Teams 等,这使得用户能够实时响应数据变化。
用户与访问控制
Grafana 支持用户分组和权限管理,可以针对不同用户或团队设定不同的仪表盘访问权限,确保数据的安全性。它还提供多租户支持,便于大规模应用部署和管理。
仪表盘的分享与嵌入
Grafana 允许用户分享仪表盘链接或将仪表盘嵌入到其他应用中,并提供可视化的 API,便于与外部系统集成。这使得 Grafana 成为一个非常灵活的监控解决方案。
安装下载
yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-11.3.0-1.x86_64.rpm
对应的执行结果如下所示:
启动服务
sudo systemctl start grafana-server
sudo systemctl status grafana-server
对应的执行结果如下图所示:
访问服务
http://h121.wzk.icu:3000/login
需要账号密码,初始化之后,默认的账号密码都是 admin
进入系统之后,我们可以看到如下的内容:
项目优势
跨数据源的统一监控
Grafana 提供了强大的数据整合能力,支持包括 Prometheus、InfluxDB、Elasticsearch、MySQL、PostgreSQL 等 50+ 数据源的无缝对接。通过统一的可视化界面,IT 运维人员可以:
- 在一个仪表盘中同时展示来自不同系统的监控指标(如服务器CPU、数据库查询延迟、应用日志错误率等)
- 设置跨数据源的关联告警(如当Web服务器响应时间上升且数据库查询延迟同时增加时触发告警)
- 典型应用场景:混合云环境监控、微服务架构的全链路监控
社区活跃,插件丰富
Grafana 拥有超过 100 万活跃用户的社区生态,其主要优势包括:
- 官方插件市场提供 200+ 官方认证插件,包括:
- 数据源插件(如Zabbix、Splunk等)
- 面板插件(如热力图、流程图等)
- 应用集成插件(如Slack、PagerDuty等)
- 社区贡献的数千个仪表盘模板,涵盖:
- 基础设施监控(Kubernetes、Docker等)
- 业务指标监控(电商转化率、广告点击率等)
- 行业解决方案(金融风控、工业物联网等)
实时性与高性能
Grafana 通过以下技术创新确保数据处理效率:
- 流式数据处理架构:
- 支持每秒处理 10万+ 数据点
- 查询响应时间 <100ms(在合理硬件配置下)
- 智能数据采样:
- 自动根据时间范围调整数据粒度
- 长时间段查询时自动降采样
- 缓存优化:
- 多级缓存策略(内存+磁盘)
- 智能缓存失效机制 典型性能场景:在 8核16G 服务器上可同时支持:
- 50个活跃仪表盘
- 每秒刷新 100+ 面板
- 处理 10+ 个数据源的并发查询
使用场景
-
IT 基础设施监控:通过集成 Prometheus 或 InfluxDB 等监控工具,Grafana 可以实时监控服务器 CPU、内存、磁盘使用率、网络流量等。
-
应用性能监控 (APM):Grafana 能与数据来源(如 Elasticsearch 和 Jaeger)配合,用于监控应用程序性能、跟踪 API 请求、数据库查询等,帮助开发者诊断系统瓶颈和异常。
-
业务数据分析:Grafana 也适用于展示和分析业务指标,如电商订单量、用户访问数据等,帮助企业做出基于数据的业务决策。
-
大数据系统监控:对于大数据平台(如 Hadoop、Spark)等,Grafana 可与这些系统的监控工具集成,提供资源使用情况的可视化。
Grafana 与其他监控工具的深度集成
Grafana 作为领先的开源可视化平台,通常与多个专业的开源监控工具形成完整的可观测性解决方案:
Prometheus 集成
Prometheus 是一个强大的时序数据监控系统,专门用于采集和存储系统指标数据。Grafana 通过与 Prometheus 的深度集成:
- 实时数据获取:Grafana 可以直接查询 Prometheus 的数据源,展示 CPU、内存、网络等系统指标
- 灵活的查询语言:支持 PromQL 查询语言,可构建复杂的监控仪表板
- 告警集成:可将 Prometheus 的告警规则可视化展示在 Grafana 中
- 典型应用场景:Kubernetes 集群监控、微服务架构监控
Loki 集成
Loki 是 Grafana Labs 开发的日志聚合系统,与 Grafana 无缝集成:
- 统一的可视化界面:在同一个 Grafana 界面中查看监控指标和日志数据
- 高效的日志搜索:支持标签索引和全文搜索,快速定位问题日志
- 关联分析能力:可将异常指标与对应时间段的日志关联分析
- 典型应用场景:应用故障排查、安全事件调查、性能问题诊断
Jaeger 集成
Jaeger 是 Uber 开源的分布式追踪系统,与 Grafana 配合提供:
- 完整的请求链路可视化:展示跨服务的调用关系和耗时
- 性能瓶颈分析:识别慢请求和性能热点
- 与指标日志的关联:将追踪数据与指标、日志数据关联分析
- 典型应用场景:微服务性能优化、分布式系统故障诊断
这些工具的集成使 Grafana 成为一个完整的可观测性平台,覆盖指标(metrics)、日志(logs)和追踪(traces)三大支柱,为现代分布式系统提供全方位的监控能力。
错误速查
| 症状 | 根因 | 定位 | 修复 |
|---|---|---|---|
systemctl start grafana-server 失败 | 依赖缺失/配置文件语法错误/端口冲突/权限问题 | systemctl status grafana-server -l;journalctl -u grafana-server -n 200 --no-pager | 按日志补依赖/修配置;排查端口冲突(3000 被占用)并修改监听端口或释放占用 |
systemctl status 显示 running,但浏览器打不开 :3000 | 防火墙/安全组未放通;服务未监听 0.0.0.0 | 服务器本机:ss -lntp | grep 3000;远端:云安全组/iptables;本机 curl -I http://127.0.0.1:3000 | 本机 curl 127.0.0.1:3000 通,外部域名不通 |
| 反向代理/域名解析/端口映射问题 | 对比“本机直连 vs 域名链路”;检查 Nginx/SLB 配置与 DNS 解析 | 修正反代 upstream、host/路径;校验 DNS 指向与端口映射一致 | 打开登录页但一直 302/循环跳转 |
root_url/serve_from_sub_path 配置与反代路径不匹配;cookie 域/协议不一致 | 浏览器 Network 看 302 Location;Grafana 配置文件与反代路径比对 | 统一 root_url、子路径与反代 rewrite;确保 http/https 与域名一致 | 登录 admin/admin 提示失败 |
| 已改过初始密码;禁用本地登录;启用了外部认证/SSO;数据库状态异常 | 查看 Grafana 日志里 auth 相关条目;检查 grafana.ini auth 配置 | 按实际认证方式处理:恢复管理员账号/重置密码/调整 auth 配置;确保数据库可写访问 | 慢/仪表盘加载卡 |
| 数据源查询慢/并发高/面板查询未降采样 | Grafana Explore/Query Inspector;数据源侧查询耗时 | 优化查询、降低刷新频率、加缓存/聚合、为长时间范围启用降采样或录制规则 | 插件装不上/面板缺失 |
| 插件签名/版本不匹配/无法访问插件仓库 | Grafana 日志;插件目录与 grafana-cli 输出 | 校验版本兼容;配置插件源/代理;按需启用或更换兼容插件 |
其他系列
🚀 AI篇持续更新中(长期更新)
AI炼丹日志-29 - 字节跳动 DeerFlow 深度研究框斜体样式架 私有部署 测试上手 架构研究,持续打造实用AI工具指南! AI研究-132 Java 生态前沿 2025:Spring、Quarkus、GraalVM、CRaC 与云原生落地
💻 Java篇持续更新中(长期更新)
Java-218 RocketMQ Java API 实战:同步/异步 Producer 与 Pull/Push Consumer MyBatis 已完结,Spring 已完结,Nginx已完结,Tomcat已完结,分布式服务已完结,Dubbo已完结,MySQL已完结,MongoDB已完结,Neo4j已完结,FastDFS 已完结,OSS已完结,GuavaCache已完结,EVCache已完结,RabbitMQ已完结,RocketMQ正在更新... 深入浅出助你打牢基础!
📊 大数据板块已完成多项干货更新(300篇):
包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈! 大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT案例 详解