跳至主要內容
Telemetry
瀏覽說明文件
指南更新於 2026年7月27日由 Telemetry 編輯團隊和產品團隊審查閱讀約需 3 分鐘

讓程式設計代理使用這篇文件

開啟 Claude Code、Codex、Cursor 或其他編碼代理的集中提示包,然後將其適應此處介紹的工作流程。

本頁內容
  1. 先決條件
  2. 1.安裝Telemetry SDK
  3. 2、初始化Telemetry
  4. 3. 建立心跳檢查
  5. 4. 安排心跳
  6. 5. 查詢正常執行時間
  7. 6. 探索 Telemetry 的正常執行時間
  8. 後續步驟

監控網站正常執行時間

心跳記錄成功和失敗的檢查。這使得中斷變得可見,但也揭示了監控作業本身何時停止傳送資料。

網站心跳時間線,包含成功檢查、兩次 HTTP 503 故障和一次十分鐘事件

定期檢查將停機時間和意外的沉默轉變為可查詢的事件。

使用 Telemetry SDK 為每次網站檢查傳送心跳,然後查詢失敗的檢查和資料傳送中斷的時段。

先決條件

  • Telemetry 的有效 API 金鑰
  • 對JavaScript和Node.js有基本瞭解

1.安裝Telemetry SDK

首先,您需要在專案中安裝 Telemetry SDK。如果您還沒有這樣做,請執行以下命令:

npm install telemetry-sh

2、初始化Telemetry

安裝SDK後,在您的專案中匯入並初始化Telemetry。將 YOUR_API_KEY 替換為您實際的 Telemetry API 金鑰。

import telemetry from "telemetry-sh";

telemetry.init("YOUR_API_KEY");

3. 建立心跳檢查

要監控正常執行時間,您可以設定心跳功能,定期向 Telemetry 服務傳送 ping。心跳將記錄您網站的狀態,使您可以監控其可用性。

這是心跳函式的基本範例:

const sendHeartbeat = async (url) => {
  const startedAt = Date.now();

  try {
    const response = await axios.get(url);

    telemetry.log("website_uptime", {
      url: url,
      status_code: response.status,
      status: "success",
      is_online: true,
      latency_ms: Date.now() - startedAt
    });
  } catch (error) {
    telemetry.log("website_uptime", {
      url: url,
      status_code: error.response ? error.response.status : 0,
      status: "error",
      is_online: false,
      error_type: error.code ?? "request_failed",
      latency_ms: Date.now() - startedAt
    });
  }
};

4. 安排心跳

要持續監控正常執行時間,您需要定期傳送心跳。您可以透過使用 setInterval 定期執行 sendHeartbeat 函式來實現此目的。下面是每 5 分鐘檢查一次網站的範例:

const urlToMonitor = "https://example.com"; // Replace with your website URL
const interval = 5 * 60 * 1000; // 5 minutes in milliseconds

setInterval(() => {
  sendHeartbeat(urlToMonitor);
}, interval);

5. 查詢正常執行時間

記錄足夠的資料後,您可以使用 Telemetry 的查詢 API 進行查詢,以分析網站的正常執行時間。例如,您可以計算您的網站線上時間的百分比:

const results = await telemetry.query(`
  SELECT
    url,
    COUNT(*) AS total_pings,
    SUM(CASE WHEN is_online THEN 1 ELSE 0 END) AS online_pings,
    (SUM(CASE WHEN is_online THEN 1 ELSE 0 END) * 100.0 / COUNT(*)) AS uptime_percentage
  FROM
    website_uptime
  WHERE
    timestamp_utc >= now() - INTERVAL '30 days'
  GROUP BY
    url
`);

console.log(results);

6. 探索 Telemetry 的正常執行時間

Telemetry 的 UI 允許您以互動方式視覺化和探索正常執行時間資料。存取 Telemetry儀表板 並使用您的憑據登入,以根據您的正常執行時間監控資料建立儀表板、圖表等。

後續步驟

正常執行時間百分比無法檢測停止執行的監視器。新增 缺少心跳食譜 並在最新檢查早於預期計劃加上一小段寬限期時發出警示。

相關功能

將審查的 SQL 提升到自有閾值和回應工作流程中。

頁面作者與參考資料

Telemetry 編輯團隊負責維護本文;產品團隊審查功能行為、範例和適用範圍。

我們如何審查文件