Dashboards
Dashboards provide a single pane of glass view into your data.
Axiom provides a mature dashboards experience that allows collections of queries across multiple datasets to be visualized in one place.
Dashboards are easy to share, benefit from collaboration, and bring separate datasets together in a single view.
This guide introduces the Dashboards tab and help you to create your first dashboard and add queries to it.
Dashboards tab
Select a private or shared dashboard from this tab. A private dashboard is one that only you can see and edit, and a shared dashboard can be viewed or edited by anyone on your team.
-
Click New Dashboard, add a name and a description, and then click Create.
You see an empty dashboard.
-
Click + Add a chart in the top right corner.
-
Choose one of the following:
- Click Simple Query Builder to create your chart using a visual query builder.
- Click Advanced Query Language to create your chart using the Axiom Processing Language (APL). For more information, see Introduction to APL.
Chart types
Chart types are the different visualizations that you can include in your dashboard to display your data. For example, you can track key metrics, logs, and traces, and monitor real-time data flow.
Time series
Time series charts show the change in your data over time which can help identify infrastructure issues, spikes, or dips in the data. This can be a simple line chart, an area chart, or a bar chart. A time series chart might be used to show the change in the volume of log events, error rates, latency, or other time-sensitive data. Choose one of the following:
- Click Simple Query Builder.
- Click Advanced Query Language.
Filter bar
Use filter bars to create context-specific filtering within a dashboard. They affect charts that are configured with APL using the filter ID through the data schema, allowing more precise control over the data displayed. When configuring a filter, you can specify attributes such as filter type, name, ID. These attributes enable you to select the criteria that can filter the data displayed in your dashboard.
-
To create a filter bar, enter the title and select the Filter Bar chart type.
-
You can attach an image URL for your filter bar which allows users to upload an image from a URL to be displayed on the dashboard.
- In the filter section, select a filter type. The select filter allows you to choose from a predefined list of options to filter your data. You can decide to list or query your data. You can use a list value filter to view data from your status, method, or server, and you can use the query list value to filter your data based on known, predefined criteria using APL.
- The search filter allows you to type in a keyword to filter your data. This is useful when you look for specific log entries, metrics, or events. For instance, you can use a search filter to find all logs that contain a certain error message or keyword.
- The filters defined in filter bar are important for displaying the information on the dashboard. These filters are managed through a specific
dataschema
, which defines the structure of the data you're working with. For example, you can create a dashboard that uses thefilter_id
of typestring
.
dataschema filter_id: string;
['<dataset-name>']
| where <your-field> == filter_id
- This example creates a dashboard to get the
count of events
using the dataschema__status
of the typestring
.
Currently the data schema in the editor gives you a warning.
After creating and specifying the type of filters you want, you can compare and contrast the performance of different errors, apps, or environments, or any other identifying attribute or tag in your logs, metrics, or traces data without needing to create separate dashboards for each.
Handling default (null) case
When creating a filter bar, it's common to include an All
option for cases where no specific field value has been selected. Use a where
clause to handle null
values in this scenario.
For example, if your filter bar had a field ID service
, the APL query might look like the following:
dataschema service: string;
['dataset']
| where iif(isnotempty(service), service_field == service, true)
| summarize count() by bin_auto(_time), service
Here, the where
clause checks if a value is given for the service
field, applying a filter if so, and effectively skipping the where clause if not. This approach ensures that all scenarios are covered, providing a complete view when no specific field value is chosen.
Log stream
The log stream chart displays your logs as they come in real-time. Each log appears as a separate line with various details. The benefit of a Log Stream is that it provides immediate visibility into your system's operations. When you're debugging an issue or trying to understand an ongoing event, the Log Stream allows you to see exactly what's happening as it occurs.
Choose one of the following:
- Click Simple Query Builder.
- Click Advanced Query Language.
Scatter plot
Scatter plots are used to visualize the correlation or distribution between two distinct metrics or logs. Each point in the scatter plot could represent a log entry, with the X and Y axes showing different log attributes (like request time and response size). The scatter plot chart can be created using the simple query builder or advanced query builder.
Choose one of the following:
- Click Simple Query Builder.
- Click Advanced Query Language.
For example, plot response size against response time for an API to see if larger responses are correlated with slower response times.
Statistic
Statistics charts display a summary of the selected metrics over a given time period. For example, you can use a statistics chart to show the average, sum, min, max, and count of response times or error counts.
Choose one of the following:
- Click Simple Query Builder.
- Click Advanced Query Language.
Table
The table chart displays a summary of any attributes from your metrics, logs, or traces in a sortable table format. Each row in the table could represent a different service, host, or other entity, with columns showing various attributes or metrics for that entity.
Choose one of the following:
- Click Simple Query Builder.
- Click Advanced Query Language. With this option, the table chart type has the capability to display a non-aggregated view of events.
- To create your table chart using the simple query builder, click the simple query builder and enter the name of your chart, and select the table chart type.
Chart Options
Values
The values section determines how the data points on your chart are represented.
-
Auto: This option automatically decides the best way to represent missing or undefined values in the data series based on the chart type and the rest of the data.
-
Ignore: This option ignores any missing or undefined values in the data series. This means that the chart only displays the known, defined values.
-
Join Adjacent Values: This option connects adjacent data points in the data series, effectively filling in any gaps caused by missing values. The benefit of joining adjacent values is that it can provide a smoother, more continuous visualization of your data.
-
Fill with Zeros: This option replaces any missing or undefined values in the data series with zero. This can be useful if you want to emphasize that the data is missing or undefined, as it causes a drop to zero in your chart.
Variant
The variant chart section determines the visual style of your chart.
- Area: An area chart displays the area between the data line and the axes, often filled with a color or pattern. Stacked charts provide the capability to design and implement intricate query dashboards while integrating advanced visualizations, enriching your logging experience over time.
- Bars: A bar chart represents data in rectangular bars. The length of each bar is proportional to the value it represents. Bar charts can be used to compare discrete quantities, or when you have categorical data.
- Line: A line chart connects individual data points into a continuous line, which is useful for showing logs over time. Line charts are often used for time series data.
Y-Axis
The Y-axis section determines the scale used on the Y-axis of your chart.
- Linear: A linear scale maintains a consistent scale where equal distances represent equal changes in value. This is the most common scale type and is useful for most types of data.
- Log: A logarithmic (or log) scale represents values in terms of their order of magnitude. Each unit of distance on a log scale represents a tenfold increase in value. Log scales make it easy to see backend errors and compare values across a wide range.
When you are done building your dashboards, enter the title, chart type and view of your dashboard and click validate & save
Click the Done button when you are finished, and you now see your query in your dashboard. You can adjust the dimensions of the query from the bottom-right corner.
Click Save Dashboard to save your changes.
Dashboard Settings
From the toolbar, you can:
- Add more queries
- Change ownership of the dashboard between yourself and a team
- Change the time range that all the queries in a dashboard display
- Full screen the dashboard, which is perfect for displaying it on a TV or shared monitor