Fly.io
To integrate with Fly.io, you'll need to stand up HyperDX's Fly log shipper, which extends the functionality of the default Fly log shipper.
This Guide Integrates: Logs
To send over metrics or APM/traces, you'll need to add the corresponding language integration to your application as well.
Getting Started
Create a Log Shipper
# Make a directory for your log shipper app
mkdir hyperdxlogshipper
cd hyperdxlogshipper
# Create the app but don't deploy just yet
fly launch --no-deploy --image ghcr.io/hyperdxio/fly-log-shipper:latest
Configure Secrets
# Set required secrets, including your HyperDX API key
fly secrets set ORG=personal # Set to your Fly org id
fly secrets set ACCESS_TOKEN=$(fly auth token)
fly secrets set HYPERDX_API_KEY="<YOUR_API_KEY_HERE>"
Configure the Shipper
Before deploying the log shipper, you'll need to edit the generated fly.toml
and remove the [http_service]
section entirely and
configure or add the entire [[services]]
section with:
[[services]]
http_checks = []
internal_port = 8686
auto_stop_machines = false
auto_start_machines = false
min_machines_running = 1
To ensure the log shipper will pass health checks and will not scale down.
Deploy the Log Shipper
Then you can deploy the log shipper:
fly deploy --ha=false
We'll need to disable high availability for the log shipper deployment, as we only want a single instance (to prevent duplicate logs from being sent). For an HA setup, you can follow the instructions here (opens in a new tab).
Read more about Fly's log shipper here (opens in a new tab).