콘텐츠로 건너뛰기
통합 가이드

CrewAI 워크플로우 Telemetry

입력이나 출력을 저장하지 않고 스트리밍 없는 CrewAI 동기 kickoff 호출을 관찰합니다. 반환, 실패, 중단된 호출을 각각 조회하세요.

검토자 Telemetry 제품 팀 에 . 보낼 이벤트, 제외할 데이터, 코드 추가 방법을 확인했습니다. 이 페이지의 검토 담당자

다음에 유용합니다.
  • 다중 에이전트 워크플로 옵저버빌리티
  • 승무원 업무 신뢰성
  • 핸드오프 및 결과 분석
구현 증거

CrewAI workflow telemetry로 이벤트 전송 및 확인

제어된 애플리케이션 경계에서 CrewAI workflow telemetry를 사용하고, 이벤트 계약을 작게 유지하고, 집계 뷰를 구축하기 전에 알려진 결과를 확인하세요.

  1. 1

    결과를 선택하세요

    다중 에이전트 워크플로 옵저버빌리티

  2. 2

    계약 정의

    run_id, crew_name 및 호출 상태

  3. 3

    결과에서 방출

    기존 Crew와 입력을 run_research_crew에 전달하세요. 이 래퍼는 동기 kickoff만 지원합니다. 비동기 메서드, 스트림, 체크포인트 재개에는 별도의 수명 주기 처리가 필요합니다.

  4. 4

    증거를 확인하세요

    Exercise a known fixture, then inspect crew_invocation for one correctly typed terminal row.

시작하기 전에

시작하기 전에

  • stream=False로 설정한 기존 동기 Crew와 애플리케이션의 입력
  • 서버 측 TELEMETRY_API_KEY. 이 예제는 Telemetry SDK 대신 Python 표준 라이브러리 HTTP를 사용합니다
  • 작업 입력, 에이전트 출력, 메모리, 지식 및 도구 페이로드를 다루는 콘텐츠 정책

배송 설정

서버 측 설치 및 초기화

이 동기 Crew 래퍼는 Python 표준 라이브러리 HTTP로 이벤트를 보냅니다. Telemetry SDK 설치나 초기화가 필요하지 않습니다. 브라우저 번들, 클라이언트에 표시되는 환경 변수, 소스 제어, 로그 및 예외 메시지에서 수집 자격 증명을 유지하세요.

  1. 1기존 동기 Crew를 run_research_crew로 감싸고 stream=False를 유지하세요.
  2. 2성공, 실패, 재시도 또는 시간 초과 경계에 결과 이벤트를 추가합니다.
  3. 3알림을 활성화하기 전에 제어된 고정 장치를 보내고 저장된 행을 검사하십시오.

스니펫

하나의 체계적인 이벤트로 시작하세요

워크플로가 완료, 실패 또는 재시도되는 위치에 이 셰이프를 추가합니다. 그런 다음 실제 필드에서 대시보드를 구축합니다.

crewai

CrewAI workflow telemetry 이벤트

python
import json
import os
import sys
from time import perf_counter
from urllib.request import Request, urlopen
from uuid import uuid4


def emit_crew_invocation(event):
    try:
        key = os.environ.get("TELEMETRY_API_KEY")
        if not key:
            return
        request = Request(
            "https://api.telemetry.sh/log",
            data=json.dumps({"table": "crew_invocation", "data": event}).encode("utf-8"),
            headers={"Authorization": key, "Content-Type": "application/json",
                     "User-Agent": "telemetry-crew-example/1"},
            method="POST",
        )
        with urlopen(request, timeout=1) as response:
            if not 200 <= response.status < 300:
                raise RuntimeError("telemetry_delivery_unconfirmed")
    except Exception:
        try:
            print("Telemetry delivery unconfirmed", file=sys.stderr)
        except Exception:
            pass


def run_research_crew(research_crew, inputs):
    # Use an already configured, synchronous, non-streaming Crew.
    if getattr(research_crew, "stream", False):
        raise ValueError("This wrapper requires stream=False")
    run_id = str(uuid4())
    started_at = perf_counter()
    status, error_type = "interrupted", None
    try:
        result = research_crew.kickoff(inputs=inputs)
        status = "returned"
        return result
    except Exception as error:
        status = "failed"
        error_type = "timeout" if isinstance(error, TimeoutError) else "crew_error"
        raise
    finally:
        # Neither metadata creation nor export may replace the crew outcome.
        try:
            emit_crew_invocation({
                "run_id": run_id,
                "crew_name": "research_crew",
                "status": status,
                "error_type": error_type,
                "duration_ms": round((perf_counter() - started_at) * 1000),
                "release": os.environ.get("APP_RELEASE"),
            })
        except Exception:
            pass


