Skip to content

Commit 2f42b4a

Browse files
committed
Add Try out Axiom section
1 parent f7c5267 commit 2f42b4a

6 files changed

+439
-0
lines changed

docs.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,17 @@
1919
"pages": [
2020
"introduction",
2121
"getting-started-guide/getting-started",
22+
{
23+
"group": "Try out Axiom",
24+
"icon": "play",
25+
"pages": [
26+
"getting-started-guide/explore-axiom-playground",
27+
"getting-started-guide/quickstart-using-sample-data",
28+
"getting-started-guide/integrating-axiom",
29+
"getting-started-guide/get-started-example-app",
30+
"getting-started-guide/example-projects"
31+
]
32+
},
2233
{
2334
"group": "Learn about Axiom",
2435
"icon": "book-font",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: 'Example projects'
3+
excerpt: 'This page provides a list of example projects you can use to try out Axiom.'
4+
---
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: 'Explore Axiom Playground'
3+
excerpt: 'This page explains how to try out Axiom without registration with the Axiom Playground.'
4+
---
5+
6+
Axiom offers access to your event data without compromises: all your data, all the time, for all possible needs. Forget about data sampling, delays, or excessive costs.
7+
8+
This page explains how to try out Axiom without registration with the [Axiom Playground](https://play.axiom.co/). It walks you through an example where you run a website and you want to keep an overview of the HTTP requests to this site with Axiom.
9+
10+
To try out Axiom with sample data but without integrating it into your system, see [Getting started with Axiom](/getting-started-guide/getting-started).
11+
12+
To start integrating Axiom into your system, see [Start integrating Axiom into your system](/getting-started-guide/integrate-axiom).
13+
14+
## 1. Display stream of incoming data
15+
16+
1. Go to the [Axiom Playground](https://play.axiom.co/).
17+
2. Click the **Stream** tab on the top of the page.
18+
3. Click **sample-http-logs** in the list.
19+
20+
<RunInPlayGround
21+
href="https://play.axiom.co/axiom-play-qf1k/stream/sample-http-logs"
22+
target="_blank"
23+
rel="noopener noreferrer"
24+
/>
25+
26+
You see the data that Axiom receives realtime. In this example, this page displays the HTTP requests to your imaginary website.
27+
28+
## 2. Query data
29+
30+
1. Click the **Datasets** tab on the top of the page, and then click **sample-http-logs** in the list. This tab enables you to query your data with a visual query editor.
31+
2. In the **Filter** section, click **+**.
32+
3. Write **status == "500"**, and then press **Enter**.
33+
4. Click **Run query**.
34+
35+
You see all the HTTP requests with the status **500**. This is important to know because this status indicates an internal server error, meaning that the server has encountered a situation that it can't handle.
36+
37+
<RunInPlayGround
38+
href="https://play.axiom.co/axiom-play-qf1k/datasets/sample-http-logs"
39+
target="_blank"
40+
rel="noopener noreferrer"
41+
/>
42+
43+
## 3. Run an advanced query
44+
45+
1. Click the **Explore** tab on the top of the page, and then click **sample-http-logs** in the list. This tab enables you to query your data using the Axiom Processing Language (APL). For more information, see [Introduction to APL](/apl/introduction).
46+
2. In the text field, enter the following:
47+
```apl copy
48+
['sample-http-logs']
49+
| summarize count() by bin_auto(_time), status
50+
```
51+
3. Click **Run query**.
52+
53+
You see the number of HTTP requests of each status over time.
54+
55+
<RunInPlayGround
56+
href="https://play.axiom.co/axiom-play-qf1k/explorer?initForm=%7B%22apl%22%3A%22%5B'sample-http-logs'%5D%5Cn%7C%20summarize%20count()%20by%20bin_auto(_time)%2C%20status%22%2C%22queryOptions%22%3A%7B%22quickRange%22%3A%2230m%22%7D%7D"
57+
target="_blank"
58+
rel="noopener noreferrer"
59+
/>
60+
61+
## What's next
62+
63+
To try out Axiom with sample data but without integrating it into your system, see [Getting started with Axiom](/getting-started-guide/getting-started).
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
---
2+
title: 'Get started with example app'
3+
excerpt: 'This page explains how to try out Axiom with an example app.'
4+
---
5+
6+
Axiom enables you to query your event data without compromises: all your data, all the time, for all possible needs. No sampling, no waiting, and no extravagant bills.
7+
8+
This page explains how to try out Axiom with an example Node.js app that emits OpenTelemetry trace data. There are many others ways you can send data to Axiom. For a full list, see [Send data](/send-data/ingest).
9+
10+
To try out Axiom without registration, go to the [Axiom Playground](https://play.axiom.co/). For more information on how to navigate the Playground, see [Explore Axiom Playground](/getting-started-guide/explore-axiom-playground).
11+
12+
To connect Axiom to your system, see [Integrate Axiom into your system](/getting-started-guide/integrating-axiom).
13+
14+
## 1. Set up Axiom
15+
16+
To set up Axiom to receive data, first [sign up for a free Axiom account](https://app.axiom.co/register). All you need is an email address.
17+
18+
### Create a dataset
19+
20+
In Axiom, an individual piece of data is an event, and a dataset is a collection of similar events. In this example, events are emitted by the sample app, and the dataset contains the incoming event data.
21+
22+
1. Click <img src="/doc-assets/icons/settings.svg" className="inline-icon" alt="Settings icon" /> **Settings > Datasets**, and then click **New dataset**.
23+
2. Name your dataset **test-dataset**, and then click **Add**.
24+
25+
This creates a dataset in your account where you will send event data.
26+
27+
<video controls autoPlay muted loop>
28+
<source src="/doc-assets/videos/create-dataset.mp4" type="video/mp4">
29+
</source>
30+
</video>
31+
32+
### Create an API token
33+
34+
An API token is a form of authentication that enables you to send data to Axiom. Keep it confidential because anyone with this key can send data to your Axiom dataset.
35+
36+
1. Click <img src="/doc-assets/icons/settings.svg" className="inline-icon" alt="Settings icon" /> **Settings > API tokens**, and then click **New API token**.
37+
2. Name your API token **test-token**.
38+
3. In **Dataset access**, select **test-dataset**.
39+
4. Click **Add**.
40+
5. Copy the API token that appears and store it securely. It won't be displayed again.
41+
42+
This creates an API token that you will use to authenticate requests to send data to Axiom.
43+
44+
<video controls autoPlay muted loop>
45+
<source src="/doc-assets/videos/create-api-token.mp4" type="video/mp4">
46+
</source>
47+
</video>
48+
49+
## 2. Send data to Axiom
50+
51+
1. [Install Node.js](https://nodejs.org/).
52+
2. Clone the [`otlp-exporter-node` example from OpenTelemetry](https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/otlp-exporter-node).
53+
3. In the `tracing.js` file, edit the code that creates the `OTLPTraceExporter` object. Replace `AXIOM_API_TOKEN` with the Axiom API token you have generated.
54+
55+
```js
56+
const exporter = new OTLPTraceExporter({
57+
url: 'https://api.axiom.co/v1/traces',
58+
headers: {
59+
'Authorization': 'Bearer AXIOM_API_TOKEN',
60+
'X-Axiom-Dataset': 'test-dataset'
61+
},
62+
});
63+
```
64+
65+
4. In your terminal, go to the root folder of the example app. Run the following to install dependencies and start the app three times:
66+
67+
```shell
68+
npm i
69+
npm run start:tracing
70+
npm run start:tracing
71+
npm run start:tracing
72+
```
73+
74+
This connects the example app to Axiom. Every time the app runs, it sends event data to Axiom.
75+
76+
## 3. Analyze data
77+
78+
### Display stream of incoming data
79+
80+
1. Click the **Stream** tab on the top of the page.
81+
2. Click **test-dataset** in the list.
82+
83+
You see the event data that Axiom receives realtime.
84+
85+
<video controls autoPlay muted loop>
86+
<source src="/doc-assets/videos/stream-tab.mp4" type="video/mp4">
87+
</source>
88+
</video>
89+
90+
### Query data
91+
92+
1. Click the **Datasets** tab on the top of the page, and then click **test-dataset**. This tab enables you to query your data with a visual query editor.
93+
2. In the **Visualize** section, click **+**.
94+
3. Write `histogram(duration, 15)`, and then press **Enter**.
95+
4. Click **Run query**.
96+
97+
You see a heatmap of events and their duration.
98+
99+
<video controls autoPlay muted loop>
100+
<source src="/doc-assets/videos/datasets-tab.mp4" type="video/mp4">
101+
</source>
102+
</video>
103+
104+
### Run a query with Axiom Processing Language (APL)
105+
106+
1. Click the **Explore** tab on the top of the page, and then click your dataset. This tab enables you to query your data using the Axiom Processing Language (APL). For more information, see [Introduction to APL](/apl/introduction).
107+
2. In the text field, enter the following:
108+
```apl copy
109+
['test-dataset']
110+
| where duration > 1000000
111+
| take 1000
112+
```
113+
3. Click **Run query**.
114+
115+
You see the events that took longer than 1 ms. In the query above, you see one million because time in the `duration` field is stored in nanoseconds.
116+
117+
<video controls autoPlay muted loop>
118+
<source src="/doc-assets/videos/explore-tab.mp4" type="video/mp4">
119+
</source>
120+
</video>
121+
122+
## 4. Visualize data
123+
124+
1. Click the **Dashboards** tab on the top of the page, and then click **OpenTelemetry Traces (test-dataset)**. You see data about incoming traces and spans. Whenever Axiom detects known schemas like OpenTelemetry, it automatically creates dashboards for you.
125+
2. The `Slowest Operations` chart shows the list of services. Click `basic-service` to display the traces of this service.
126+
3. Click one of the traces in the list.
127+
128+
You see a waterfall view of spans that displays each span in the trace and their duration.
129+
130+
<video controls autoPlay muted loop>
131+
<source src="/doc-assets/videos/dashboards-tab.mp4" type="video/mp4">
132+
</source>
133+
</video>
134+
135+
## 5. Monitor data for issues
136+
137+
### Create a notifier
138+
139+
Set up a notifier to determine the channel Axiom uses to alert you about what's happening with your data. For example, Axiom can send you an email.
140+
141+
1. Click the **Monitors** tab on the top of the page, and then click **Manage notifiers** on the right.
142+
2. Click **New notifier** on the top right.
143+
3. In **Name**, enter **test-notifier**.
144+
4. In **Users**, enter your email address, and then click **+** on the right.
145+
5. Click **Create**, and then click **Done**.
146+
147+
<video controls autoPlay muted loop>
148+
<source src="/doc-assets/videos/create-notifier.mp4" type="video/mp4">
149+
</source>
150+
</video>
151+
152+
### Create a monitor
153+
154+
Set up a monitor to receive alerts if certain conditions about your event data are met.
155+
156+
1. Click the **Monitors** tab on the top of the page, and then click **New monitor**.
157+
2. Click **Add notifier**, and then select **Email: test-notifier**.
158+
3. Click **Simple Query Builder**.
159+
4. In **Dataset**, select **test-dataset**.
160+
5. Click **Create**.
161+
162+
You created a monitor that automatically sends a notification to your email address if the number of events Axiom receives is higher than 1,000 in ten minutes.
163+
164+
<video controls autoPlay muted loop>
165+
<source src="/doc-assets/videos/create-monitor.mp4" type="video/mp4">
166+
</source>
167+
</video>
168+
169+
## What's next
170+
171+
To start integrating Axiom into your system, see [Start integrating Axiom into your system](/getting-started-guide/integrate-axiom).
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
title: 'Integrate Axiom into your system'
3+
excerpt: 'This page explains how to start integrating Axiom into your system.'
4+
---
5+
6+
Axiom enables you to make the most of your event data without compromises: all your data, all the time, for all possible needs. Say goodbye to data sampling, waiting times, and hefty fees.
7+
8+
This page explains how to start integrating Axiom into your system.
9+
10+
To try out Axiom without registration, go to the [Axiom Playground](https://play.axiom.co/). For more information on how to navigate the Playground, see [Try out Axiom without registration](/getting-started-guide/explore-axiom-playground).
11+
12+
To try out Axiom with sample data but without integrating it into your system, see [Getting started with Axiom](/getting-started-guide/getting-started).
13+
14+
## 1. Send your data to Axiom
15+
16+
You can send data to Axiom in a variety of ways. Each individual piece of data is an event.
17+
18+
Events can be emitted from internal or third-party services, cloud functions, containers, virtual machines (VMs), or even scripts. Events follow the [JSON specification](https://www.json.org/json-en.html) for which field types are supported, an event could look like this:
19+
20+
```json
21+
{
22+
"service": "api-http",
23+
"severity": "error",
24+
"duration": 231,
25+
"customer_id": "ghj34g32poiu4",
26+
"tags": ["aws-east-1", "zone-b"],
27+
"metadata": {
28+
"version": "3.1.2"
29+
}
30+
}
31+
```
32+
33+
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 access control.
34+
35+
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.
36+
37+
The underlying data store of Axiom is a time series database. This means every event is indexed with a timestamp specified at ingress or set automatically.
38+
39+
Axiom doesn’t sample your data on ingest or querying, unless you’ve expressly instructed it to.
40+
41+
<Card title="Send data to Axiom" icon="paper-plane" href="/send-data/ingest"></Card>
42+
43+
## 2. Stream your data
44+
45+
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:
46+
47+
From the Stream tab, 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
48+
49+
Another useful feature of the Stream tab is to only show events in a particular time-window. This could be the last N minutes or a more-specific time range you specify 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.
50+
51+
<Card title="Stream data" icon="screencast" href="/query-data/stream"></Card>
52+
53+
## 3. Analyze your data
54+
55+
In Axiom, an individual piece of data is an event, and a dataset is a collection of related events. Datasets contain incoming event data. The Datasets tab allows you to analyze fields within your datasets. For example:
56+
57+
- Determine field data types and names.
58+
- Edit field properties.
59+
- Gain insights about the underlying data using quick charts.
60+
- Add virtual fields.
61+
62+
<Card title="Analyze data" icon="server" href="/query-data/datasets"></Card>
63+
64+
## 4. Explore your data
65+
66+
While viewing individual events can be very useful, at scale and for general monitoring and observability, it’s important to be able to quickly aggregate, filter, and segment your data.
67+
68+
The Query tab gives you various tools to extract insights from your data:
69+
- Visualize aggregations with count, min, max, average, percentiles, heatmaps, and more.
70+
- Filter events.
71+
- Segment data with `group-by`.
72+
73+
<Card title="Explore data" icon="magnifying-glass" href="/query-data/explore"></Card>
74+
75+
## 5. Monitor for problems
76+
77+
Get alerted when there are problems with your data. For example:
78+
79+
- A queue size is larger than acceptable limits.
80+
- Web containers take too long to respond.
81+
- A specific customer starts using a new feature.
82+
83+
<Card title="Monitor data" icon="desktop" href="/monitor-data/monitors"></Card>
84+
85+
## 6. Integrate with data shippers
86+
87+
Integrations can be installed and configured using different third-party Data shippers to quickly get insights from your logs and services by setting up a background task that continuously synchronizes events into Axiom.
88+
89+
<Card title="Integrate with data shippers" icon="ship" href="/send-data/ingest#data-shippers"></Card>
90+
91+
## 7. Customize your organization
92+
93+
As your use of Axiom widens, customize it for your organization’s needs. For example:
94+
95+
- Add users.
96+
- Set up third-party authentication providers.
97+
- Set up role-based access control.
98+
- Create and manage API tokens.
99+
100+
<Card title="Customize your organization" icon="gear" href="/reference/settings"></Card>

0 commit comments

Comments
 (0)