|
| 1 | +--- |
| 2 | +title: 'Getting started' |
| 3 | +excerpt: 'This guide will introduce you to the concepts behind working with Axiom and give a short introduction to each of the high-level features.' |
| 4 | +tags: |
| 5 | + ['axiom documentation', 'documentation', 'axiom', 'stream data', 'analyze data', 'explore data'] |
| 6 | +--- |
| 7 | + |
| 8 | +This guide will introduce you to the concepts behind working with Axiom and give a short introduction to each of the high-level features. |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | +## 1. Get your data into Axiom |
| 13 | + |
| 14 | +[Axiom](https://app.axiom.co/) supports ingesting structured data which can be sent to it via a variety of means. Each individual piece of data is called an **Event**. |
| 15 | + |
| 16 | +Events can be emitted from internal or third-party services, cloud functions, containers, 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: |
| 17 | + |
| 18 | +```json copy |
| 19 | +{ |
| 20 | + "service": "api-http", |
| 21 | + "severity": "error", |
| 22 | + "duration": 231, |
| 23 | + "customer_id": "ghj34g32poiu4", |
| 24 | + "tags": ["aws-east-1", "zone-b"], |
| 25 | + "metadata": { |
| 26 | + "version": "3.1.2" |
| 27 | + } |
| 28 | +} |
| 29 | +``` |
| 30 | + |
| 31 | +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. |
| 32 | + |
| 33 | +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. |
| 34 | + |
| 35 | +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). |
| 36 | + |
| 37 | +Axiom **does not sample** your data on ingest or querying, unless you've expressly instructed it to. |
| 38 | + |
| 39 | +<a |
| 40 | + className="flex items-center justify-around w-96 shadow rounded border bg-white py-4 bg-white py-4" |
| 41 | + href="/docs/send-data/ingest" |
| 42 | + title="Learn how to ingest" |
| 43 | +> |
| 44 | + <Image src="/doc-assets/ingest.svg" width={24} height={24} alt="ingest icon" /> |
| 45 | + <span>Learn how to ingest</span> |
| 46 | + <Image src="/doc-assets/chevron-right.svg" width={16} height={16} alt="go" /> |
| 47 | +</a> |
| 48 | + |
| 49 | +## 2. Stream your data |
| 50 | + |
| 51 | +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: |
| 52 | + |
| 53 | + |
| 54 | + |
| 55 | +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 |
| 56 | + |
| 57 | +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. |
| 58 | + |
| 59 | +<Link href="/docs/usage/stream" title="Learn how to stream"> |
| 60 | + <a className="flex items-center justify-around shadow rounded border bg-white py-4"> |
| 61 | + <Image src="/doc-assets/stream.svg" width={24} height={24} alt="ingest icon" /> |
| 62 | + <span>Learn how to stream</span> |
| 63 | + <Image src="/doc-assets/chevron-right.svg" width={16} height={16} alt="go" /> |
| 64 | + </a> |
| 65 | +</Link> |
| 66 | + |
| 67 | +## 3. Analyze your data |
| 68 | + |
| 69 | +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: |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | +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**. |
| 74 | + |
| 75 | +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. |
| 76 | + |
| 77 | +Any query you create can be saved as well as easily sharable with your team. |
| 78 | + |
| 79 | +<a |
| 80 | + className="flex items-center justify-around w-96 shadow rounded border bg-white py-4" |
| 81 | + href="/docs/usage/analyze" |
| 82 | + title="Learn how to analyze" |
| 83 | +> |
| 84 | + <Image src="/doc-assets/analyze.svg" width={24} height={24} alt="analyze icon" /> |
| 85 | + <span>Learn how to analyze</span> |
| 86 | + <Image src="/doc-assets/chevron-right.svg" width={16} height={16} alt="go" /> |
| 87 | +</a> |
| 88 | + |
| 89 | + |
| 90 | +## 4. Explore your data |
| 91 | + |
| 92 | +Axiom Processing language enhanced data exploration capabilities allows users to write powerful queries to explore, analyze, and visualize large queries in real-time. |
| 93 | + |
| 94 | + |
| 95 | + |
| 96 | +By writing targeted queries with APL, you can swiftly identify and diagnose issues, reducing downtime and minimizing the impact on your business operations. APL's ability to analyze logs and data in real-time allows you to stay on top of potential problems and address them before they escalate. |
| 97 | + |
| 98 | +<a |
| 99 | + className="flex items-center justify-around w-96 shadow rounded border bg-white py-4" |
| 100 | + href="/docs/apl/introduction" |
| 101 | + title="Explore your data with APL" |
| 102 | +> |
| 103 | + <Image src="/doc-assets/analyze.svg" width={24} height={24} alt="analyze icon" /> |
| 104 | + <span>Explore your data with APL</span> |
| 105 | + <Image src="/doc-assets/chevron-right.svg" width={16} height={16} alt="go" /> |
| 106 | +</a> |
| 107 | + |
| 108 | + |
| 109 | +## 5. Monitor for problems |
| 110 | + |
| 111 | +Get alerted when there are problems with your data, such as |
| 112 | + |
| 113 | +- A queue size is larger than acceptable limits |
| 114 | +- Web containers are taking too long to respond |
| 115 | +- A specific customer has started using a new feature |
| 116 | +- etc, etc |
| 117 | + |
| 118 | + |
| 119 | + |
| 120 | +Axiom alerting consists of two key concepts: |
| 121 | + |
| 122 | +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 |
| 123 | +2. **Notifiers** which encapsulate how to alert a person, a team, or a service that a monitor has been triggered. |
| 124 | + |
| 125 | +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). |
| 126 | + |
| 127 | +<a |
| 128 | + className="flex items-center justify-around w-96 shadow rounded border bg-white py-4" |
| 129 | + href="/docs/usage/alerts" |
| 130 | + title="Learn how to monitor" |
| 131 | +> |
| 132 | + <Image src="/doc-assets/monitor.svg" width={24} height={24} alt="monitor icon" /> |
| 133 | + <span>Learn how to monitor</span> |
| 134 | + <Image src="/doc-assets/chevron-right.svg" width={16} height={16} alt="go" /> |
| 135 | +</a> |
| 136 | + |
| 137 | +## 6. Integrate with data shippers |
| 138 | + |
| 139 | +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. |
| 140 | + |
| 141 | +<a |
| 142 | + className="flex items-center justify-around w-96 shadow rounded border bg-white py-4" |
| 143 | + href="/docs/send-data/ingest#data-shippers" |
| 144 | + title="Learn about data shippers" |
| 145 | +> |
| 146 | + <Image src="/doc-assets/integrate.svg" width={24} height={24} alt="integrations icon" /> |
| 147 | + <span>Learn about data shippers</span> |
| 148 | + <Image src="/doc-assets/chevron-right.svg" width={16} height={16} alt="go" /> |
| 149 | +</a> |
| 150 | + |
| 151 | +## 7. Customize for your organization |
| 152 | + |
| 153 | +As your use of Axiom widens, you can customize it for your organization's needs: |
| 154 | + |
| 155 | +- Add more users |
| 156 | +- Setup third-party authentication providers |
| 157 | +- Create and manage teams |
| 158 | +- Setup Role-Base Access Control |
| 159 | +- Setup per-user/service API tokens |
| 160 | + |
| 161 | + |
| 162 | + |
| 163 | +<a |
| 164 | + className="flex items-center justify-around w-96 shadow rounded border bg-white py-4" |
| 165 | + href="/docs/reference/settings" |
| 166 | + title="Learn about settings" |
| 167 | +> |
| 168 | + <Image src="/doc-assets/settings.svg" width={24} height={24} alt="integrations icon" /> |
| 169 | + <span>Learn about settings</span> |
| 170 | + <Image src="/doc-assets/chevron-right.svg" width={16} height={16} alt="go" /> |
| 171 | +</a> |
0 commit comments