Prerequisites
- The
flyCLI, signed in to the organization. - An ingest key and the project ID. See Create an ingest key.
Set up the log shipper
1
Create the shipper app
2
Set the secrets
Replace The shipper sends
<org> with your organization slug from fly orgs list.HTTP_TOKEN as an Authorization: Bearer header. Log lines have no
environment, so environment in the URL sets it. Automatic AI triage starts only for issues
with an enabled environment.3
Deploy it
What Squasher keeps from each record
When
log.level is info, Squasher reads the level from the message: level=error, a JSON
"level" field, a leading word such as ERROR or [WARN], or a stack trace. Lines at error level
or above create issues.
Send errors from your apps
Set the OpenTelemetry variables as secrets on each app that must create issues:Verify
- Select Logs in the sidebar in Squasher. Lines from your apps appear with the Fly.io app name as the service.
- Log one line that starts with
ERROR, or record one span withERRORstatus in an app that uses OpenTelemetry. - Select Issues in the sidebar. The error is at the top of the list.
Limits
- Log lines from the shipper have no environment unless you set
environmentinHTTP_URL. - The shipper sends logs for the apps in the organization that
ACCESS_TOKENcan read.
Next steps
OpenTelemetry
Send error spans and logs with levels.
Drain record format
See how Squasher reads every drain record.