Skip to content

Getting Started

This guide will introduce you to the concepts behind working with Axiom and give a short introduction to each of the high-level features.


1. Get your data into Axiom

Axiom supports ingesting structured data which can be sent to it via a variety of means. Each individual piece of data is called an Event.

Events can be emitted from internal or third-party services, cloud functions, containers, VMs, or even scripts. Events follow the JSON specification for which field types are supported, an event could look like this:

{
  "service": "api-http",
  "severity": "error",
  "duration": 231,
  "customer_id": "ghj34g32poiu4",
  "tags": ["aws-east-1", "zone-b"],
  "metadata": {
    "version": "3.1.2"
  }
}

An event must belong to a Dataset, which is a collection of similar events. You can have multiple datasets that help to segment your events to make them easier to query and visualize, and also aide in acceas control.

Axiom stores every event you send and makes it available to you for querying either by streaming logs in real-time, or by analyzing events to produce visualizations.

The underlying datastore of Axiom is a timeseries database, which means every event is indexed with an accompanying timestamp (which can be specified at ingress or automatically set).

Axiom does not sample your data on ingest or querying, unless you've expressly instructed it to.

ingest icon Learn how to ingest go

2. Stream your data

Axiom makes it really easy to view your data as it's being ingested live. This is also referred to as "Live Stream" or "Live Tail", and the result is having a terminal-like feel of being able to view all your events in real-time:

Axiom stream page screenshot

From the Stream page, you can easily add filters to narrow down the results as well as save popular searches and share them with your organization members. You can also hide/show specific fields

Another useful feature of the stream page is to only show events in a particular time-window (this could be the last N minutes, or a more-specific time range you can input manually). This feature is extremely useful when you need to closely inspect your data, allowing you to get an chronological view of every event in that time window.

ingest icon Learn how to stream go

3. Analyze your data

While viewing individual events can be very useful, at scale and for general monitoring and observability, it is important to be able to quickly aggregate, filter, and segment your data. The Analytics page lets you do just that, and more:

Axiom analytics page screenshot

The Analyze page gives you various tools to extract insights from a dataset, including visualizing aggregations (count, min, max, average, percentiles, heatmaps, and more), filtering events (with and/or grouped filters containing one or more field filters), and segmentation via group-by.

You can control the time range of your search, and even compare your results to a previous point-in-time using our Against functionality. Queries are rounded off with support for time resolution, ordering, and limits.

Any query you create can be saved as well as easily sharable with your team.

analyze icon Learn how to analyze go

4. Monitor for problems

Get alerted when there are problems with your data, such as

  • A queue size is larger than acceptable limits
  • Web containers are taking too long to respond
  • A specific customer has started using a new feature
  • etc, etc

Axiom alerting consists of two key concepts:

  1. Monitors that run in the background querying your data on a frequency and checking whether a threshold has been reached to trigger the monitor, and
  2. Notifiers which encapsulate how to alert a person, a team, or a service that a monitor has been triggered.

Monitors are configured with a query, a frequency (how often the monitor should run), interval (what is the time range of data that the monitor should query), a threshold (at what value should the monitor trigger), and one or more notifiers (how to alert that the monitor is triggered).

monitor icon Learn how to monitor go

5. Integrate with third-party services

Integrations can be configured to quickly get insights into third-party services by setting up a background task that continously synchronizes events from a third-party service into Axiom.

This means you can use all the features of Axiom with your AWS, Azure, GitHub, Postgres data, (and many more!).

Axiom comes with several integrations and many more are being worked on. If you would like to suggest an integration, contact us at hello@axiom.co.

integrations icon Learn about integrations go

6. Customize for your organization

As your use of Axiom widens, you can customize it for your organization's needs:

  • Add more users
  • Setup third-party authentical providers
  • Create and manage teams
  • Setup Role-Base Access Control
  • Setup per-user/service API tokens

integrations icon Learn about settings go