DOCS · QUICKSTART

빠른 시작 가이드

계정을 만들고 첫 알림을 받기까지 약 4분. 아래 순서대로 따라 하면 됩니다. CLI·API 예제는 복사해서 바로 사용할 수 있습니다.

개요

Pulse는 CLI, 웹 대시보드, REST API 세 가지 방식으로 동일하게 다룰 수 있습니다. 이 가이드는 CLI를 기준으로 첫 모니터 등록부터 상태페이지 발행까지를 다룹니다.

  • 요구 사항: Node.js 18+ 또는 Homebrew (macOS)
  • 소요 시간: 약 4분
  • 필요 권한: 조직의 monitors:write 스코프
TIP 무료 플랜으로도 이 가이드의 모든 단계를 그대로 따라 할 수 있습니다. 신용카드는 필요하지 않습니다.

CLI 설치

패키지 매니저로 pulse CLI를 설치합니다.

terminal — npm
# npm
npm install -g @pulse/cli

# 또는 Homebrew (macOS)
brew install getpulse/tap/pulse

# 설치 확인
pulse --version
# → pulse/2.4.0 darwin-arm64

인증

대시보드의 Settings → API Tokens에서 토큰을 발급한 뒤 로그인합니다. 토큰은 환경변수로도 주입할 수 있습니다.

terminal — auth
# 대화형 로그인
pulse login

# 또는 토큰을 환경변수로
export PULSE_TOKEN="plt_live_8f21a9c0..."
pulse whoami
# → 로그인됨: acme (조직: Acme Inc.)
SECURITY 토큰은 비밀번호처럼 다루세요. CI 환경에서는 시크릿 저장소를 사용하고, 노출된 토큰은 Revoke로 즉시 폐기하세요.

모니터 추가

가장 빠른 방법은 CLI 한 줄입니다. URL과 체크 종류, 간격만 지정하면 끝입니다.

terminal — create monitor
# HTTP 모니터: 30초 간격, 200 기대
pulse monitors create \
  --name "Acme API" \
  --type http \
  --url "https://api.acme.io/v1/health" \
  --interval 30s \
  --expect-status 200 \
  --region ap-northeast-2,us-east-1

# → ✓ monitor mon_8f21a 생성됨 (UP)

설정 파일 (IaC)

여러 모니터를 코드로 관리하려면 pulse.yml에 정의하고 apply 하세요. 변경 사항만 반영됩니다.

pulse.yml
version: 1
monitors:
  - name: Acme API
    type: http
    url: https://api.acme.io/v1/health
    interval: 30s
    expect: { status: 200, body_contains: "ok" }
  - name: DB Primary
    type: tcp
    host: db.acme.io
    port: 5432
terminal — apply
pulse apply -f pulse.yml
# → +2 생성, 0 변경, 0 삭제

알림 연동

알림 채널을 만들고 모니터에 연결합니다. Slack은 OAuth 한 번으로, Webhook은 URL만 등록하면 됩니다.

Slack 연동

terminal — slack
pulse channels add slack \
  --name "#ops-alerts"
# → 브라우저에서 워크스페이스 인증...
# → ✓ 채널 ch_slack_01 연결됨

# 모니터에 채널 연결
pulse monitors attach mon_8f21a \
  --channel ch_slack_01 --on down,degraded

Webhook 연동

임의의 엔드포인트로 JSON 페이로드를 받습니다. 서명 헤더(X-Pulse-Signature)로 검증하세요.

terminal — webhook
pulse channels add webhook \
  --url "https://hooks.acme.io/pulse" \
  --secret "$WEBHOOK_SECRET"

상태페이지 발행

모니터를 컴포넌트로 묶어 퍼블릭 상태페이지를 발행합니다. 커스텀 도메인은 Team 플랜에서 연결할 수 있습니다.

terminal — status page
pulse statuspage create \
  --name "Acme Status" \
  --components mon_8f21a,mon_3b71c \
  --domain "status.acme.io"

# → ✓ https://status.acme.io 발행됨
# → CNAME: status.acme.io → cname.plastictide.shop
다음 단계 온콜 스케줄과 에스컬레이션 정책 설정은 기능 페이지에서, 플랜별 한도는 요금제에서 확인하세요.