lang: zh slug: grafana title: ‘Grafana:74,380 个 GitHub Stars — Docker 部署指南 2026’ description: ‘Grafana 是用于监控的开源可视化和分析平台。 涵盖 Prometheus、Loki、InfluxDB、Elasticsearch 集成。 包括 Docker 设置、生产强化以及与 Datadog、Kibana、New Relic 的比较。’ tags: [“automation”, “ci-cd”, “container”, “devops”, “docker”, “github”, “guide”, “open-source”, “reference”, “tutorial”] date: 2026-05-19 00:00:00+08:00 lastmod: 2026-05-19 00:00:00+08:00 tech_stack: [] application_domain: Dev Utils source_version: ’' licensing_model: Open Source license_type: AGPL-3.0 file_size: ’' file_md5: ’' download_url: ’' backup_url: ’' github_repo: ‘https://github.com/grafana/grafana' last_maintained: ‘2026-05-19’ draft: false categories: [‘dev-utils’] aliases:- /帖子/grafana/ 常见问题解答:
- q: ‘Grafana 本身存储指标和日志吗?’ featureImage: /images/articles/grafana74380-github-stars-docker-2026.png ’ ‘不。 Grafana 是一个无状态可视化层,不存储指标或日志。 它通过原生 API 查询 Prometheus、Loki 或 InfluxDB 等外部数据源,并将结果呈现到面板、仪表板和警报中。
- q: ‘如何使用 Docker 运行 Grafana?’
a: ‘使用
docker volume create grafana-storage创建一个持久卷,然后运行 docker run -d -p 3000:3000 --name=grafana --volume grafana-storage:/var/lib/grafana grafana/grafana-enterprise。 打开 http://localhost:3000 并使用默认凭据 admin/admin 登录,首次登录时必须更改该凭据。 - 问:“如何设置 Grafana 来实现高可用性?” a:“Grafana 通过在共享公共 PostgreSQL 或 MySQL 数据库的负载均衡器后面运行多个实例来进行水平扩展。 对于 500 多个用户,可以使用官方 Helm 图表在 Kubernetes 上部署,使用 Redis 进行会话缓存,并考虑使用 Grafana Mimir 进行长期指标存储。
- 问:“Grafana OSS 和 Grafana Enterprise 之间有什么区别?” a:“核心仪表板和可视化功能是相同的。 Grafana Enterprise 添加了企业数据源插件(例如 Snowflake、SAP HANA 和 ServiceNow)、具有细粒度访问控制、报告和高级支持的高级 RBAC。 开源版本是 AGPL-3.0,可免费用于商业用途。
- q: ‘如何自动配置 Grafana 数据源而不是将它们添加到 UI 中?’
a:通过创建 YAML 文件(例如 grafana/provisioning/datasources/datasources.yml)来“使用 Grafana”的配置系统,该文件定义每个数据源及其类型、访问模式和 URL,然后将配置目录挂载到容器中。 重新启动 Grafana 后,数据源似乎已预先配置。
featureImage:/images/articles/grafana-74-380-github-stars-docker-deployment-guide.png——{{< 资源信息 >}}
Puppeteer:94,300 GitHub Stars •
LazyDocker:51,092 GitHub Stars每个生产事件都始于一个问题:“发生了什么变化?” 如果没有集中的指标、日志和跟踪视图,这个问题需要几分钟(有时甚至几个小时)才能回答。 Grafana 是一个拥有 74,380 个 GitHub star 的开源可视化平台,它将这个问题变成了一个一目了然的仪表板。 本指南介绍了生产级 Docker 部署、数据源集成以及将概念验证与生产就绪监控堆栈分开的强化决策。## Grafana 是什么?Grafana 是一个用于监控和观察的开源平台,可在统一、可共享的仪表板中可视化来自 100 多个来源(时间序列数据库、日志聚合器、跟踪后端和云 API)的数据。 Grafana 最初由 Torkel Ödegaard 于 2014 年推出,作为 Graphite 的前端,现已发展成为 LGTM 堆栈(Loki、Grafana、Tempo、Mimir)和更广泛的云原生可观测性生态系统的首选可视化层。## Grafana 的工作原理Grafana 作为数据源和运营团队之间的无状态可视化层运行。 它本身不存储指标或日志; 相反,它通过本机 API 查询外部数据源,并将结果呈现到面板、仪表板和警报中。
核心架构组件:- 数据源 — Prometheus、Loki、InfluxDB、Elasticsearch、CloudWatch、Azure Monitor 和 100 多个其他插件的本机插件
- 查询引擎 — 每个面板都以其数据源的本机语言执行查询(PromQL、LogQL、InfluxQL、Lucene)
- 警报引擎 — 根据查询结果评估警报规则并将通知路由到 Slack、PagerDuty、电子邮件、webhooks
- 仪表板模型 — 基于 JSON 的仪表板定义,可以进行版本控制、从 Git 进行配置或从社区库导入
- 身份验证层 — 支持多租户部署的 OAuth、LDAP、SAML 和 API 密钥访问典型的数据流如下所示:Prometheus 从应用程序和 Node Exporter 中抓取指标,Loki 聚合来自 Promtail 或 Fluentd 的日志,Grafana 查询两者都可以呈现相关的仪表板,其中 CPU 峰值(指标)和错误峰值(日志)并排出现。
典型的生产 Grafana 仪表板结合了多种面板类型 - CPU/内存的时间序列图、当前值的统计面板、实时错误的日志流以及事件关联的警报注释 - 所有这些都在单个视图中查询不同的数据源。## 安装和设置### Docker CLI — 单个容器(30 秒)让 Grafana 运行进行本地探索的最快方法:```` bas h
docker volume create grafana-storage
Run the latest stable Grafana Enterprise image #
docker 运行 -d
-p 3000:3000
–name=grafana
–volume grafana-storage:/var/lib/grafana
grafana/grafana-enterprise
导航到“http://localhost:3000”。 默认凭据是“admin”/“admin”。 首次登录时系统会提示您更改密码。### Docker Compose — 生产就绪堆栈对于生产级监控堆栈,请将 Grafana 与 Prometheus 和 Loki 结合起来。 创建以下目录结构:
bas
h
mkdir -p ~/grafana-stack/{prometheus,loki,grafana/provisioning/datasources,grafana/provisioning/dashboards,grafana/dashboards}
cd ~/grafana-stack
**docker-compose.yml:**
yam
l
版本:“3.8”服务:
格拉法纳:
图片:grafana/grafana-enterpri```
bas
h
mkdir -p ~/grafana-stack/{prometheus,loki,grafana/provisioning/datasources,grafana/provisioning/dashboards,grafana/dashboards}
cd ~/grafana-stack
MIN
_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin}
- GF_USERS_ALLOW_SIGN_UP=false
- GF_SERVER_ROOT_URL=https://grafana.yourdomain.c```
yam
l
版本:“3.8”
服务:
格拉法纳:
图片:grafana/grafana-enterprise:11.6.0
容器名称:grafana
重新启动:除非停止
端口:
- “3000:3000”
环境:
- GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin}
- GF_USERS_ALLOW_SIGN_UP=false
- GF_SERVER_ROOT_URL=https://grafana.yourdomain.com
- GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-piechart-panel
卷:
-grafana-数据:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
- ./grafana/dashboards:/var/lib/grafana/dashboards
网络:
- 监控
取决于:
- 普罗米修斯
- 洛基
普罗米修斯:
图片:舞会/普罗米修斯:v3.2.0
容器名称:普罗米修斯
重新启动:除非停止
端口:
- “9090:9090”
卷:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- 普罗米修斯数据:/普罗米修斯
命令:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=30d'
- '--web.enable-lifecycle'
网络:
- 监控
洛基:
图片:grafana/loki:3.4.0
容器名称:loki
重新启动:除非停止
端口:
- “3100:3100”
卷:
- ./loki/loki-config.yml:/etc/loki/local-config.yaml
- 洛基数据:/洛基
命令:-config.file=/etc/loki/local-config.yaml
网络:
- 监控
促销尾部:
图片:grafana/promtail:3.4.0
容器名称:promtail
重新启动:除非停止
卷:
- /var/log:/var/log:ro
- ./loki/promtail-config.yml:/etc/promtail/config.yml
命令:-config.file=/etc/promtail/config.yml
网络:
- 监控
卷:
grafana-数据:
普罗米修斯数据:
洛基数据:
网络:
监控:
司机:桥
```_启用:假服务器:
http_监听端口:3100
grpc_listen_端口:9096摄取:
沃尔:
启用:真
目录:/loki/wal
生命周期者:
地址:127.0.0.1
戒指:
kvstore:
存储:内存中
复制因子:1
最终睡眠:0 秒
块空闲周期:5m
chunk_retain_period: 30s架构配置:
配置:
- 来自:2020-05-15
商店: tsdb
object_store:文件系统
架构:v13
索引:
前缀:index_
周期:24小时存储配置:
tsdb_shipper:
活动索引目录:/loki/index
缓存位置:/loki/缓存
文件系统:
目录:/loki/chunks压实机:
工作目录:/loki/compactor
保留启用:真
保留删除延迟:2小时限制配置:
保留期限:720小时
````**洛基/promtail-config.yml:**````
yam
l
服务器:
http_监听端口:9080
grpc_listen_端口:0职位:
filename: /tmp/positions.yaml客户:
- 网址:http://loki:3100/loki/api/v1/pushscrap_configs:
- job_name:系统日志
静态配置:
- 目标:
- 本地主机
标签:
工作:系统日志
__路径__:/var/log/*.log
````启动堆栈:````
bas
h
docker 组成-d
````通过“http://your-server-ip:3000”访问 Grafana。 Prometheus 在端口 9090 上可用,Loki 在端口 3100 上可用。### 自动配置数据源无需手动单击 UI 来添加数据源,而是使用 Grafana 的配置系统。 创建 `grafana/provisioning/datasources/datasources.yml`:````
yam
l
api版本:1数据源:
- 名称:普罗米修斯
类型: 普罗米修斯
访问:代理
网址:http://prometheus:9090
是默认值:true
可编辑:假- 姓名:洛基
类型:洛基
访问:代理
网址:http://loki:3100
可编辑:假- 名称:节奏
类型:节奏
访问:代理
网址:http://节奏:3200
可编辑:假
````重启Grafana,数据源就会出现```
yam
l
全球:
刮擦间隔:15s
评估间隔:15s
scrap_configs:
- 作业名称:'普罗米修斯'
静态配置:
- 目标:['localhost:9090']
- job_name: '节点导出器'
静态配置:
- 目标:['节点导出器:9100']
- 工作名称:'grafana'
静态配置:
- 目标:['grafana:3000']
```_seconds_total{mode="idle"}[5m])) * 100)# 内存使用情况
100 * (1 - ((node_memory_MemAvailable_bytes 或 node_memory_Buffers_bytes) / node_memory_MemTotal_bytes))# 磁盘使用情况
100 - ((node_filesystem_avail_bytes{mountpoint="/"} * 100) / node_filesystem_size_bytes{mountpoint="/"})
````从
Graf``yaml 导入官方 Node Exporter Full 仪表板(ID:`1860`)
auth_enabled:假
服务器:
http_监听端口:3100
grpc_listen_端口:9096
摄取:
沃尔:
启用:真
目录:/loki/wal
生命周期者:
地址:127.0.0.1
戒指:
kvstore:
存储:内存中
复制因子:1
最终睡眠:0 秒
块空闲周期:5m
chunk_retain_period: 30s
架构配置:
配置:
- 来自:2020-05-15
商店: tsdb
object_store:文件系统
架构:v13
索引:
前缀:index_
周期:24小时
存储配置:
tsdb_shipper:
活动索引目录:/loki/index
缓存位置:/loki/缓存
文件系统:
目录:/loki/chunks
压实机:
工作目录:/loki/compactor
保留启用:真
保留删除延迟:2小时
限制配置:
保留期限:720小时
k ,Grafana可以直接查询Elasticsearch索引:``` jso n { “query”: { “bool”: { “must”: [ { “match”: { “level”: “ERROR” } }, { “range”: { “@timestamp”: { “gte”: “now-1h” } } } ] } } }
|--------|-------------------------|---------------|
| Dashboard load time | 50-200ms | 30-100ms |
| Concurrent users | 50-100 | 500+ |
| Max data points per panel | 10,000-50,000 | 100,000+ |
| Alert rule evaluation | 1-10s | <5s |
| Memory usage | 256-512MB | 512MB-1GB per pod |**Netflix** 在数千个微服务中大规模运行 Grafana,使用自定义数据源插件来关联来自多个内部系统的指标。 **PayP``yaml
服务器:
http_监听端口:9080
grpc_listen_端口:0
职位:
文件名:/tmp/positions.yaml
客户:
- 网址:http://loki:3100/loki/api/v1/push
scrap_configs:
- job_name:系统日志
静态配置:
- 目标:
- 本地主机
标签:
工作:系统日志
__路径__:/var/log/*.log
````成本:200-500 美元(计算 + 存储)
- 等效 Datadog 成本:9,500+ 美元/月
- 仪表板创建时间:30 分钟,而使用自定义 UI 则需要 2 小时以上
- 平均检测时间 (MTTD):采用 Grafana 后减少了 40-60%## 高级用法/生产强化### 使用反向代理终止 SSL/TLS切勿将 Grafana 直接暴露在互联网上。 使用 T```
bas
h
docker 组成-d
``xy:````
yam
l
# 添加 docker-compose.yml
特拉菲克:
图片:traefik:v3.3
命令:
- “--api.insecure=true”
-“--providers.docker=true”
-“--entrypoints.websecure.address=:443”
-“--certificatesresolvers.letsencrypt.acme.tlschallenge=true”
- “--certificatesresolvers.letsencrypt.acme.email=admin@yourd```
yam
l
api版本:1
数据源:
- 名称:普罗米修斯
类型: 普罗米修斯
访问:代理
网址:http://prometheus:9090
是默认值:true
可编辑:假
- 姓名:洛基
类型:洛基
访问:代理
网址:http://loki:3100
可编辑:假
- 名称:节奏
类型:节奏
访问:代理
网址:http://节奏:3200
可编辑:假
``` 需要共享数据库(PostgreSQL 或 MySQL)
# 以及负载均衡器后面的多个 Grafana 实例postgres:
图片:postgres:17-alpine
环境:
POSTGRES_DB:grafana
POSTGRES_USER:grafana
POSTGRES_PASSWORD:${DB_PASSWORD}
卷:
- postgres-数据:/var/lib/postgresql/data格拉法纳-1:
图片:grafana/grafana-enterprise:11.6.0
环境:
- GF_DATABASE_TYPE=po```
bas
h
docker compose 重启grafana
``432
- GF_DATABASE_NAME=grafana
- GF_DATABASE_USER=grafana
- GF_DATABASE_PASSWORD=${DB_PASSWORD}
- GF_REMOTE_CACHE_TYPE=redis
- GF_REMOTE_CACHE_CONNSTR=redis:6379
取决于:
- postgres
````![Grafana ```
promq
l
# CPU使用率
100 - (平均(实例) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
# 内存使用情况
100 * (1 - ((node_memory_MemAvailable_bytes 或 node_memory_Buffers_bytes) / node_memory_MemTotal_bytes))
# 磁盘使用情况
100 - ((node_filesystem_avail_bytes{mountpoint="/"} * 100) / node_filesystem_size_bytes{mountpoint="/"})
``rt 在事件响应期间规则。### 警报配置作为代码通过配置定义警报规则:````
yam
l
# grafana/provisioning/alerting/alert-rules.yml
api版本:1
团体:
- 组织ID:1
名称:基础设施
文件夹:基础设施
间隔:60秒
规则:
- uid:CPU 使用率高
标题:CPU使用率超过80%
条件:B
数据:
- 参考编号:A
相对时间范围:
来自: 300
至:0
数据源Uid:普罗米修斯
型号:
expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m```
logq
l
# 统计每个应用程序的错误日志
sum by(app) (rate({job="system-logs"} |= "ERROR" [5m]))
# 搜索特定的错误模式
{job="system-logs"} |~ "(?i)错误|异常|致命" | json | line_format "{{.message}}"
``` 在您的存储库中以 JSON 形式保存并自动配置它们:````
yam
l
# grafana/provisioning/dashboards/dashboards.yml
api版本:1提供者:
- 名称:'默认'
组织ID:1
文件夹:''
类型:文件
禁用删除: false
可编辑:假
更新间隔秒数:30
选项:
路径:/var/lib/grafana/dashboard```
sq
l
-- InfluxQL 示例:每个传感器的平均温度
从“传感器”中选择平均值(“温度”),其中$ timeFilter GROUP BY“sensor_id”,时间($__interval)填充(null)
``` 使用有效证书启用 HTTPS
- 在团队环境中使用 OAuth 2.0 或 LDAP 进行身份验证
- 限制数据源代理访问管理员角色
- 启用审核日志记录:`GF_AUDIT_ENABLED=true`
- 在容器中以非 root 用户身份运行 Grafana
- 保持插件更新——易受攻击的插件是 c```
jso
n
{
“查询”:{
“布尔”:{
“必须”:[
{“匹配”:{“级别”:“错误”}},
{ "range": { "@timestamp": { "gte": "now-1h" } } }
]
}
}
}
````| 是(AGPL-3.0)| 没有 | 是(SSPL)| 没有 |
| **自托管选项** | 是的,免费 | 没有 | 是的 | 没有 |
| **数据来源** | 100+ 本土 | 750+ 集成 | 仅 Elasticsearch | 100+ |
| **指标(时间序列)** | 优秀(普罗米修斯)| 优秀| 好 | 好 |
| **日志分析** | 好(来自洛基)| 优秀| 优秀(Lucene)| 好 |
| **APM / 分布式追踪** | 通过 Tempo/Jaeger 插件 | 优秀(内置)| 通过弹性 APM | 优秀|
| **仪表板灵活性** | 优秀| 好 | 好 | 好 |
| **警报** | 好 | 优秀| 基本 | 好 |
| **设置复杂性** | 中等| 低| 中高| 低|
| **成本(50 个主机/月)** | 0-500 美元自托管 | 9,500-20,000 美元 | 500-1,500 美元自托管 | 7,500-15,000 美元 |
| **社区/生态系统** | 大规模(73K+ 星)| 大| 大号(弹性)| 中等|**何时选择什么:**- **Grafana** — 成本敏感的团队、Kubernetes 原生环境、多源可观测性需求、平台工程成熟度
- **Datadog** — 优先考虑价值实现时间的企业团队、没有专门平台工程师的团队、合规性较强的行业
- **Kibana** — 深度日志分析要求、SIEM 用例、现有 Elasticsearch 投资
- **New Relic** — 全栈 APM,具有慷慨的免费套餐(100GB/月)、基于用户的定价模型## 局限性/诚实评估Grafana 并不是灵丹妙药。 在提交之前了解这些限制:1. **没有内置数据收集**——Grafana 可视化数据; 它 ``yaml
# 添加 docker-compose.yml
特拉菲克:
图片:traefik:v3.3
命令:
- “--api.insecure=true”
-“--providers.docker=true”
-“--entrypoints.websecure.address=:443”
-“--certificatesresolvers.letsencrypt.acme.tlschallenge=true”
- “--certificatesresolvers.letsencrypt.acme.email=admin@yourdomain.com”
-“--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json”
端口:
- “443:443”
卷:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./letsencrypt:/letscrypt
网络:
- 监控
`` 质量和维护节奏。 被作者放弃的插件可能会阻止 Grafana 升级。5. **设置需要专业知识** — LGTM 堆栈需要了解 PromQL、LogQL、Alertmanager 路由和 Kubernetes(如果在集群中运行)。 这不是点击部署解决方案。## 常见问题**问题1:Grafana 完全免费用于商业用途吗?**是的。 开源的 Grafana (AGPL-3.0) 可免费用于商业用途。 Grafana Enterprise 添加了高级 RBAC、数据源权限和企业支持等功能(需付费)。 对于大多数团队来说,OSS 版本就足够了。**问题2:Grafana可以完全取代Datadog吗?**这取决于。 对于 m```
yam
l
# Grafana HA 需要共享数据库(PostgreSQL 或 MySQL)
# 以及负载均衡器后面的多个 Grafana 实例
postgres:
图片:postgres:17-alpine
环境:
POSTGRES_DB:grafana
POSTGRES_USER:grafana
POSTGRES_PASSWORD:${DB_PASSWORD}
卷:
- postgres-数据:/var/lib/postgresql/data
格拉法纳-1:
图片:grafana/grafana-enterprise:11.6.0
环境:
- GF_DATABASE_TYPE=postgres
- GF_DATABASE_HOST=postgres:5432
- GF_DATABASE_NAME=grafana
- GF_DATABASE_USER=grafana
- GF_DATABASE_PASSWORD=${DB_PASSWORD}
- GF_REMOTE_CACHE_TYPE=redis
- GF_REMOTE_CACHE_CONNSTR=redis:6379
取决于:
- postgres
Snowflake 、SAP HANA、ServiceNow),具有细粒度访问控制、报告和高级支持的高级 RBAC。 核心仪表板和可视化功能是相同的。**问题 5:Grafana 如何针对大型组织进行扩展?**Grafana 通过使用共享 PostgreSQL 或 MySQL 数据库在负载均衡器后面运行多个实例来进行水平扩展。 对于 500 多个用户,使用官方 Helm 图表部署在 Kubernetes 上,使用 Redis 进行会话缓存,并考虑使用 Grafana Mimir 进行长期指标存储。**问题6:我可以从其他工具导入仪表板吗?**是的。 Grafana 支持通过社区转换器从 Datadog、Kibana 和其他工具导入。 原生 JSON 仪表板格式有详细记录,Grafana 仪表板库包含 5,000 多个社区贡献的仪表板,可按 ID 导入。**问题7:Grafana支持实时仪表板吗?**是的,使用 Grafana Live(基于 WebSocket 的流)和新的场景框架。 刷新间隔可设置为低至 5 秒,以实现近乎实时的监控。 为了真正实时,请使用流数据源。## 结论Grafana 通过解决一个具体问题——统一 obs``` yam l 赢得了 74,380 个 GitHub 星星
grafana/provisioning/alerting/alert-rules.yml #
api版本:1 团体:
- 组织ID:1 名称:基础设施 文件夹:基础设施 间隔:60秒 规则:
- uid:CPU 使用率高 标题:CPU使用率超过80% 条件:B 数据:
- 参考编号:A 相对时间范围: 来自: 300 至:0 数据源Uid:普罗米修斯 型号: expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode=“idle”}[5m])) * 100) > 80 无数据状态:无数据 execErrState:错误 用于:5m 注释: 摘要:“{{ $labels.instance }} 上的 CPU 使用率很高”
[dibi8 Telegram 群组](https://t.me/dibi8hub) 进行每周开发工具深入研究*本文包含附属链接。 如果您使用我们的链接通过 DigitalOcean 或 HTStack 购买托管,我们将赚取佣金,您无需支付额外费用。 这有助于为我们的开源工具审查提供资金。*
## 推荐的托管和基础设施在将上述任何工具部署到生产环境之前,您需要坚实的基础设施。 dibi8实际使用和推荐的两个选项:- **{< aff "digitalocean" "footer-cta-legacy" "DigitalOcean" >}}** — 200 美元免费赠金,为期 60 天,覆盖全球 14 个以上区域。 运行开源人工智能工具的独立开发者的默认选项。
- **{< aff "htstack" "footer-cta-legacy" "HTStack" >}}** — 从中国大陆低延迟访问的香港 VPS。 这是```
yam
l
# grafana/provisioning/dashboards/dashboards.yml
api版本:1
提供者:
- 名称:'默认'
组织ID:1
文件夹:''
类型:文件
禁用删除: false
可编辑:假
更新间隔秒数:30
选项:
路径:/var/lib/grafana/dashboards
foldersFromFilesStructure:true
onin g 指南](https://grafana.com/docs/grafana/latest/administration/provisioning/)
- Grafana GitHub 存储库
- LGTM堆栈架构
- 普罗米修斯节点导出器仪表板 #1860
- 2026 年 Grafana 与 Datadog 定价分析
- Datadog 官方定价
- 新遗物定价
- DigitalOcean — 云 VPS 托管
- HTStack — 托管云服务器
💬 留言讨论