Skip to main content
[ PIER ]

Grafana

开源可观测性平台 —— 仪表板、告警和 Explore。

Service #monitoring#dashboards#analytics#metrics#visualization

Grafana 是世界上部署最广泛的开源可观测性平台。它连接 Prometheus、Loki、Tempo、PostgreSQL、MySQL、Elasticsearch、CloudWatch 等 50+ 数据源,渲染统一的仪表板、告警和 Explore 视图。Pier 部署官方 Docker 镜像,带强 admin 密码和持久化仪表板存储。

使用 Pier 部署

  1. 1 打开 Pier 控制台,点击 Add service。
  2. 2 从模板列表中选择 Grafana。
  3. 3 选择版本、设置服务名称,Pier 会自动配置容器、存储和端口。
  4. 4 如需 HTTPS,请绑定域名。Traefik 会自动签发 Let's Encrypt 证书。

什么是 Grafana?

Grafana 是事实上的开源时序数据、指标、日志和追踪仪表板平台。2014 年起源 作为 Kibana 的一个分支,它已发展为一个 5000 万+ 下载量的项目,处于开放 可观测性生态的中心。它连接几乎每个数据源 — Prometheus、Loki、Tempo(“LGTM” 栈)、Elasticsearch、PostgreSQL、MySQL、ClickHouse、InfluxDB、CloudWatch、 BigQuery — 并渲染统一的仪表板、告警和 Explore 视图。

它的亮点:将多个数据源拉入一个视图,用变量和下拉构建模板化仪表板,并将 告警路由到团队已使用的消息平台。它的弱点:它是可视化层 — 你仍然需要一个 指标/日志/追踪后端(Prometheus、Loki 等)供其消费。

Pier 如何部署它

Pier 使用官方 grafana/grafana Docker 镜像。默认端口是内部 3000/tcp。 数据卷挂载到 /var/lib/grafana,包含 SQLite 元数据 DB 和任何上传的插件。 Pier 在创建时生成强 GF_SECURITY_ADMIN_PASSWORD;用户名是 admin

对于 HTTPS,在 Pier 的 Domains 标签中附加域名 — Traefik 自动颁发 Let’s Encrypt 证书。Grafana 的 GF_SERVER_ROOT_URL 从 Traefik 发送的 X-Forwarded-* 头推断,因此链接和嵌入无需额外配置即可工作。

通过在 UI 中配置数据源将其连接到其他 Pier 服务:grafana-postgresql 模板为你预先连接 PostgreSQL 数据源;否则手动添加 Prometheus、Loki、 ClickHouse 等。

何时不要使用 Grafana

如果你需要一个带内置代理且零配置的精致 SaaS 可观测性平台,看看 Datadog、 New Relic 或 Honeycomb。如果你只需要简单的”在线检查”仪表板,更轻的工具 (Uptime Kuma、Beszel)更快。Grafana 在你有多个数据源并想要一个统一玻璃 面板时大放异彩。

核心功能

50+ 数据源插件

Prometheus、Loki、Tempo、InfluxDB、PostgreSQL、MySQL、ClickHouse、Elasticsearch、CloudWatch、Azure Monitor、Google Cloud Monitoring、MongoDB、Snowflake、BigQuery 和数十个社区插件。

统一仪表板

在一个面板中结合指标、日志和追踪。变量、注释、模板和重复行实现动态仪表板。

告警与值班

内置告警规则,多步路由 — Telegram、Slack、Discord、PagerDuty、Opsgenie、webhook。与 Grafana OnCall 集成实现完整事件工作流。

Explore 视图

用于日志、指标和追踪的临时查询视图。无需编写仪表板即可快速关联指标尖峰与日志行。

配置即代码

仪表板、数据源、告警可从容器中的 YAML/JSON 配置 — 把可观测性放进 Git 仓库。

认证集成

LDAP、OAuth2(Google、GitHub、GitLab、Azure AD、Okta、Auth0)、SAML(企业版)和代理认证。Pier 部署 OSS 版本;如需 SAML 或细粒度 RBAC,升级到企业版。

应用场景

应用指标仪表板

将 Prometheus → Grafana 用于系统 + 应用指标。自 2014 年以来的规范栈。

基于 SQL 的自托管 BI

在 PostgreSQL、MySQL、ClickHouse 或 BigQuery 之上构建 BI 仪表板 — 无需为 Tableau 或 Looker 付费。

