정의
구조화된 로그 관리가 변경하는 사항
기존 애플리케이션 로그는 로컬 실행을 설명하는 데 유용하지만 일반적으로 중요한 질문은 여러 메시지에 걸쳐 있습니다. 체크아웃이 완료되었습니까? 어떤 계정이 영향을 받았나요? 재시도가 복구되었나요? 새 릴리스에서 대기 시간이 변경되었나요? 구조화된 이벤트는 결과와 해당 분석 컨텍스트를 하나의 유형 개체로 기록합니다.
구조화된 로그 관리는 해당 객체를 정의하고, 해당 스키마와 개인 정보 보호 경계를 제어하고, 이를 쿼리 가능한 테이블로 유지하고, 결과 검색, SQL 쿼리, 시각화, 대시보드 및 알림을 운영하는 방식입니다. 이는 추적 및 메트릭을 보완합니다. 모든 디버그 메시지가 비즈니스 이벤트가 될 필요는 없습니다.
유용한 이벤트는 해당 분야를 얻습니다.
질문과 결정에서 시작하세요. 모든 필드는 워크플로를 필터링, 그룹화, 상관, 계산, 보호 또는 설명하는 데 도움이 되어야 합니다. 무제한 페이로드는 더 나은 답변을 보장하지 않으면서 비용과 개인 정보 보호 위험을 초래합니다.
텍스트 로그 및 구조화된 이벤트
다양한 작업에 대한 다양한 모양
| 우려 | 메시지 지향 로그 | 정식 구조화된 이벤트 |
|---|---|---|
| 기본 유닛 | 로컬 코드 경로에 대한 메시지 1개 | 하나의 완료된 워크플로 또는 의미 있는 상태 변경 |
| 맥락 | 종종 여러 회선과 서비스에 분산되어 있음 | 안정적인 식별자, 결과, 기간 및 차원을 함께 사용 |
| 분석 | 검색 및 구문 분석 패턴 | 입력된 필터, 그룹, 조인, 백분위수, 유입경로 및 집단 |
| 스키마 | 산문과 형식에 암시되어 있음 | 명시적인 유형, 단위 및 허용된 값이 포함된 명명된 필드 |
정식 완료 이벤트
{
"event": "checkout_completed",
"timestamp": "2026-07-28T18:42:16Z",
"request_id": "req_01K1A9",
"account_id": "acct_812",
"plan": "growth",
"status": "success",
"duration_ms": 842,
"amount_usd": 129.00,
"payment": {
"provider": "stripe",
"attempt": 1
}
}이벤트 계약
분석의 내구성을 유지하는 설계 규칙
결정 경계 선택
요청, 작업, 웹후크, 에이전트 실행, 청구 변경 또는 제품 마일스톤이 누군가 설명해야 할 결과에 도달하면 이벤트를 내보냅니다.
한 번에 충분한 맥락을 포착하세요
안정적인 이벤트 이름, UTC 시간, 상태, 기간, 환경, 릴리스, 안전한 식별자 및 알려진 질문에 필요한 제한된 차원을 포함합니다.
유형 및 단위 유지
숫자를 숫자로, 부울을 부울로, 단위를 필드 이름으로 유지합니다. 나중에 메시지 문자열에서 대기 시간, 비용 또는 개수를 구문 분석하지 마세요.
민감한 콘텐츠 제한
비밀, 자격 증명, 인증 헤더, 원시 프롬프트, 결제 세부 정보 및 불필요한 개인 데이터를 제외하세요. 분류된 오류 컨텍스트를 선호합니다.
이벤트를 운영 답변으로 전환
SELECT
date_trunc('hour', timestamp_utc) AS hour,
COUNT(*) AS checkouts,
SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) AS succeeded,
ROUND(
100.0 * SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0),
2
) AS success_rate_pct,
approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms
FROM checkout_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY date_trunc('hour', timestamp_utc)
ORDER BY hour;추세와 분모를 함께 읽어보세요
차트에는 16:00 변경 사항이 표시됩니다. 동일한 쿼리는 해석을 위해 결제 횟수와 p95 기간을 유지합니다. 분모가 충분히 큰지 확인한 후에만 영향을 받는 시간을 릴리스, 공급자, 계획 또는 계정별로 분류하세요.
조사 순서
- 1.속도, 대기 시간, 비용 또는 볼륨의 의미 있는 변화를 감지합니다.
- 2.기간, 분모, 이벤트 최신성을 확인하세요.
- 3.제한된 소유권 또는 출시 차원을 기준으로 변경사항을 분류합니다.
- 4.영향을 받은 요청 또는 계정에 대한 상관 이벤트를 검사합니다.
- 5.검증된 쿼리를 저장하고 응답을 문서화합니다.
계측
구조화된 로깅 및 스키마 가이드를 사용하여 안전하고 형식화된 이벤트 계약을 정의하세요.
계측 가이드 열기분석하다
신뢰성, 작업, 제품, 수익, AI 또는 데이터 품질에 대해 테스트된 SQL 패턴에서 시작하세요.
SQL 레시피 찾아보기운영하다
결과를 대시보드나 알림로 승격하기 전에 수집 및 쿼리 동작을 확인하세요.
수집 문제 해결하나의 워크플로로 시작
합성 이벤트를 보내고 첫 번째 질문에 답하세요.
애플리케이션 전체에 계측을 확장하기 전에 안전한 테스트 데이터로 이벤트 계약을 증명하세요.