콘텐츠로 건너뛰기
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. 다음 단계

웹사이트 가동 시간 모니터링

하트비트는 성공 및 실패 확인을 모두 기록합니다. 이렇게 하면 중단이 표시되지만 모니터링 작업 자체가 데이터 전송을 중지하는 시기도 표시됩니다.

성공적인 검사, 두 개의 HTTP 503 오류 및 10분 사고가 포함된 웹 사이트 하트비트 타임라인

정기적인 확인을 통해 가동 중지 시간과 예상치 못한 침묵을 쿼리 가능한 이벤트로 전환합니다.

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 서비스에 주기적으로 핑을 보내는 하트비트 기능을 설정할 수 있습니다. 하트비트는 웹사이트의 상태를 기록하므로 웹사이트의 가용성을 모니터링할 수 있습니다.

다음은 하트비트 기능의 기본 예입니다.

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 편집팀의 소유입니다. 제품 팀은 동작, 예시, 경계를 검토합니다.

문서 검토 방법