Is is possible to integrate livekit with the Arize...
# ask-ai
h
Is is possible to integrate livekit with the Arize AI Phoenix observability platform ?
✅ 1
t
Thanks for reaching out, Renaud. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — regarding whether LiveKit can be integrated with Arize AI Phoenix observability: I don’t have a documented, out‑of‑the‑box LiveKit ⇄ Arize Phoenix integration on hand. To give a practical answer and suggest the best approach, could you tell me: • Which Phoenix features you want to use (metrics, traces, logs, model observability, alerting)? • Do you need server-side telemetry (LiveKit server SDKs) or client-side events (browser/mobile SDKs)? • Do you already have Arize ingestion endpoints or a preferred export format (OTLP, HTTP, Kafka, S3, etc.)? With those details I’ll recommend a concrete integration path (example: send LiveKit metrics/events via OTLP or push server-side logs to Phoenix, or use a small adapter service to translate LiveKit webhooks/metrics into Arize ingestion). , with interactive elements
h
how would I send send LiveKit metrics/events via OTLP, or push server side logs ?
t
Thanks — I’m responding to your question about sending LiveKit metrics/events via OTLP and pushing server‑side logs to Arize AI Phoenix. Short answer: LiveKit emits session and agent telemetry you can capture, and you can forward that telemetry to Arize Phoenix by (A) exporting metrics/traces via an OpenTelemetry pipeline (OTLP) or (B) forwarding server logs from your LiveKit servers/agents to Arize. LiveKit does not provide a built‑in Arize connector, so you’ll implement a small adapter or pipeline to translate LiveKit telemetry into Arize ingestion. Recommended approaches (pick one based on where you can instrument): 1) Exporting metrics/events via OTLP (recommended for traces/metrics) • Capture metrics/events from your LiveKit server or Agents SDKs: ◦ Use the agent/server event listeners that emit metrics (e.g., session metrics events) and surface traces where available. • Instrument with OpenTelemetry in your server/agent process: a. Install OpenTelemetry SDK and OTLP exporter for your language. b. On metrics/events callbacks, convert LiveKit metric objects into OpenTelemetry metrics or spans. c. Configure the OTLP exporter to send to your Arize ingestion endpoint if Arize accepts OTLP, or to an intermediary collector. • Use an OpenTelemetry Collector if Arize doesn’t accept direct OTLP: ◦ Send OTLP from your app to an OTel Collector. ◦ Configure the Collector to translate/forward to Arize using HTTP, Kafka, or another Arize-supported sink. • Notes: LiveKit references OpenTelemetry integration and session telemetry export capabilities — so instrumenting at the agent/server level is the reliable path. 2) Forwarding server‑side logs (recommended for full log context and long retention) • Log from your LiveKit server/agents using a structured logger (JSON). • Push logs directly to Arize if they accept your log ingestion format, or: ◦ Send logs to a log collector/forwarder (Fluentd/Fluent Bit/Logstash) and configure it to forward to Arize. ◦ Or forward logs to a storage/streaming layer (Kafka/S3) that Arize can ingest. • Run log forwarding within your infrastructure so you keep full control over retention and indexing (LiveKit Cloud stores agent logs for 30 days but does not export them externally). • For real-time troubleshooting you can also use
lk agent logs
for LiveKit Cloud agents, but implement log forwarding for production observability. Questions to finalize a concrete plan • Which environment are you instrumenting: LiveKit Cloud agents, your self‑hosted LiveKit server, or both? • Which telemetry types do you need in Arize: metrics, traces, logs, or model/event observability? • Does Arize in your setup accept OTLP directly, or do you have an Arize ingestion endpoint (HTTP/Kafka/S3)? If unsure, I can show both patterns (direct OTLP -> Arize vs OTLP -> OTel Collector -> Arize). If you tell me the environment and Arize ingestion options you have, I’ll provide a short, language-specific example (node/python) and a sample OpenTelemetry Collector config you can drop in. Sources: Checklist for Regional Deployments | LiveKit | LiveKit's Series C: Towards the voice-driven era of computing | LiveKit | Where to find your Agent Logs | LiveKit, with interactive elements