One Server

문서

로그

앱이 오류를 낼 때 무엇이 일어났는지 보는 법. 출처별로 무엇이 남는지.

로그

앱이 이상하게 굴면 추측하기 전에 로그부터 보세요.

get_logs { ref, level: "error" }            오류만, 최신순
get_logs { ref, source: "server" }          배포한 서버가 출력한 줄 (console.log, 오류 스택)
get_logs { ref, search: "timeout" }         내용 검색
get_logs { ref, before: "<next_before>" }   이전 쪽

빌드가 실패했다면 list_deployments로 배포를 찾고 get_deployment로 빌드 로그 끝부분을 보세요. 실패 이유는 대개 마지막 몇 줄에 있어요.

출처(source):

site       배포한 사이트로 온 요청
server     배포한 서버가 출력한 것
api        데이터 API 요청
auth       로그인·가입 요청
functions  함수 호출과 함수가 출력한 것
build      빌드 출력

요청 줄은 메서드 경로 상태 걸린시간 모양이에요. 쿼리 문자열, 본문, 헤더는 저장하지 않아요. 보관 기간은 요금제마다 다르고 응답의 retention_days에 있어요.

지표

get_metrics { ref, range: "1h" | "24h" | "7d" }가 요청 수·실패 수·지연(p50/p95/p99)을 표면별로, 그리고 데이터베이스 크기·연결 수·캐시 적중률을 줘요. 느려졌다는 말을 들으면 로그보다 이것을 먼저 보세요.

로그 내보내기

보관 기간보다 오래 두거나 다른 도구에서 보려면 외부로 보내요.

list_log_drains         보내는 곳, 출처, 마지막 전송과 오류
create_log_drain        추가 (kind: https | datadog, sources)
set_log_drain_enabled   멈추기·다시 보내기
remove_log_drain        삭제

만든 뒤에 쌓이는 로그부터 보내요. 프로젝트마다 5개까지이고, 소유자·관리자만 바꿀 수 있어요.

경보 규칙

값이 기준을 넘으면 조직의 알림 채널과 메일로 알려요. 1분마다 확인해요.

list_alert_rules         규칙과 지금 상태(ok | firing)
create_alert_rule        만들기 (kind: error_rate | p95 | function_errors | usage | firewall_blocks, threshold, window_minutes)
set_alert_rule_enabled   멈추기·다시 켜기
remove_alert_rule        삭제

개발자 이상이 바꿀 수 있어요. 무료 요금제에는 없어요.

프로젝트 웹훅

배포가 시작·성공·실패·승격될 때, 환경 변수·도메인·백업이 바뀔 때, 가입자가 생길 때 공개 https 주소로 알려요. Make나 Zapier 같은 외부 자동화를 붙일 때 써요. 표의 줄 변경은 데이터베이스 웹훅이에요.

list_project_webhooks             웹훅, 서명 키, 고를 수 있는 이벤트
create_project_webhook            만들기 (name, url, events: 비우면 전부, deployment.* 처럼 묶음)
set_project_webhook_enabled       멈추기·다시 보내기
test_project_webhook              ping 보내기
list_project_webhook_deliveries   전달 기록과 실패 이유
retry_project_webhook_delivery    전달 하나 다시 보내기
remove_project_webhook            삭제

서명은 데이터베이스 웹훅과 같아요: x-blackwall-signature: t=<초>,v1=<HMAC-SHA256(signing_secret, "<t>.<본문>")>. 프로젝트마다 10개까지이고, 소유자·관리자만 바꿀 수 있어요.