GitHub Actions Workflow Telemetry Integration: 경계에서 검증된 행까지
제어된 애플리케이션 경계에서 GitHub Actions Workflow Telemetry Integration를 사용하고, 이벤트 계약을 작게 유지하고, 집계 뷰를 구축하기 전에 알려진 결과를 확인하세요.
- 1
결과를 선택하세요
CI 워크플로우 안정성
- 2
계약 정의
workflow_name, job_name, run_id, run_attempt, 상태, duration_ms, 저장소 및 릴리스
- 3
경계 계측
if: Always()를 사용하여 단계를 실행하면 실패한 작업이 터미널 레코드를 생성하고 옵저버빌리티 전달이 워크플로 결론을 변경해서는 안 되는 경우 continue-on-error: true를 사용합니다.
- 4
증거를 확인하세요
Exercise a known fixture, then inspect github_workflow_completed for one correctly typed terminal row.
시작하기 전에
전제 조건 및 경계
- GitHub 작업 비밀로 저장된 쓰기 범위의 Telemetry 키
- Always()로 보호되고 원격 분석 전달이 실패할 때 워크플로 결과를 재정의하지 않도록 구성된 마지막 단계
- 이벤트 페이로드, 토큰, 행위자 데이터, 커밋 메시지 및 풀 요청 콘텐츠를 제외하는 GitHub 제공 변수의 허용 목록
배송 설정
서버 측 설치 및 초기화
명시적인 연결 및 요청 시간 초과가 포함된 cURL 예제를 사용하세요. 브라우저 번들, 클라이언트에 표시되는 환경 변수, 소스 제어, 로그 및 예외 메시지에서 수집 자격 증명을 유지하세요.
- 1제한된 네트워크 동작을 갖춘 재사용 가능한 서버 측 전달 클라이언트 하나를 준비합니다.
- 2성공, 실패, 재시도 또는 시간 초과 경계에 결과 이벤트를 추가합니다.
- 3알림을 활성화하기 전에 제어된 고정 장치를 보내고 저장된 행을 검사하십시오.
스니펫
하나의 체계적인 이벤트로 시작하세요
워크플로가 완료, 실패 또는 재시도되는 위치에 이 셰이프를 추가합니다. 그런 다음 실제 필드에서 대시보드를 구축합니다.
GitHub Actions Workflow Telemetry Integration 이벤트
# Use in a final GitHub Actions step with:
# if: ${{ always() }}
# continue-on-error: true
# env:
# TELEMETRY_API_KEY: ${{ secrets.TELEMETRY_WRITE_KEY }}
# JOB_STATUS: ${{ job.status }}
jq -n --arg workflow_name "$GITHUB_WORKFLOW" --arg job_name "$GITHUB_JOB" --arg run_id "$GITHUB_RUN_ID" --arg run_attempt "$GITHUB_RUN_ATTEMPT" --arg status "$JOB_STATUS" --arg repository "$GITHUB_REPOSITORY" --arg release "$GITHUB_SHA" '{
table: "github_workflow_completed",
data: {
workflow_name: $workflow_name,
job_name: $job_name,
run_id: $run_id,
run_attempt: ($run_attempt | tonumber),
status: $status,
repository: $repository,
release: $release
}
}' |
curl --fail-with-body --connect-timeout 2 --max-time 5 --request POST "https://api.telemetry.sh/log" --header "Authorization: ${TELEMETRY_API_KEY}" --header "Content-Type: application/json" --data-binary @-이벤트 계약
workflow_name, job_name, run_id, run_attempt, 상태, duration_ms, 저장소 및 릴리스
trigger_type, runner_environment, 예정됨, retry_recovered 및 승인 시 제어되는 error_type
GITHUB_TOKEN, 비밀 컨텍스트, github.event 페이로드, 환경 덤프, 커밋 메시지, 신뢰할 수 없는 포크에서 제공되는 분기 또는 임의 단계 출력 없음
구현 체크포인트
체크포인트 1
if: Always()를 사용하여 단계를 실행하면 실패한 작업이 터미널 레코드를 생성하고 옵저버빌리티 전달이 워크플로 결론을 변경해서는 안 되는 경우 continue-on-error: true를 사용합니다.
체크포인트 2
GitHub는 컨텍스트에 민감한 정보가 포함될 수 있으며 일부 컨텍스트 값은 신뢰할 수 없는 입력으로 처리되어야 한다고 알림합니다. 문서화된 허용 목록만 셸 환경 변수로 확장합니다.
체크포인트 3
GITHUB_RUN_ID를 논리적 실행 식별자로 사용하고 GITHUB_RUN_ATTEMPT를 사용하여 재실행을 구별합니다. 관련 없는 이벤트에서 추론하는 대신 제어된 시작 타임스탬프에서 기간을 측정합니다.
검증
이벤트가 도착했음을 증명하세요.
알려진 성공 및 실패 사례를 연습한 후 이를 실행하십시오. 최종 이벤트 계약이 스니펫과 다른 경우 대체 테이블 이름을 바꾸세요.
GitHub Actions Workflow Telemetry Integration 확인 쿼리
SELECT *
FROM github_workflow_completed
ORDER BY timestamp_utc DESC
LIMIT 20;구현 참조
새로운 프로덕션 경로를 활성화하기 전에 이벤트 계약, 데이터 안전 지침, 업스트림 기본 문서를 검토하세요.
프로덕션 경계
결과 이벤트를 작고 복구 가능하게 유지
이 패턴은 다음을 제공합니다.
- 업스트림 워크플로우 옆에 제한된 SQL 지원 결과가 있습니다.
- 대시보드, 알림 및 교차 이벤트 상관 관계를 위한 안정적인 필드입니다.
- 성공, 실패, 재시도 및 시간 초과 동작을 검증하기 위한 고정 장치 기반 경로입니다.
이 패턴은 제공하지 않습니다
- OTLP 내보내기, 자동 수집 파이프라인 또는 자세한 추적 및 진단 로그를 대체합니다.
- 페이로드에 이벤트 ID가 포함되어 있기 때문에 정확히 한 번만 전달됩니다.
- 원시 공급자 페이로드, 사용자 콘텐츠, 자격 증명 또는 규제 데이터를 수집할 수 있는 권한입니다.
이벤트 스키마 시작점
이 워크플로우에 대한 이벤트 계약
쿼리 또는 스니펫을 프로덕션에 적용하기 전에 행 그레인, 방출 경계, 필수 유형, 개인 정보 보호 클래스, 예제 페이로드 및 유효성 검사 체크리스트를 검토하세요.
관련 제품 기능
이 워크플로를 다음에서 계속하세요. 알림
검토된 신뢰성 쿼리를 소유한 임계값 및 응답 워크플로로 승격합니다.
관련 SQL 레시피
SQL로 다음 질문에 답하세요
이 워크플로의 구조화된 필드에 대해 쿼리를 실행하고, 예제 결과를 검사하고, 유용한 답변을 대시보드 또는 알림으로 전환하세요.
백그라운드 작업 재시도 및 실패율 측정
가장 많은 재시도를 소비하거나 여전히 실패하는 백그라운드 작업은 무엇입니까?
레시피 열기누락된 크론 일정 감지
문서화된 간격보다 늦게 실행된 예약된 작업은 무엇입니까?
레시피 열기사고 감지 및 복구 시간 계산
각 서비스가 사고를 감지하고 복구하는 데 얼마나 걸리나요?
레시피 열기상호 연관된 워크플로우 타임라인 재구성
최근 실패한 워크플로에서 순서대로 어떤 일이 발생했나요?
레시피 열기이벤트 이름으로 Telemetry 볼륨 측정
어떤 이벤트 계약이 가장 많은 수집량을 생성합니까?
레시피 열기구현 제품군별로 찾아보기
관련 통합 패턴 비교
이 통합과 페어링할 템플릿
더 많은 통합
Ingest 및 Trigger.dev 작업 Telemetry
SQL 지원 로그를 사용하여 비동기 작업자, 예약된 작업, 재시도, 실패 및 배달 못한 편지 이벤트를 계측합니다.
가이드 열기n8n 워크플로우 Telemetry
HTTP 요청 노드를 통해 n8n 워크플로 완료, 실패, 재시도, 항목 수 및 다운스트림 배달 결과를 제한된 Telemetry 이벤트로 보냅니다.
가이드 열기AWS Lambda 구조화된 이벤트 모니터링
컴팩트하게 구조화된 이벤트를 통해 Lambda 호출, 콜드 스타트, 기간, 재시도 및 비즈니스 결과를 추적하세요.
가이드 열기