SigNoz Cloud - This page is relevant for SigNoz Cloud editions.
Self-Host - This page is relevant for self-hosted SigNoz editions.

Monitor Railway with SigNoz

Overview

Railway is an infrastructure platform that lets you deploy apps, databases, and cron jobs instantly. SigNoz supports log forwarding from Railway using Locomotive — a community-built log forwarder with a dedicated SigNoz mode.

Locomotive forwards logs in standard OTLP JSON format (resourceLogs), compatible with SigNoz's /v1/logs endpoint out of the box.

Prerequisites

  • A SigNoz Cloud (or self-hosted) workspace
  • A Railway account with at least one deployed service

If using self-hosted SigNoz, use the otel_http webhook mode instead of signoz. Set LOCOMOTIVE_WEBHOOK_URL to http://<SIGNOZ_HOSTNAME>:4318/v1/logs and remove the ingestion key header. See Cloud → Self-Hosted for details.

Forward Logs

Step 1: Deploy Locomotive on Railway

Click the button below to deploy Locomotive directly to your Railway project:

Deploy Locomotive on Railway

Step 2: Configure environment variables

Set the following environment variables on the Locomotive service in your Railway project:

VariableValue
LOCOMOTIVE_SERVICE_IDSService ID(s) to ship logs from (comma-separated)
LOCOMOTIVE_WEBHOOK_URLhttps://ingest.<REGION>.signoz.cloud:443/v1/logs
LOCOMOTIVE_WEBHOOK_MODEsignoz
LOCOMOTIVE_RAILWAY_API_KEYYour Railway account-scoped API token
LOCOMOTIVE_ADDITIONAL_HEADERSsignoz-ingestion-key=<SIGNOZ_INGESTION_KEY>

Replace:

Locomotive environment variables configured for SigNoz Cloud

Step 3: Redeploy Locomotive

After setting the environment variables, redeploy the Locomotive service. Railway will restart the service automatically when variables are updated.

Step 4: Verify logs in SigNoz

Open Logs Explorer in SigNoz. Within a minute you should see log entries from your Railway services.

Troubleshooting

  • Locomotive not forwarding logs — check the Locomotive service logs in Railway for errors. Ensure the service is in a running state.
  • 401 or 403 errors — verify your SIGNOZ_INGESTION_KEY is correct and that the LOCOMOTIVE_ADDITIONAL_HEADERS variable is formatted as signoz-ingestion-key=<key> (no spaces around =).
  • Wrong region — confirm your SigNoz Cloud region in LOCOMOTIVE_WEBHOOK_URL. Available regions are listed in SigNoz Cloud regions.
  • Self-hosted: connection refused — ensure your SigNoz instance is reachable from Railway and that port 4318 is open.

Next Steps

Get Help

If you need help with the steps in this topic, please reach out to us on SigNoz Community Slack.

If you are a SigNoz Cloud user, please use in product chat support located at the bottom right corner of your SigNoz instance or contact us at cloud-support@signoz.io.

Last updated: May 8, 2026

Edit on GitHub

Was this page helpful?

Your response helps us improve this page.