Sazabi
BackendsExternal Backends

Axiom

Query Axiom datasets directly from Sazabi without moving data.

Overview

Axiom is a log management platform built for high-volume data. With Sazabi's Axiom backend, you can query your Axiom datasets directly from Chat without duplicating data.

What you can query

When Axiom is configured as a backend, Chat can access:

  • Datasets: Query logs from any dataset in your Axiom organization
  • APL queries: Run Axiom Processing Language (APL) queries including filters, aggregations, and time-series analysis
  • Log search: Full-text search across log messages
  • Time-series data: Aggregated counts over time with optional grouping by severity or service

Supported fields

Chat can filter and aggregate on these fields:

FieldDescription
severityLog severity level (ERROR, WARN, INFO, DEBUG)
body / messageLog message content
serviceService name
hostHost identifier
timestampLog timestamp
traceIdDistributed trace ID
spanIdSpan ID within a trace

Prerequisites

Before configuring Axiom as a backend, you need:

  • An Axiom account with at least one dataset containing logs
  • An API token with read permissions for your dataset
  • The dataset ID you want to query

Setup

Step 1: Create an API token in Axiom

  1. Log in to your Axiom account
  2. Navigate to Settings > API Tokens
  3. Click New API Token
  4. Give your token a descriptive name (e.g., "Sazabi Backend")
  5. Under Permissions, grant read access to the dataset(s) you want Sazabi to query:
    • Select Read permission
    • Choose the specific dataset(s) or select All datasets for organization-wide access
  6. Click Create
  7. Copy the API token immediately. You will not be able to see it again.

Store your API token securely. If you lose it, you will need to create a new one.

Step 2: Find your dataset ID

  1. In Axiom, navigate to Datasets
  2. Click on the dataset you want to query
  3. The dataset ID appears in the URL: https://app.axiom.co/your-org/datasets/your-dataset-id
  4. You can also find it in the dataset settings

Dataset IDs contain only letters, numbers, hyphens, and underscores.

Step 3: Configure the backend in Sazabi

  1. In Sazabi, go to Settings > Backends
  2. Click Add Backend and select Axiom
  3. Enter your configuration:
    • API Token: Paste your Axiom API token
    • Dataset ID: Enter the dataset ID from Step 2
    • API Endpoint: Select your Axiom region:
      • US (cloud.axiom.co): For US-based Axiom accounts
      • EU (eu.axiom.co): For EU-based Axiom accounts
  4. Click Test Connection to verify your credentials
  5. Click Save

Required permissions

Your Axiom API token needs the following permissions:

PermissionPurpose
Read on target datasetQuery logs and retrieve results

For organization-wide access, grant read permission to All datasets. For more granular control, grant access only to the specific dataset(s) you want Sazabi to query.

Query capabilities

Supported operations

OperationSupportedNotes
Log searchYesFull-text search on message body
Filter by fieldYesExact match, contains, comparison operators
Time range queriesYesDefault lookback is 7 days
AggregationsYesCount by time bucket, group by severity or service
SortingYesBy timestamp ascending or descending
PaginationYesCursor-based pagination for large result sets

APL query examples

Chat translates your questions into APL queries. Here are examples of what it can do:

Find recent errors:

['my-dataset'] | where severity == 'ERROR' | order by _time desc | limit 100

Search log messages:

['my-dataset'] | where body contains 'timeout' | limit 50

Filter by service:

['my-dataset'] | where service == 'api-gateway' | order by _time desc | limit 100

Time-series aggregation:

['my-dataset'] | summarize count() by bin(_time, 5m), severity | order by _time asc

Limitations

  • Single dataset per connection: Each Axiom backend configuration queries one dataset. To query multiple datasets, add multiple Axiom backend configurations.
  • No environment dimension: Axiom does not support filtering by environment in log volume queries. Use service or severity grouping instead.
  • Time range: Default query lookback is 7 days. For older data, specify explicit time ranges in your questions.
  • Query timeout: Queries timeout after 30 seconds.

Troubleshooting

Connection test fails with "Invalid API token"

  • Verify you copied the complete API token without extra spaces
  • Check that the token has not been revoked in Axiom
  • Ensure the token has read permissions for your dataset

Connection test fails with "Dataset not found"

  • Verify the dataset ID matches exactly (case-sensitive)
  • Check that the API token has permission to access this dataset
  • Confirm you selected the correct region (US vs EU)

Connection test fails with "Permission denied"

  • Your API token does not have read access to the specified dataset
  • In Axiom, edit the token and grant read permission for the dataset

Queries return no results

  • Verify the dataset contains logs in the time range being queried
  • Check that field names in your questions match the actual schema in Axiom
  • Try broadening your time range or removing filters

Queries are slow

  • Narrow your time range to reduce the data scanned
  • Add filters to reduce result set size
  • Check Axiom's status page for service issues

Use cases

Configure Axiom as a backend when:

  • You have an existing Axiom deployment with significant historical data
  • You want to query Axiom alongside other observability platforms in Sazabi
  • Compliance requirements prevent data duplication
  • You prefer Axiom's pricing model for data storage