본문으로 건너뛰기

PostHog 수출업체

포스트호그LLM 애플리케이션 모니터링을 위한 AI 관찰 기능을 갖춘 분석 플랫폼입니다. PostHog 내보내기는 추적을 구조화된 이벤트로 PostHog에 전송하여 토큰 사용, 비용, 대기 시간 및 대화 흐름에 대한 통찰력을 제공합니다.

설치
설치에 대한 직접 링크

npm install @mastra/posthog@latest

구성
구성에 대한 직접 링크

전제조건
전제조건에 대한 직접 링크

  1. 포스트호그 계정: 가입하세요posthog.com
  2. 프로젝트 API 키: PostHog 설정 → 프로젝트 API 키에서 프로젝트 API 키를 가져옵니다.
  3. 환경 변수: 자격 증명을 설정하세요
.env
# Required
POSTHOG_API_KEY=phc_xxxxxxxxxxxxxxxx

# Optional
POSTHOG_HOST=https://us.i.posthog.com # or eu.i.posthog.com for EU region

제로 구성 설정
제로 구성 설정에 대한 직접 링크

환경 변수가 설정된 경우 구성 없이 내보내기를 사용합니다.

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { Observability } from '@mastra/observability'
import { PosthogExporter } from '@mastra/posthog'

export const mastra = new Mastra({
observability: new Observability({
configs: {
posthog: {
serviceName: 'my-service',
exporters: [new PosthogExporter()],
},
},
}),
})

명시적 구성
명시적 구성에 대한 직접 링크

자격 증명을 직접 전달할 수도 있습니다(환경 변수보다 우선 적용됨).

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { Observability } from '@mastra/observability'
import { PosthogExporter } from '@mastra/posthog'

export const mastra = new Mastra({
observability: new Observability({
configs: {
posthog: {
serviceName: 'my-service',
exporters: [
new PosthogExporter({
apiKey: process.env.POSTHOG_API_KEY,
}),
],
},
},
}),
})

구성 옵션
구성 옵션에 대한 직접 링크

완전한 구성
완전한 구성에 대한 직접 링크

new PosthogExporter({
// Required credentials
apiKey: process.env.POSTHOG_API_KEY!,

// Optional settings
host: 'https://us.i.posthog.com', // Default: US region
// or "https://eu.i.posthog.com" for EU region
// or your self-hosted URL

// Batching configuration
flushAt: 20, // Batch size (default: 20)
flushInterval: 10000, // Flush interval in ms (default: 10000)
serverless: false, // Serverless mode: flushAt=10, flushInterval=2000

// User identification
defaultDistinctId: 'anonymous', // Fallback if no userId in metadata

// Privacy settings
enablePrivacyMode: false, // Excludes input/output from generation events

// Diagnostic logging
logLevel: 'info', // debug | info | warn | error
})

서버리스 모드
서버리스 모드에 대한 직접 링크

서버리스 환경에 최적화된 일괄 처리:

new PosthogExporter({
apiKey: process.env.POSTHOG_API_KEY!,
serverless: true, // Configures smaller batches for faster flushing
})

개인 정보 보호 모드
개인 정보 보호 모드에 대한 직접 링크

토큰 측정항목을 보존하면서 생성 이벤트에서 입력/출력 데이터를 제외합니다.

new PosthogExporter({
apiKey: process.env.POSTHOG_API_KEY!,
enablePrivacyMode: true, // Removes $ai_input and $ai_output_choices
})

그룹 분석
그룹 분석에 대한 직접 링크

이벤트를 PostHog 그룹에 연결하려면 tracingOptions.metadata$groups 객체를 추가하세요. 내보내기는 해당 값을 PostHog 캡처 호출의 최상위 groups 필드로 전송하므로 그룹별 LLM 비용과 같은 분석 데이터를 분류할 수 있습니다.

await agent.generate(input, {
tracingOptions: {
metadata: {
$groups: {
publication: 'publication-1',
},
},
},
})