日志搜索和告警(Loki)

与 Grafana Loki 配对用于日志聚合;Explore + LogQL 以低于 Elastic 的存储成本提供类似 Elastic 的体验。

综合监控与 SLO

定义服务级目标,跟踪错误预算,可视化燃尽率 — 无需购买 Datadog。

IoT 和工业遥测

将 Grafana 连接到 TimescaleDB、InfluxDB 或 MQTT broker 用于实时 IoT 仪表板。

代码示例

从 YAML 配置数据源 yaml
# /etc/grafana/provisioning/datasources/postgres.yaml
apiVersion: 1
datasources:
  - name: PostgreSQL
    type: postgres
    url: postgres-host:5432
    user: grafana_ro
    jsonData:
      database: appdb
      sslmode: disable
    secureJsonData:
      password: ${GRAFANA_PG_PASSWORD}
配置仪表板 yaml
# /etc/grafana/provisioning/dashboards/dashboards.yaml
apiVersion: 1
providers:
  - name: 'Default'
    folder: ''
    type: file
    options:
      path: /var/lib/grafana/dashboards
定义告警规则 yaml
apiVersion: 1
groups:
  - name: app-alerts
    interval: 30s
    rules:
      - uid: high-error-rate
        title: High HTTP 5xx error rate
        condition: B
        data:
          - refId: A
            datasourceUid: PROM
            model:
              expr: sum(rate(http_requests_total{code=~"5.."}[5m]))
        for: 2m
通过 iframe 嵌入面板 html
<iframe
  src="https://grafana.example.com/d-solo/abc123/myboard?panelId=5"
  width="600" height="300" frameborder="0"></iframe>

对比

vs Datadog Datadog 是托管、精致且昂贵的($15-31/host/月)。Grafana 是 OSS、自托管、基础免费 — 对大多数团队来说,相同功能而成本极低。
vs Kibana Kibana 专为 Elasticsearch 构建。Grafana 是多源且视觉上更丰富的。许多团队同时使用两者 — Kibana 用于日志调查,Grafana 用于统一仪表板。
vs Metabase / Superset Metabase 和 Superset 专注于 SQL 数据的 BI/探索。Grafana 在时序、实时可观测性上更强。根据你是展示"昨天的报告"还是"现在"做选择。
vs Prometheus 内置 UI Prometheus 的 UI 实用但简陋。Grafana 增加了仪表板、变量、共享和告警 UI。几乎每个 Prometheus 用户也安装 Grafana。

常见问题

Pier 部署哪个 Grafana 版本?
默认 `latest`(根据发布日期为 Grafana 11.x 或 12.x)。`11.0` 和 `10.4` 是固定的 LTS 变体。主版本有时会破坏仪表板 JSON;在生产中固定版本。
如何首次登录?
Pier 设置 `GF_SECURITY_ADMIN_USER=admin` 和生成的 `GF_SECURITY_ADMIN_PASSWORD`。密码在服务详情页可见。通过密码更改操作轮换。
仪表板持久化在哪里?
Grafana 的 SQLite 数据库(或配置的外部 Postgres/MySQL)位于 `/var/lib/grafana`。Pier 将其挂载为持久卷 — 重启保留所有内容。
可以从另一个 Pier 服务连接 PostgreSQL 或 MySQL 吗?
可以 — 两者都作为 Grafana 模板提供,带内置仪表板。`grafana-postgresql` 和 `grafana-mysql`(社区)模板预先连接数据源。
如何安装插件?
设置 `GF_INSTALL_PLUGINS` 环境变量或使用插件 UI。Pier 的服务设置允许添加环境变量而无需重建。
通过 Traefik 的 HTTPS?
是 — 在 Pier 的 Domains 标签中添加域名。Traefik 自动颁发 Let's Encrypt 证书。Grafana 从 Traefik 发送的 X-Forwarded-* 头自动检测根 URL。
默认端口?
内部 3000/tcp。Pier 通过 Traefik 在你附加的域名上路由;无需对外暴露 3000。

相关服务

在你的 VPS 上部署

Grafana 是世界上部署最广泛的开源可观测性平台。它连接 Prometheus、Loki、Tempo、PostgreSQL、MySQL、Elasticsearch、CloudWatch 等 50+ 数据源,渲染统一的仪表板、告警和 Explore 视图。Pier 部署官方 Docker 镜像,带强 admin 密码和持久化仪表板存储。

部署此服务 →