Overview

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#

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.

Updated

Was this page helpful?