Heroku Logs (Beta)

Panther supports receiving Heroku logs directly via webhook


Heroku log ingestion is in open beta starting with Panther version 1.75, and is available to all customers. Please share any bug reports and feature requests with your Panther support team.
Panther ingests Heroku runtime logs by configuring a Heroku log drain to post events to a Panther HTTP source.

How to onboard Heroku runtime logs to Panther


Step 1: Create a new Heroku source in Panther

  1. 1.
    In the left-side navigation bar of your Panther Console, click Configure > Log Sources.
  2. 2.
    Click Create New.
  3. 3.
    Search for “Heroku,” then click its tile.
    • In the slide-out panel, the Transport Mechanism dropdown in the upper-right corner will be pre-populated with the HTTP option.
  4. 4.
    Click Start Setup.
    The new source setup page for Heroku is shown in the Panther Console. The Transport Mechanism dropdown field is has a value of "HTTP" pre-selected. To its right is a Start Setup button.
  5. 5.
    • When setting the Stream Type for the source, choose Lines.
    • When setting up this log source initially, set the Auth method as None. In Step 3, after retrieving an authentication token from Heroku, you will change it to Shared Secret authentication.
    • Payloads sent to this source are subject to the payload requirements for all HTTP sources.
    • Do not proceed to the next step until the creation of your HTTP endpoint has completed.

Step 2: Create a new log drain in Heroku

Before starting this step, ensure the prerequisite is met.
  1. 1.
    Run a customized version of the following command in your Heroku CLI to set up a log drain pointing from your Heroku app to Panther's HTTP source: heroku drains:add -a myherokuappname
  2. 2.
    Run the following command to retrieve your drain token: heroku drains --json -a myherokuappname
    • From the output of this command, save the value of token. It will be used in the next step.

Step 3: Secure your log source in Panther

  1. 1.
    Navigate back to your Panther Console.
  2. 2.
    Locate the log source you created in Step 1, by clicking Configure > Log Sources, and clicking the name of the source.
  3. 3.
    In the upper-right corner, click Configuration, then Edit.
  4. 4.
    In the upper-right corner, click on the Security tab.
  5. 5.
    Change the value of the Auth method dropdown to Shared Secret, then enter values for the following fields:
    • Header Name: Enter Logplex-Drain-Token.
    • Shared Secret Value: Paste in the token you retrieved from the Heroku CLI in the previous step.
  6. 6.
    Click Save.

Supported log types


Heroku.Runtime logs are event logs from Heroku that contain app, system, API, and add-on logs. For more information, see Heroku's documentation on runtime logs.
schema: Heroku.Runtime
- '%{message_len} <%{priority}>%{version} %{timestamp} %{host_name} %{app_name} %{process_id} %{message_id} %{message}'
- '-'
description: Logging output from the application itself, including logs generated by your app's code and dependencies, as well as system and API logs.
- name: message_len
type: int
- name: priority
type: int
- name: version
type: string
- name: timestamp
type: timestamp
- rfc3339
isEventTime: true
- name: host_name
type: string
- hostname
- name: app_name
type: string
- name: process_id
type: string
- name: message_id
type: string
- name: message
type: string