本文へ移動
Telemetry
ドキュメントを見る
ガイド更新日: 2026年7月27日Telemetry 編集チームと製品チームによるレビュー2 最小読み取り時間

コーディング エージェントでこのドキュメントを使用してください

Claude Code、Codex、Cursor、または別のコーディング エージェント用の集中プロンプト パックを開き、それをここで説明するワークフローに適応させます。

このページの内容
  1. 前提条件
  2. 1. Telemetry SDK をインストールします。
  3. 2. Telemetryの初期化
  4. 3. ハートビートチェックを作成する
  5. 4. ハートビートのスケジュールを設定する
  6. 5.稼働時間のクエリ
  7. 6. Telemetry の稼働時間を調査する
  8. 次のステップ

Web サイトの稼働時間を監視する

ハートビートは、成功したチェックと失敗したチェックの両方を記録します。これにより、停止が可視化されるだけでなく、監視ジョブ自体がいつデータ送信を停止するかも明らかになります。

成功したチェック、2 つの HTTP 503 エラー、および 10 分間のインシデントを含む Web サイトのハートビート タイムライン

定期的なチェックにより、ダウンタイムと予期せぬ沈黙がクエリ可能なイベントに変わります。

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 を送信するハートビート機能を設定できます。ハートビートは Web サイトのステータスを記録し、Web サイトの可用性を監視できるようにします。

ハートビート関数の基本的な例を次に示します。

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 定期的に機能します。 Web サイトを 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 を使用してデータをクエリし、Web サイトの稼働時間を分析できます。たとえば、Web サイトがオンラインだった時間の割合を計算できます。

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 編集チームがこの説明を所有しています。製品チームは動作、例、境界をレビューします。

ドキュメントのレビュー方法