diff --git a/docs.json b/docs.json index 48a910c..46993dd 100644 --- a/docs.json +++ b/docs.json @@ -19,10 +19,21 @@ "pages": [ "introduction", "getting-started-guide/getting-started", + { + "group": "Try out Axiom", + "icon": "play", + "pages": [ + "getting-started-guide/try-out-axiom", + "getting-started-guide/explore-axiom-playground", + "getting-started-guide/quickstart-using-sample-data", + "getting-started-guide/get-started-example-app" + ] + }, { "group": "Learn about Axiom", "icon": "book-font", "pages": [ + "getting-started-guide/learn-about-axiom", "getting-started-guide/event-data", "getting-started-guide/observability", "getting-started-guide/feature-states", @@ -74,31 +85,37 @@ "icon": "language", "pages": [ "guides/send-logs-from-dotnet", - "guides/opentelemetry-dotnet", "guides/send-logs-from-apache-log4j", "guides/apex", "guides/opentelemetry-cloudflare-workers", - "guides/opentelemetry-django", "guides/go", "guides/logrus", - "guides/opentelemetry-go", - "guides/opentelemetry-java", "guides/javascript", "guides/send-logs-from-laravel", "send-data/nextjs", - "guides/opentelemetry-nextjs", - "guides/opentelemetry-nodejs", "guides/pino", "guides/python", - "guides/opentelemetry-python", "send-data/react", "guides/send-logs-from-ruby-on-rails", - "guides/opentelemetry-ruby", "guides/rust", "guides/winston", "guides/zap" ] }, + { + "group": "Example apps", + "icon": "vial", + "pages": [ + "guides/opentelemetry-dotnet", + "guides/opentelemetry-django", + "guides/opentelemetry-go", + "guides/opentelemetry-java", + "guides/opentelemetry-nextjs", + "guides/opentelemetry-nodejs", + "guides/opentelemetry-python", + "guides/opentelemetry-ruby" + ] + }, { "group": "AWS", "icon": "aws", diff --git a/getting-started-guide/explore-axiom-playground.mdx b/getting-started-guide/explore-axiom-playground.mdx new file mode 100644 index 0000000..d30fcb3 --- /dev/null +++ b/getting-started-guide/explore-axiom-playground.mdx @@ -0,0 +1,66 @@ +--- +title: 'Explore Axiom Playground' +excerpt: 'This page explains how to try out Axiom without registration with the Axiom Playground.' +--- + +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. + +## 1. Explore sample data + +1. Go to the [Axiom Playground](https://play.axiom.co/). +1. Click the **Datasets** tab at the top of the page. +1. In the list of datasets, click `sample-http-logs`. + +This displays the fields in the sample dataset `sample-http-logs`. In Axiom, an individual piece of data is an event, and a dataset is a collection of similar events. In this example, an event is an HTTP request to your website, and the dataset holds incoming data about all these HTTP requests. + +[Run in Playground](https://play.axiom.co/axiom-play-qf1k/datasets/sample-http-logs) + +## 2. Display stream of incoming data + +1. Click the **Stream** tab at the top of the page. +1. Click **sample-http-logs** in the list. + +You see the data that Axiom receives realtime. In this example, this page displays the HTTP requests to your imaginary website. + +[Run in Playground](https://play.axiom.co/axiom-play-qf1k/stream/sample-http-logs) + +## 3. Analyze data + +### Query data + +1. Click the **Query** tab at the top of the page, and then click **Builder** in the top left. This enables you to query your data with a visual query builder. +1. In the **Dataset** section, select **sample-http-logs** from the list of datasets. +1. In the **Where** section, click **+**. +1. Write **status == "500"**, and then press **Enter**. +1. Click **Run**. + +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. + +[Run in Playground](https://play.axiom.co/axiom-play-qf1k/query?initForm=%7B%22apl%22%3A%22%5B'sample-http-logs'%5D%20%7C%20where%20status%20%3D%3D%20'500'%22%7D) + +### Run an APL query + +1. Click the **Query** tab at the top of the page, and then click **APL** in the top left. This enables you to query your data with the Axiom Processing Language (APL). For more information, see [Introduction to APL](/apl/introduction). +1. In the text field, enter the following: + ```kusto + ['sample-http-logs'] + | summarize count() by bin_auto(_time), status + ``` +1. Click **Run**. + +You see the number of HTTP requests of each status over time. + +[Run in Playground](https://play.axiom.co/axiom-play-qf1k/query?initForm=%7B%22apl%22%3A%22%5B'sample-http-logs'%5D%20%7C%20summarize%20count()%20by%20bin_auto(_time)%2C%20status%22%7D) + +## 4. Visualize data + +1. Click the **Dashboards** tab at the top of the page. +1. Click **Http logs** in the list. + +You see a dashboard that displays important information about the HTTP requests to the website. + +## What’s next + +To try out Axiom with sample data, see [Quickstart using sample data](getting-started-guide/quickstart-using-sample-data). + +To check out Axiom with a sample app, see [Get started with example app](/getting-started-guide/get-started-example-app). \ No newline at end of file diff --git a/getting-started-guide/get-started-example-app.mdx b/getting-started-guide/get-started-example-app.mdx new file mode 100644 index 0000000..5e685c1 --- /dev/null +++ b/getting-started-guide/get-started-example-app.mdx @@ -0,0 +1,62 @@ +--- +title: 'Get started with example app' +excerpt: 'This page explains how to try out Axiom with an example app.' +--- + +This page explains how to try out Axiom with an example app that emits OpenTelemetry (OTel) trace data. There are many other ways you can send data to Axiom. For a full list, see [Send data](/send-data/ingest). + +Choose one of the following example apps: + + + + + + + + + + + + + + + + + + + + + + + + + + + +To try out Axiom without registration, see [Explore Axiom Playground](/getting-started-guide/explore-axiom-playground). + +To try out Axiom with sample data, see [Quickstart using sample data](/getting-started-guide/quickstart-using-sample-data). \ No newline at end of file diff --git a/getting-started-guide/getting-started.mdx b/getting-started-guide/getting-started.mdx index 3c876e5..9daf881 100644 --- a/getting-started-guide/getting-started.mdx +++ b/getting-started-guide/getting-started.mdx @@ -10,6 +10,10 @@ tags: Axiom user interface +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. + +This page explains how to start using Axiom and leverage the power of event data in your organization. + ## 1. Send your data to Axiom You can send data to Axiom in a variety of ways. Each individual piece of data is an event. @@ -97,3 +101,10 @@ As your use of Axiom widens, customize it for your organization’s needs. For e - Create and manage API tokens. + +## What’s next + +Choose one of the following learning pathways: + +- [Try out Axiom](/getting-started-guide/try-out-axiom) for a more hands-on experience that allows you to explore Axiom and quickly leverage the power of your event data. +- [Learn about Axiom](/getting-started-guide/learn-about-axiom) for a more educational experience that explains the most important concepts and ideas behind Axiom and how your organization can benefit from Axiom’s offering. \ No newline at end of file diff --git a/getting-started-guide/learn-about-axiom.mdx b/getting-started-guide/learn-about-axiom.mdx new file mode 100644 index 0000000..cc4d88f --- /dev/null +++ b/getting-started-guide/learn-about-axiom.mdx @@ -0,0 +1,30 @@ +--- +title: 'Learn about Axiom' +excerpt: 'This section offers a conceptual understanding of Axiom and its offering.' +sidebarTitle: Overview +--- + +The following pages offer an educational experience that explains the most important concepts and ideas behind Axiom and how your organization can benefit from Axiom’s offering: + + +Learn about the fundamentals of timestamped event data in Axiom + + + +Learn about how Axiom helps you leverage timestamped event data for observability purposes + + + +Learn about the key concepts in Axiom + + +For a more hands-on experience that allows you to explore Axiom and quickly leverage the power of your event data, see [Try out Axiom](/getting-started-guide/try-out-axiom). \ No newline at end of file diff --git a/getting-started-guide/quickstart-using-sample-data.mdx b/getting-started-guide/quickstart-using-sample-data.mdx new file mode 100644 index 0000000..00d95c1 --- /dev/null +++ b/getting-started-guide/quickstart-using-sample-data.mdx @@ -0,0 +1,106 @@ +--- +title: 'Quickstart using sample data' +excerpt: 'This page explains how to try out Axiom with sample data.' +--- + +This page explains how to try out Axiom with sample data. It walks you through an example where you want to keep track of OpenTelemetry (OTel) traces with Axiom. + +By following this page, you will: + +1. Explore the structure of sample data. +1. Display stream of incoming data. +1. Analyze the data. +1. Visualize the data by creating a simple dashboard. +1. Set up a monitor that alerts you about internal server errors. + +To try out Axiom without registration, see [Explore Axiom Playground](/getting-started-guide/explore-axiom-playground). + +## 1. Explore sample data + +1. [Sign up for an Axiom account](https://app.axiom.co/register). All you need is an email address. +1. Click the **Datasets** tab at the top of the page. +1. In the list of datasets, click `otel-demo-traces`. + +This displays the fields in the sample dataset `otel-demo-traces`. + +## 2. Display stream of incoming data + +1. Click the **Stream** tab at the top of the page. +1. Click **otel-demo-traces** in the list. + +You see the data that Axiom receives realtime. + +## 3. Analyze data + +### Query data + +1. Click the **Query** tab at the top of the page, and then click **Builder** in the top left. This enables you to query your data with a visual query builder. +1. In the **Dataset** section, select **otel-demo-traces** from the list of datasets. +1. In the **Where** section, click **+**. +1. Write **service.name == frontend**, and then press **Enter**. +1. Click **Run**. + +You see all the traces for the Frontend service. + +### Run an APL query + +1. Click the **Query** tab at the top of the page, and then click **APL** in the top left. This enables you to query your data with the Axiom Processing Language (APL). For more information, see [Introduction to APL](/apl/introduction). +1. In the text field, enter the following: + ```kusto + ['otel-demo-traces'] + | where duration > 5ms + | summarize count() by bin_auto(_time), ['service.name'] + ``` +1. Click **Run**. + +You see the number of requests taking longer than 5 ms for each service over time. + +## 4. Visualize data + +1. Click the **Dashboards** tab at the top of the page. +1. Click **OpenTelemetry Traces (otel-demo-traces)** in the list. + +You see a dashboard that displays important information about the OTel traces. + +TODO from here + +## 5. Create new dashboard + +1. Click the **Dashboards** tab at the top of the page, and then click **New dashboard** on the right. +1. Name the dashboard and click **Create**. +1. Click **Add a chart**, and then click **Timeseries**. +1. In the **Dataset** section, select **otel-demo-traces**. +1. In the **Summarize** section, click **no group** to the right of **by**, and then select **service.name**. +1. Click **Save**. + +You created a simple dashboard that displays the number of requests for each service over time. + +## 6. Monitor data for issues + +### Create notifier + +1. Click the **Monitors** tab at the top of the page. +1. In the top left, click **Notifiers**, and then click **New notifier** on the top right. +1. In **Name**, enter **Slow requests notifier**. +1. In **Users**, enter your email address, and then click **+** on the right. +1. Click **Create**. + +### Create monitor + +1. In the top left, click **Monitors**, and then click **New monitor** on the top right. +1. Click **Threshold monitor**. +1. In **Check options**, enter `10000` as the value. +1. Click **+ Add notifier**, and then select **Email: Slow requests notifier**. +1. In the **APL** section, enter the following: + ```kusto + ['otel-demo-traces'] + | where duration > 5ms + | summarize count() by bin_auto(_time) + ``` +1. Click **Create**. + +You created a monitor that automatically sends a notification to your email address if the number of requests taking longer than 5 ms is higher than 10,000 in ten minutes. + +## What's next + +To check out Axiom with a sample app, see [Get started with example app](/getting-started-guide/get-started-example-app). \ No newline at end of file diff --git a/getting-started-guide/try-out-axiom.mdx b/getting-started-guide/try-out-axiom.mdx new file mode 100644 index 0000000..adcf24f --- /dev/null +++ b/getting-started-guide/try-out-axiom.mdx @@ -0,0 +1,30 @@ +--- +title: 'Try out Axiom' +excerpt: 'This section offers a hands-on experience of Axiom and its features.' +sidebarTitle: Overview +--- + +The following pages offer a hands-on experience that allows you to explore Axiom and quickly leverage the power of your event data: + + +Explore Axiom without registration + + + +Try out Axiom with sample data + + + +Check out Axiom with a sample app + + +For a more educational experience that explains the most important concepts and ideas behind Axiom and how your organization can benefit from Axiom’s offering, see [Learn about Axiom](/getting-started-guide/learn-about-axiom). \ No newline at end of file diff --git a/guides/opentelemetry-django.mdx b/guides/opentelemetry-django.mdx index 9b59810..2e7e67e 100644 --- a/guides/opentelemetry-django.mdx +++ b/guides/opentelemetry-django.mdx @@ -2,7 +2,7 @@ title: 'Send OpenTelemetry data from a Django app to Axiom' description: 'This guide explains how to send OpenTelemetry data from a Django app to Axiom using the Python OpenTelemetry SDK.' overview: 'Django framework with OpenTelemetry integration' -sidebarTitle: Django using OTel +sidebarTitle: Django tags: ['guides', 'django', 'otel', 'opentelemetry', 'python'] logoId: 'openTelemetry' --- diff --git a/guides/opentelemetry-dotnet.mdx b/guides/opentelemetry-dotnet.mdx index cda980f..0889041 100644 --- a/guides/opentelemetry-dotnet.mdx +++ b/guides/opentelemetry-dotnet.mdx @@ -2,7 +2,7 @@ title: 'OpenTelemetry using .NET' description: 'This guide explains how to configure a .NET app using the .NET OpenTelemetry SDK to send telemetry data to Axiom.' overview: '.NET with OpenTelemetry for enhanced observability' -sidebarTitle: .NET using OTel +sidebarTitle: .NET tags: ['guides', '.NET', 'dotnet', 'OpenTelemetry', 'otel'] logoId: 'openTelemetry' --- diff --git a/guides/opentelemetry-go.mdx b/guides/opentelemetry-go.mdx index 23e7c61..2c8bce6 100644 --- a/guides/opentelemetry-go.mdx +++ b/guides/opentelemetry-go.mdx @@ -2,7 +2,7 @@ title: 'OpenTelemetry using Golang' description: 'This guide explains how to configure a Go app using the Go OpenTelemetry SDK to send telemetry data to Axiom.' overview: 'Go language with OpenTelemetry for distributed tracing' -sidebarTitle: Golang using OTel +sidebarTitle: Golang tags: ['guides', 'golang', 'go', 'otel', 'opentelemetry'] logoId: 'openTelemetry' --- diff --git a/guides/opentelemetry-java.mdx b/guides/opentelemetry-java.mdx index bddd9cf..21ee6af 100644 --- a/guides/opentelemetry-java.mdx +++ b/guides/opentelemetry-java.mdx @@ -2,7 +2,7 @@ title: 'Send data from Java app using OpenTelemetry' description: 'This page explains how to configure a Java app using the Java OpenTelemetry SDK to send telemetry data to Axiom.' overview: 'Java with OpenTelemetry for comprehensive telemetry data' -sidebarTitle: Java using OTel +sidebarTitle: Java tags: ['guides', 'java', 'opentelemetry', 'otel'] logoId: 'openTelemetry' --- diff --git a/guides/opentelemetry-nextjs.mdx b/guides/opentelemetry-nextjs.mdx index 1defbea..05d0bf5 100644 --- a/guides/opentelemetry-nextjs.mdx +++ b/guides/opentelemetry-nextjs.mdx @@ -2,7 +2,7 @@ title: 'OpenTelemetry using Next.js' description: 'This guide demonstrates how to configure OpenTelemetry in a Next.js app to send telemetry data to Axiom.' overview: 'Next.js with OpenTelemetry for full-stack tracing' -sidebarTitle: Next.js using OTel +sidebarTitle: Next.js tags: ['guides', 'nextjs', 'opentelemetry', 'otel'] logoId: 'openTelemetry' --- diff --git a/guides/opentelemetry-nodejs.mdx b/guides/opentelemetry-nodejs.mdx index 69a4d89..ce690c4 100644 --- a/guides/opentelemetry-nodejs.mdx +++ b/guides/opentelemetry-nodejs.mdx @@ -2,7 +2,7 @@ title: 'OpenTelemetry using Node.js' description: 'This guide demonstrates how to configure OpenTelemetry in a Node.js app to send telemetry data to Axiom.' overview: 'Node.js runtime with OpenTelemetry integration' -sidebarTitle: Node.js using OTel +sidebarTitle: Node.js tags: ['guides', 'nodejs', 'typescript', 'javascript', 'js', 'ts', 'otel', 'opentelemetry', 'node.js'] logoId: 'openTelemetry' --- diff --git a/guides/opentelemetry-python.mdx b/guides/opentelemetry-python.mdx index 04c9934..c3bb4fc 100644 --- a/guides/opentelemetry-python.mdx +++ b/guides/opentelemetry-python.mdx @@ -2,7 +2,7 @@ title: 'Send OpenTelemetry data from a Python app to Axiom' description: 'This guide explains how to send OpenTelemetry data from a Python app to Axiom using the Python OpenTelemetry SDK.' overview: 'Python with OpenTelemetry for distributed tracing' -sidebarTitle: Python using OTel +sidebarTitle: Python tags: ['guides', 'python', 'py', 'opentelemetry', 'otel'] logoId: 'openTelemetry' --- diff --git a/guides/opentelemetry-ruby.mdx b/guides/opentelemetry-ruby.mdx index 0ab99eb..4997ff2 100644 --- a/guides/opentelemetry-ruby.mdx +++ b/guides/opentelemetry-ruby.mdx @@ -2,7 +2,7 @@ title: 'Send OpenTelemetry data from a Ruby on Rails app to Axiom' description: 'This guide explains how to send OpenTelemetry data from a Ruby on Rails App to Axiom using the Ruby OpenTelemetry SDK.' overview: 'Rails framework with OpenTelemetry integration' -sidebarTitle: Ruby on Rails using OTel +sidebarTitle: Ruby on Rails tags: ['guides', 'ruby', 'ruby on rails', 'otel', 'opentelemetry'] logoId: 'openTelemetry' ---