Cloud Logging Sources: AWS, Google Cloud, Vercel and More
Last verified on Nov 8, 2026.
Where your code runs decides how its logs get out. Some platforms offer a managed log drain, some offer a stream you aim at a URL, and some give you nothing, so the application or a helper app has to do the shipping. This category lists those paths for each platform Sazabi supports.
Three kinds of path
- Native connection. You give Sazabi limited access to your account and it creates and maintains the forwarding. AWS CloudWatch, Google Cloud, Cloudflare, Vercel, Render and DigitalOcean all offer it. See AWS, Google Cloud and Vercel.
- Endpoint path. You create the log drain or stream in the platform and paste your Sazabi intake URL. This keeps all credentials on your side. Netlify and Render offer it.
- Application or helper. The platform has no log drain, so something you run ships the logs. Railway and Fly.io are the examples: Railway apps send through their OpenTelemetry SDK, and on Fly you deploy a log shipper inside your organization.
What each path costs you
The path decides your constraints, and they are easy to miss until setup day.
- Plan tier. Vercel log drains need Pro or Enterprise, and Hobby and Pro Trial teams cannot create them. Netlify log drains need Enterprise. Cloudflare Logpush is available on every plan since September 30, 2026, and only its Workers trace events dataset needs Workers Paid.
- Scope. Render's endpoint log stream is workspace-wide, so every service in the workspace sends logs. To forward individual services, use the connect path, which sets up a stream per service.
- Cloud bill. On Google Cloud you build the sink, Pub/Sub topic and Collector. GCP bills for Pub/Sub delivery and egress, and a high-volume project can add real cost. Use sink filters to forward only what you need.
- Source of truth. With Railway the data comes from your running app, not from Railway itself, so what you see is what the app chooses to log.
Example: finding the noisy service
A workspace-wide stream sends everything, so the first thing to do after turning it on is count. This command from the Sazabi docs counts lines per service over a day:
sazabi logs ask "how many log lines did each service send in the last 24 hours"An example result:
checkout-api 41,200
worker-emails 18,900
cron-cleanup 612,000One service sending ten times the others is almost always a debug flag left on or a retry loop. Fix the source first. If you can't, move to the connect path and exclude that service. With Google Cloud, add a sink filter so those entries never leave GCP.
What to watch across platforms
- Delivery format. Vercel's log drain must use JSON, because NDJSON is not parsed on that endpoint.
- Timestamps. Check that event times are parsed, not just that records arrive. A manual Cloudflare Logpush job needs the RFC3339 format, or events can be stored without a parseable timestamp.
- Gaps after rotation. Tokens, keys and log drains expire or get deleted, and the symptom is silence. Check the Intake page for volume per source each week.
- Account scope. Zone, project and workspace boundaries differ per platform. Write down what each stream covers.
- Two paths to one platform. AWS and Google Cloud have both native and manual sources. Pick one per log group or project to avoid duplicates.
Pick a path per platform
A short checklist before you start:
- List every platform your code runs on, including the ones that host only cron jobs or previews.
- For each one, note whether it offers a native connection, a log drain or stream, or neither.
- Check the plan tier. A log drain that your plan doesn't include costs a day to discover.
- Decide who owns the intake URL and where it is stored.
- Run the volume query after enabling each path and compare it with what you expected.
Teams that skip step 5 usually find out about a noisy service from the bill rather than from a search.
Detections
The section below lists the detections Sazabi runs today. Volume checks and deploy-time checks in this page are queries you write. To learn the protocol many of these paths use, read about OpenTelemetry with Sazabi. The Cloudflare page covers edge logs and Workers.
Sources in this category
- Amazon VPC Flow Logs (native log source, cloud platforms): Connect your AWS account so Sazabi creates a flow log for each VPC you pick and streams its network traffic records in through CloudWatch Logs.
- Cloudflare (native log source, cloud platforms): Connect your Cloudflare account so Sazabi can automatically create and manage Logpush jobs for the datasets you select.
- AWS CloudWatch (native log source, cloud platforms): Connect your AWS account so Sazabi can set up subscription filters on your CloudWatch log groups and stream logs in real time.
- DigitalOcean (native log source, cloud platforms): Connect your DigitalOcean account so Sazabi can set up log forwarding on the App Platform apps you select.
- Google Cloud (native log source, cloud platforms): Connect your Google Cloud account so Sazabi can provision a Cloud Logging sink, Pub/Sub topic, and pull subscription for each project, folder, or organization you select.
- Render (native log source, cloud platforms): Connect your Render account so Sazabi can configure a per-service log stream for each service you select.
- Vercel (native log source, cloud platforms): Connect your Vercel account so Sazabi can create and manage log, trace, and Web Analytics drains for the projects you select.
- AWS API Gateway (manual log source, cloud platforms): Send AWS API Gateway access and execution logs from CloudWatch Logs to Sazabi to see who calls which API, failed authorizations, and abusive clients.
- Amazon VPC Flow Logs (manual log source, cloud platforms): Run an OpenTelemetry Collector with the awscloudwatch receiver to forward the VPC flow logs you publish to CloudWatch Logs to Sazabi.
- Cloudflare (manual log source, cloud platforms): Create a Cloudflare Logpush job with an HTTP destination pointed at your Sazabi intake URL to stream edge network logs to Sazabi.
- Cloudflare Workers (manual log source, cloud platforms): Add OTLP log and trace destinations in Cloudflare Workers Observability settings and opt each Worker in via wrangler config to stream telemetry to Sazabi.
- AWS CloudWatch (manual log source, cloud platforms): Run an OpenTelemetry Collector with the awscloudwatch receiver and an otlphttp exporter to forward CloudWatch log group data to Sazabi.
- DigitalOcean (manual log source, cloud platforms): Add a Datadog log forwarding destination to your DigitalOcean App Platform app and point it at your Sazabi intake URL to forward application logs.
- Fly.io (manual log source, cloud platforms): Run a fly-log-shipper or Vector app inside your Fly organization pointed at your Sazabi intake URL to forward application logs from all Fly apps.
- Google Cloud (manual log source, cloud platforms): Set up your own Cloud Logging sink, Pub/Sub topic, and OpenTelemetry Collector to forward GCP logs to Sazabi without connecting a service account.
- Netlify (manual log source, cloud platforms): Configure a Netlify log drain pointed at a Sazabi endpoint to forward build, function, edge, and traffic logs in near real time.
- Porter (manual log source, cloud platforms): Add OpenTelemetry environment variables to your Porter service and initialize the SDK to send application logs and traces directly to Sazabi.
- Railway (manual log source, cloud platforms): Set Railway environment variables and bootstrap the OpenTelemetry SDK on your service to send application logs and traces directly to Sazabi.
- Render (manual log source, cloud platforms): Add a workspace-wide Render log stream pointed at Sazabi to forward service logs without connecting a Render API key.
- Vercel (manual log source, cloud platforms): Create a Vercel log drain pointed at your Sazabi intake URL to forward deployment logs from serverless functions, edge functions, and static builds.
What Sazabi detects from these logs today
These detections are on for every production project, with no monitors or alert rules to write. Sazabi opens an issue when one fires.
- Novel event: A kind of error that has never appeared before.
Frequently Asked Questions
How do I collect logs from my cloud platform in Sazabi?
Use the platform path listed for it. Some platforms offer a native connection where Sazabi sets up forwarding, and others use a log drain or stream that you point at your intake URL.
Which platforms need a paid plan for log forwarding?
Per the Sazabi docs, Vercel log drains need Pro or Enterprise, and Netlify log drains need Enterprise. Cloudflare Logpush is available on every Cloudflare plan.
Who pays for the Google Cloud Pub/Sub traffic?
You do. GCP bills for Pub/Sub message delivery and any egress, and Sazabi does not. Sink filters limit what is forwarded.
What if my platform has no log drain?
Send from the application instead. Railway and Porter use OpenTelemetry environment variables and SDK setup in the service, and Fly.io uses a log shipper app inside your organization.
Sources
- Vercel log drains need Pro or Enterprise, JSON delivery format, logs only on this path (accessed Nov 8, 2026)
- Render log stream is workspace-wide, per-service streams through connect your account (accessed Nov 8, 2026)
- Google Cloud sink, Pub/Sub and Collector, Pub/Sub charges land on the GCP bill, sink filters (accessed Nov 8, 2026)
- Railway has no platform log drain, the app sends logs and traces through the OpenTelemetry SDK (accessed Nov 8, 2026)
- Netlify log drains need an Enterprise plan (accessed Nov 8, 2026)
- Cloudflare Logpush is available on every plan since September 30, 2026, and workers_trace_events needs the Workers Paid plan (accessed Nov 8, 2026)
- Fly.io has no managed log drain API, a log shipper app reads the internal log stream (accessed Nov 8, 2026)