Grafana ObservabilityCon 2022 发布总结
在最近的 ObservabilityCon 2022 大会上,Grafana 宣布了两款新的开源工具,进一步扩展了其可观测性和监控工具套件。这两款工具分别是用于前端应用实时用户监控(RUM)的 Grafana Faro 和用于存储和查询性能分析数据的 Grafana Phlare。此外,Grafana 还新增了 Flame Graph Panel,用于可视化和解释收集到的分析数据。
Grafana Faro:前端应用可观测性工具
Grafana Faro 是一款开源的 Web SDK,专为浏览器前端应用的实时用户监控而设计。它可以自动收集日志、错误和性能指标,并允许为收集的指标添加可选的元数据。Faro 可以将捕获的数据转发到 Grafana Agent,随后由 Agent 将数据发送到配置的后端数据存储(如 Prometheus)。
主要特点:
- 自动收集未捕获的错误、日志和 Web Vitals。
- 支持手动推送数据,例如带上下文的日志。
- 可与 Grafana Cloud 的前端应用可观测性服务集成,当前处于私有测试阶段。
配置示例:
import { initializeFaro } from '@grafana/faro-web-sdk';
const faro = initializeFaro({
url: 'https://collector-host:12345/collect',
apiKey: 'secret',
app: {
name: 'frontend',
version: '1.0.0',
},
});Grafana Phlare:性能分析数据库
Grafana Phlare 是一款开源的性能分析数据库,采用 GNU Affero General Public License v3.0 许可。它用于存储和查询性能分析数据,帮助开发者更好地理解程序的资源使用情况,从而优化性能和成本。Phlare 将分析数据作为时间序列存储在对象存储中,支持随时间变化的可视化。
主要特点:
- 提供 Grafana 数据源插件,支持 Phlare 和 Parca(另一款开源分析数据库)。
- 默认每 10 秒通过 HTTP 抓取性能数据,支持自定义配置。
- 新增 Flame Graph Panel,用于可视化分析数据(当前处于测试阶段)。
配置示例:
scrape_configs:
- job_name: 'default'
scrape_interval: 10s
profiling_config:
pprof_config:
goroutine:
enabled: false
memory:
path: "/debug/pprof/heap"
fgprof:
enabled: true
path: "/debug/fgprof"
delta: trueFlame Graph Panel:新增的可视化工具
Flame Graph Panel 是 Grafana 新增的可视化面板,专门用于展示性能分析数据。该功能目前处于测试阶段,需要通过 flameGraph 功能开关启用。
总结
Grafana Faro 和 Grafana Phlare 的发布进一步增强了 Grafana 在前端应用可观测性和性能分析领域的能力。Faro 专注于前端监控,而 Phlare 则提供了强大的性能分析数据存储和查询功能。两者的结合,加上新增的 Flame Graph Panel,使开发者能够更全面地监控和优化应用性能。更多详细信息可参考 Grafana 官方博客和 GitHub 仓库。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。