体验计划
加入体验计划后,Zeabur 和安装程序会发送什么、绝不发送什么;Zeabur 和 zeaburctl 如何检查新版本;以及如何分别关闭。
体验计划会发送版本和每天的使用人数,让我们知道有多少人在用、该先修哪里。用安装程序安装时默认加入,可以在确认页取消勾选;用 Helm 安装时默认不加入,需要自己开启。
每个人每天(UTC)第一次使用 Zeabur 时,Zeabur 会发送一条事件;安装程序在安装开始、完成或失败时各发送一条。每条事件只带随机的安装代码和下表的属性,没有别的。安装代码由安装程序生成一次,或由你用 uuidgen 生成,不含任何机器的信息。数据保留 13 个月。
| 事件 | 由谁发送 | 时机 |
|---|---|---|
zeabur_active | Zeabur | 每个人每天(UTC)第一次使用 Zeabur 网页界面时 |
install_started | 安装程序 | apply 开始 |
install_finished | 安装程序 | apply 顺利结束 |
install_failed | 安装程序 | apply 中途停止 |
| 属性 | 事件 | 值 |
|---|---|---|
zeabur_version | zeabur_active | Zeabur 的版本,例如 0.1.1 |
day | zeabur_active | UTC 日期,例如 2026-10-30 |
person | zeabur_active | 32 位十六进制数字,只在同一个安装、同一天里区分不同的人 |
mode | zeabur_active | in-cluster |
installer_version | 安装程序的事件 | 安装程序的版本 |
profile | 安装程序的事件 | single-node、multi-node 或 personal |
distribution | 安装程序的事件 | k3s、rke2 或 kube-solo |
step | install_failed | 停在哪一步:plan、preflight、node-prep、cluster、cluster-setup、components、identity、zeabur 或 record |
error | install_failed | config、plan、io、command、download、digest、parse 或 other,不会是错误信息 |
$process_person_profile | 全部 | 固定为 false:不创建个人档案 |
$geoip_disable | 全部 | 固定为 true:不查询所在位置 |
事件不会说明是谁。person 是用密钥算出的用户名加日期的哈希值。密钥从 Zeabur 的 plan key 派生,保存在集群的 Secret 里,从不发送,所以我们无法从哈希值反推用户名。同一个人一整天的 person 都一样,Zeabur 重启也不变;第二天就换成另一个,所以不同天无法关联起来。
事件通过 HTTPS 发送到 PostHog(经由 oss-nori.zeabur.com),只尝试一次,超时很短。发送失败时不会重试,也不影响 Zeabur 或安装。PostHog 不保存 IP 地址。
域名、主机名、IP、Git URL、镜像或服务名称、项目名称、邮箱、用户名、日志,以及集群里的内容。
以下任何一种都有效,其中 DO_NOT_TRACK 优先于其他设置。
- 在安装程序或 Zeabur 的环境变量中设置
DO_NOT_TRACK=1。空值和0以外的值都算。 - 在安装程序的确认页取消勾选,运行
zeabur-installer --no-telemetry apply(或--no-telemetry gui),或在/etc/zeabur-installer/config.yaml中写telemetry: false。 - 用 Helm 安装时,保持默认的
telemetry.enabled=false。没有安装代码时,chart 不接受telemetry.enabled=true。
用 Helm 加入时,传入一个新的安装代码:
helm upgrade <release> oci://ghcr.io/zeabur-oss/charts/zeabur --reuse-values \ --set telemetry.enabled=true \ --set telemetry.installationId=$(uuidgen | tr 'A-Z' 'a-z')安装程序把安装代码保存在 /etc/zeabur-installer/installation-id(权限 0600),并交给 Zeabur 的 chart。
查看会发送的内容
Section titled “查看会发送的内容”设置 ZEABUR_TELEMETRY=debug,Zeabur 或安装程序会打印实际的请求内容,但不会发送。用调试模式安装时,Zeabur 不会加入体验计划。Zeabur 会把内容写在日志里:
kubectl -n zeabur set env deployment/zeabur ZEABUR_TELEMETRY=debugkubectl -n zeabur logs deployment/zeabur | grep telemetryZEABUR_TELEMETRY=off 的效果和 DO_NOT_TRACK 一样。
有新版本时,Zeabur 和 zeaburctl 会提醒你,并说明如何升级,但不会自动升级。检查更新和体验计划各自独立,默认开启。
检查什么。两者都读取 https://api.github.com/repos/zeabur-oss/zeabur/releases,跳过草稿。除非你正在用预发布版本,否则也会跳过预发布版本。其余版本中最新的那个比你的版本新时,会显示它的版本、发布说明链接和升级方法。只要有任何一个更新的正式版本在说明里有 ### Security 小节,就会告诉你当前版本有已知的安全问题,并附上这些版本的链接。
在哪里运行。
- 集群页始终显示
Zeabur v<版本>。不管多少人打开 Zeabur,Zeabur 服务器每小时最多查询 GitHub 一次。页面每次打开时读取它的结果,一直开着时每小时再读一次。服务器会保留上次的结果。访问不了 GitHub 时先沿用,一分钟后再试。GitHub 拒绝时,等 GitHub 重新计数后再试。浏览器不会访问 GitHub。“设置”›“关于”也会显示版本,点击“升级方法”会按 Zeabur 的安装方式列出步骤,分为 zeabur-installer、Helm、Argo CD 和 Flux。请参阅升级 Zeabur。用zeaburctl ui打开时,页面显示的是zeaburctl自己的版本和更新方法。 zeaburctl每次运行命令都会检查。检查与命令同时进行,命令结束后zeaburctl最多再等一秒。有新版本时,会在 stderr 输出一行。它不在磁盘上保存任何东西。stderr 不是终端,或设置了CI时,不会检查。- 没有令牌时,GitHub 每小时只响应同一个 IP 地址 60 次,共用这个地址的人一起算。用完时,
zeaburctl会输出提示。把 GitHub 令牌设在GH_TOKEN或GITHUB_TOKEN(与gh读取的变量相同),zeaburctl就会带上它,改用你自己的额度。不授予任何权限的 fine-grained 令牌就够了。
会发送什么。一个普通的 GitHub 请求,不带任何 ID 或 Cookie。除非你为 zeaburctl 设置了令牌,否则也不带令牌。GitHub 会看到请求来自哪个 IP 地址。Zeabur 服务器的 user agent 是 zeabur,zeaburctl 的是 zeaburctl/<版本>。
关闭。以下任意一种都有效。关闭后,Zeabur 服务器完全不会访问 GitHub。
- 用安装程序安装时,在确认页取消勾选,或在
/etc/zeabur-installer/config.yaml中设置updateCheck: false。运行apply时设置了DO_NOT_TRACK=1或NO_UPDATE_NOTIFIER也会关闭。 - 用 Helm 安装时,设置
updateCheck.enabled=false。集群页就只显示版本。 - 在 Zeabur 的环境变量中设置
DO_NOT_TRACK=1。zeaburctl则是在你自己的环境变量中设置。这也会关闭体验计划。 - 为
zeaburctl(包括zeaburctl ui)在你的环境变量中设置NO_UPDATE_NOTIFIER,任意值都可以。这只关闭检查更新。