Methods for sending data
curl -X 'POST' 'https://AXIOM_DOMAIN/v1/ingest/DATASET_NAME' \
-H 'Authorization: Bearer API_TOKEN' \
-H 'Content-Type: application/x-ndjson' \
-d '{ "http": { "request": { "method": "GET", "duration_ms": 231 }, "response": { "body": { "size": 3012 } } }, "url": { "path": "/download" } }'Replace AXIOM_DOMAIN with the base domain of your edge deployment. For more information, see Edge deployments.
Replace API_TOKEN with the Axiom API token you have generated. For added security, store the API token in an environment variable.
Replace DATASET_NAME with the name of the Axiom dataset where you send your data.
To send events continuously, Axiom supports a wide range of standard tools, libraries, and platform integrations.
Choose a method#
- You already instrument with OpenTelemetry — point the exporter at Axiom: OpenTelemetry.
- You want logs straight from application code — use a language library such as JavaScript, Python or Go.
- You already run a log pipeline — add Axiom as a destination in Vector, Fluent Bit or Logstash.
- Your data lives in a cloud platform — use an integration such as AWS, Vercel or Cloudflare Logpush.
- You call HTTP directly — use the ingest API.
Popular methods#
| Method | Description |
|---|---|
| Rest API | Direct HTTP API for sending logs and events |
| OpenTelemetry | Industry-standard observability framework |
| Vector | High-performance observability data pipeline |
| Cribl | Route and transform data with Cribl Stream |
| Fluent Bit | Fast and lightweight log processor |
| Fluentd | Open source data collector with plugin ecosystem |
| JavaScript | Browser and Node.js logging |
Other methods#
Language libraries and frameworks#
| Method | Description |
|---|---|
| .NET | Send logs from .NET applications |
| Apache Log4j | Java logging with Log4j integration |
| Apex | Structured logging for Go |
| Elixir | Send logs from Elixir apps with a custom Logger handler |
| Erlang | Send logs from Erlang/OTP apps with a custom logger handler |
| Flutter | Send structured logs from Flutter apps |
| Go | Native Go logging integration |
| Laravel | PHP Laravel framework integration |
| Logrus | Structured logging for Go with Logrus |
| Next.js | Full-stack React framework logging |
| Pino | Fast Node.js logger integration |
| Python | Python logging with standard library |
| React | Client-side React app logging |
| Ruby on Rails | Rails app logging |
| Rust | High-performance Rust logging |
| Winston | Popular Node.js logging library |
| Zap | Uber’s fast, structured Go logger |
Log shippers and pipelines#
| Method | Description |
|---|---|
| Elastic Beats | Lightweight data shippers from Elastic |
| Kubernetes | Collect logs and metrics from K8s clusters |
| Logstash | Server-side data processing pipeline |
| Loki Multiplexer | Forward Loki data to multiple destinations |
| Secure Syslog | TLS-encrypted syslog forwarding |
| Syslog Proxy | Forward syslog data with transformation |
| Tremor | Event processing system for complex workflows |
Endpoints compatible with other tools#
| Method | Description |
|---|---|
| Elasticsearch Bulk API | Compatible endpoint for Elasticsearch clients |
| Honeycomb | Compatible endpoint for Honeycomb clients |
| Loki | Compatible endpoint for Grafana Loki clients |
| Splunk | Compatible endpoint for Splunk forwarders |
| Splunk HEC | HTTP Event Collector compatible API on your edge deployment |
Platforms and services#
| Method | Description |
|---|---|
| Cloudflare Workers | Edge computing with Workers and OpenTelemetry |
| Convex | Stream data from Convex applications |
| Heroku Log Drains | Stream logs directly from Heroku apps |
| Render | Stream logs from Render.com services |
| Serverless | Best practices for serverless environments |
Metrics through the OpenTelemetry Collector#
| Method | Description |
|---|---|
| PgBouncer | PgBouncer metrics via pgbouncer_exporter and the OpenTelemetry Collector |
| StatsD | Send StatsD metrics through the OpenTelemetry Collector |
| Traefik | Scrape Traefik metrics with the OpenTelemetry Collector |
Amazon Web Services (AWS)#
Axiom offers deep integration with the AWS ecosystem.
| Method | Description |
|---|---|
| Amazon CloudFront | CDN access logs and real-time logs |
| Amazon CloudWatch | Stream logs from CloudWatch Logs |
| Amazon Kinesis Data Firehose | Real-time streaming with Firehose |
| Amazon S3 | Process logs stored in S3 buckets |
| AWS FireLens | Container log routing for ECS/Fargate |
| AWS IoT Rules | Route IoT device data and telemetry |
| AWS Lambda | Serverless function logs and traces |
| AWS Lambda .NET | .NET-specific Lambda integration |
Example configurations#
The following examples show how to send data using OpenTelemetry from various languages and frameworks.
| Application | Description |
|---|---|
| OpenTelemetry .NET | Complete .NET app example |
| OpenTelemetry Claude Code | Monitor Claude Code usage with metrics and logs |
| OpenTelemetry Django | Python Django with OpenTelemetry |
| OpenTelemetry Go | Go app with full observability |
| OpenTelemetry Java | Java Spring Boot example |
| OpenTelemetry Next.js | Full-stack Next.js with tracing |
| OpenTelemetry Node.js | Node.js Express example |
| OpenTelemetry Nuxt.js | Nuxt.js with server-side tracing |
| OpenTelemetry Python | Python Flask/FastAPI example |
| OpenTelemetry Ruby | Ruby on Rails with OpenTelemetry |
If you need an ingestion method that isn’t in the list above, contact Axiom.
Limits on ingested data#
For more information on limits and requirements imposed by Axiom, see Limits.