# Pass your application's existing Crew and inputs:
# result = run_research_crew(research_crew, inputs)

이벤트 스키마

run_id, crew_name 및 호출 상태

duration_ms, 제한된 error_type 범주 및 release

설정 확인하기

체크포인트 1

기존 Crew와 입력을 run_research_crew에 전달하세요. 이 래퍼는 동기 kickoff만 지원합니다. 비동기 메서드, 스트림, 체크포인트 재개에는 별도의 수명 주기 처리가 필요합니다.

체크포인트 2

kickoff 반환은 작업 승인이나 후속 전달의 증거가 아닙니다. 검토 결정은 별도로 기록하세요. 이 예제는 작업 수, 위임, 재시도, 비용을 측정하지 않습니다.

체크포인트 3

이 이벤트에 입력, 출력, 메모리, 지식, 도구 데이터나 예외 텍스트를 포함하지 마세요.

체크포인트 4

HTTP 내보내기는 1초 소켓 제한 시간을 사용하며 엄격한 총 시간 제한이 아닙니다. 내보내기와 진단 실패는 원래 결과나 예외를 보존하지만 동기 전달은 지연을 더할 수 있습니다. 영속 큐, 재시도, 종료 시 비우기는 제공하지 않습니다.

체크포인트 5

단계 수준 진단이 필요한 경우 CrewAI의 자체 추적 또는 콜백을 사용하고 승인된 실행 ID와 연관시키세요.

검증

이벤트가 도착했음을 증명하세요.

알려진 성공 및 실패 사례를 연습한 후 이를 실행하십시오. 최종 이벤트 계약이 스니펫과 다른 경우 대체 테이블 이름을 바꾸세요.

crewai-검증

CrewAI workflow telemetry 확인 쿼리

sql
SELECT *
FROM crew_invocation
ORDER BY timestamp_utc DESC
LIMIT 20;
예상 상태, 식별자, 단위 및 UTC 시간을 사용하여 논리적 결과당 하나의 터미널 행을 확인합니다.
유추된 스키마를 검사하고 재시도가 필드 유형을 변경하거나 새 논리적 이벤트 ID를 생성하지 않는지 확인합니다.
자격 증명, 원시 페이로드, 프롬프트, 비공개 콘텐츠 및 무제한 오류 메시지에 대해 저장된 필드를 검색합니다.
대시보드를 완전한 것으로 처리하기 전에 공급자 시간 초과, 수집 거부 및 프로세스 종료를 실행합니다.

구현 참조

새로운 프로덕션 경로를 활성화하기 전에 이벤트 계약, 데이터 안전 지침, 업스트림 기본 문서를 검토하세요.

이벤트를 기록할 위치

결과 이벤트를 작고 복구 가능하게 유지

이 패턴은 다음을 제공합니다.

  • 업스트림 워크플로우 옆에 제한된 SQL 지원 결과가 있습니다.
  • 대시보드, 알림 및 교차 이벤트 상관 관계를 위한 안정적인 필드입니다.
  • 성공, 실패, 재시도 및 시간 초과 동작을 검증하기 위한 고정 장치 기반 경로입니다.

이 패턴은 제공하지 않습니다

  • OTLP 내보내기, 자동 수집 파이프라인 또는 자세한 추적 및 진단 로그를 대체합니다.
  • 페이로드에 이벤트 ID가 포함되어 있기 때문에 정확히 한 번만 전달됩니다.
  • 원시 공급자 페이로드, 사용자 콘텐츠, 자격 증명 또는 규제 데이터를 수집할 수 있는 권한입니다.

이벤트 스키마 예제

쿼리 또는 스니펫을 프로덕션에 적용하기 전에 행 그레인, 방출 경계, 필수 유형, 개인 정보 보호 클래스, 예제 페이로드 및 유효성 검사 체크리스트를 검토하세요.

관련 제품 기능

이 워크플로를 다음에서 계속하세요. AI 에이전트 모니터링

검토 가능한 SQL을 사용하여 에이전트 실행, 도구 사용, 모델 비용, 품질 및 제품 결과를 연결하세요.

관련 SQL 레시피

더 많은 SQL 예제

이 워크플로의 구조화된 필드에 대해 쿼리를 실행하고, 예제 결과를 검사하고, 유용한 답변을 대시보드 또는 알림으로 전환하세요.

모든 레시피 찾아보기

구현 제품군별로 찾아보기

관련 통합 패턴 비교

이 통합과 페어링할 템플릿

더 많은 통합