服务器健康

就像服务器的活动监视器。@blipit/node 0.2 及更高版本每 30 秒发送一次每台服务器的生命体征,服务器健康页面会实时显示,每台服务器一行,并提供最近 1 小时、24 小时或 7 天的图表。

1开启

无需额外操作:它随 Blipit.init 启动。为每个应用设置 serverName,让它的服务器归在同一个名称下。

js
Blipit.init({
  key: process.env.BLIPIT_SECRET_KEY,
  serverName: "api",
});

2每台服务器发送的内容

  • 进程使用的 CPU,100% 表示一个完整的核心。
  • 进程使用的内存,以及机器内存的占用程度。
  • 已用和总的 JavaScript 堆。
  • 第 99 百分位的事件循环延迟:服务器繁忙时请求需要等待多久。
  • 打开的句柄,例如套接字和定时器。
  • 来自 pg 连接池的数据库连接:使用中、空闲和等待中。等待中表示有请求在排队等待连接。

3阅读页面

在线表示服务器正在发送数据;未上报表示它已停止发送。选择一台服务器查看其图表。页面打开期间每 30 秒刷新一次。

4接收警报

在警报的「依赖服务和服务器警报」中为每个警报设置你自己的上限,或将其关闭。

  • CPU 占用过高:服务器的 CPU 持续高于你设置的上限。
  • 内存快满了:服务器的内存使用持续高于你设置的上限。
  • 响应缓慢:服务器的事件循环被阻塞的时间超过你设置的上限,导致请求等待。
  • 停止上报:某个服务的所有服务器都停止发送数据,例如在崩溃之后。

5其他技术栈

以 OTLP JSON 格式、带 X-Blipit-Key 请求头将 OpenTelemetry 指标发送到 https://in.blipit.io/v1/metrics。Blipit 读取 process.cpu.utilization、process.memory.usage、system.memory.utilization、system.cpu.load_average.1m、db.client.connections.usage 以及 Node.js 事件循环指标;service.instance.id 作为服务器名称。

sh
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://in.blipit.io/v1/metrics
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL=http/json
OTEL_EXPORTER_OTLP_HEADERS=X-Blipit-Key=blipit_sk_your_secret_key

6无服务器函数

运行在 Vercel、AWS Lambda、Netlify 或 Azure Functions 上的应用由许多短暂的实例组成,请求之间会暂停。服务器健康会按平台把它们合并为一行,例如 Vercel 函数,并显示出现过的实例数和内存,而不是把每个实例都列为一台服务器。暂停的实例无法有意义地上报 CPU 和“未上报”状态,所以不显示这两项,无服务器实例也不会触发 CPU 过高、响应缓慢或停止上报告警。

须知

  • metrics: false 可关闭;metricsIntervalMs 可修改 30 秒的间隔,最短 10 秒。
  • 与 span 保留同样长的时间:Free 和 Solo 为 7 天,Team 和 Scale 为 14 天。服务器数据不计入任何额度。
  • 内存百分比基于机器的总内存。在内存上限低于宿主机的容器中,请改看已用内存。

遇到问题?发邮件至 support@blipit.io。每个项目的密钥和项目 id 在 app.blipit.io 的“API 密钥”下。