Grafana 发布全新前端可观测性 SDK 及后端性能分析数据库

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: true

Flame Graph Panel:新增的可视化工具

Flame Graph Panel 是 Grafana 新增的可视化面板,专门用于展示性能分析数据。该功能目前处于测试阶段,需要通过 flameGraph 功能开关启用。

总结

Grafana Faro 和 Grafana Phlare 的发布进一步增强了 Grafana 在前端应用可观测性和性能分析领域的能力。Faro 专注于前端监控,而 Phlare 则提供了强大的性能分析数据存储和查询功能。两者的结合,加上新增的 Flame Graph Panel,使开发者能够更全面地监控和优化应用性能。更多详细信息可参考 Grafana 官方博客和 GitHub 仓库。

阅读 58
0 条评论