SigNoz
Docs
PricingCustomers
Get Started - Free
Docs
IntroductionContributingMigrate from DatadogSigNoz API
OpenTelemetry
What is OpenTelemetryOpenTelemetry Collector GuideOpenTelemetry Demo
Community
Support
Slack
X
Launch Week
Changelog
Dashboard Templates
DevOps Wordle
Newsletter
KubeCon, Atlanta 2025
More
SigNoz vs DatadogSigNoz vs New RelicSigNoz vs GrafanaSigNoz vs Dynatrace
Careers
AboutTermsPrivacySecurity & Compliance
SigNoz Logo
SigNoz
All systems operational
HIPAASOC-2
SigNoz Cloud - This page applies to SigNoz Cloud editions.
Self-Host - This page applies to self-hosted SigNoz editions.

Stream Logs from Heroku to SigNoz

If you are running your applications on Heroku, you can stream logs to SigNoz using httpsdrain.

Stream Heroku Logs to SigNoz Cloud

Add an HTTPS Drain

Use the Heroku CLI to add an HTTPS drain to your SigNoz cloud endpoint:

heroku drains:add https://<TENANT_NAME>:<your-ingestion-key>@ingest.<region>.signoz.cloud:443/logs/heroku -a <YOUR_APP_NAME>
  • <TENANT_NAME>: The name of your SigNoz Cloud instance
    • Example: If the URL is https://cpvo-test.us.signoz.cloud, the TENANT_NAME is cpvo-test
  • <your-ingestion-key>: Your SigNoz Cloud ingestion key
  • <region>: Your chosen region for SigNoz Cloud
  • <YOUR_APP_NAME>: The name of your Heroku application

Once the drain is added, verify the logs in SigNoz under the Logs tab.

Stream Heroku Logs to Self-Hosted SigNoz

1. Expose a Port in docker-compose.yaml

Modify the docker-compose-minimal.yaml file to expose port 8081 for receiving logs:

/deploy/docker/docker-compose-minimal.yaml
...
otel-collector:
  image: signoz/signoz-otel-collector:0.88.11
  command: ["--config=/etc/otel-collector-config.yaml"]
  volumes:
    - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
  ports:
    - "8081:8081"
...

2. Configure httplogreceiver

Add the httplogreceiver to your otel-collector-config.yaml file:

/deploy/docker/otel-collector-config.yaml
receivers:
  httplogreceiver/heroku:
    endpoint: 0.0.0.0:8081
    source: heroku
...

3. Update the Pipeline Configuration

Modify the pipeline in the otel-collector-config.yaml](https://github.com/SigNoz/signoz/blob/main/deploy/docker/otel-collector-config.yaml) file to include the new receiver:

/deploy/docker/otel-collector-config.yaml
service:
  ...
  pipelines:
    logs:
      receivers: [otlp, httplogreceiver/heroku]
      processors: [batch]
      exporters: [clickhouselogsexporter]

4. Restart the OTEL Collector

Restart the otel-collector container to apply the changes:

docker-compose restart otel-collector

5. Add an HTTPS Drain

Use the Heroku CLI to add an HTTPS drain pointing to the OTEL Collector:

heroku drains:add http://<IP>:8081 -a <YOUR_APP_NAME>
  • Replace <IP> with the IP address of the machine running the OTEL Collector.
  • Replace <YOUR_APP_NAME> with the name of your Heroku application.

Refer to the troubleshooting guide for finding the correct SigNoz host address.

6. Verify the Logs

Once the drain is added, verify the logs in SigNoz under the Logs tab.

Last updated: March 24, 2026

Edit on GitHub

Was this page helpful?

Your response helps us improve this page.

Prev
Convex
Next
Vercel
On this page
Stream Heroku Logs to SigNoz Cloud
Add an HTTPS Drain
Stream Heroku Logs to Self-Hosted SigNoz
1. Expose a Port in `docker-compose.yaml`
2. Configure `httplogreceiver`
3. Update the Pipeline Configuration
4. Restart the OTEL Collector
5. Add an HTTPS Drain
6. Verify the Logs

Is this page helpful?

Your response helps us improve this page.