Hello, I have a somewhat silly question. We currently have an RDS database instance on AWS, and are locally launching an Arize instance with a tunneled connection to that RDS instance. The UI works fine with this. Now I am looking into setting up Arize to send telemetry from another service directly to this database instance (all services are running on AWS in a VPC). Will we have to have a version of the UI running at all times in order to send the otel data in AWS? Or is there a way around this? I'm guessing it's the UI that does the heavy lifting under the hood to move the data to postgres?
To send telemetry data to your RDS database instance without having the UI running at all times, you can configure the Phoenix server to act as a trace collector. According to the Phoenix deployment guide, the server can be set up to collect traces and evaluations without exposing the UI. You can interact with the backend using the GraphQL API for querying traces and evaluations. This setup allows you to send OpenTelemetry (OTEL) data directly to the database without the need for the UI to be active.Would you like more details on how to configure this setup?Sources: - https://arize-ai.slack.com/archives/C04R3GXC8HK/p1722998791.400589 - https://arize-ai.slack.com/archives/C04R3GXC8HK/p1717188367.922969
馃挕聽Hint: Mention RunLLM in the thread for followups.
hi Nouamane B.! The Phoenix server both serves the UI and hosts the Phoenix API/trace collector. While you don't need to use the UI for anything, the server needs to be running to collect OTel traces
I see, so the thing I noticed is that the phoenix container ships with both UI and server right? Is there a container for deploying just the server?
for the time being no, would you mind telling us a little about why you're interested in shipping without the UI?
We want to use that tunneled connection I mentioned earlier and connect that to a local instance of the UI. This way we don't need to worry about managing a UI interface, so when we want to check out what the traces look like we run a local launch of the UI that connects to the real database
ah, well if I understand correctly UIs should not interfere with eachother so as long as you host the server the tunnel local servers should work fine as well. However in that case you can send your traces to the local server you're using to run the UI?
Ok great, that clears it up so that isn't a huge change for us luckily Yes we could, but what we really want to achieve is having it running to always collect traces within our AWS infra However, for local testing absolutely that's what we'll do, and point it to a separate table in that RDS instance 馃檪 Thanks for you help!
Of course! Thanks for using Phoenix 馃檪
