View available monitors
Select from the following methods to view and filter monitors. To query and get detailed information about monitors, see monitor actions.- Web
- Chronoctl
- Terraform
- API
To display a list of defined monitors, in the navigation menu, select
Alerting > Monitors.The list of monitors includes an Alert state column. Each monitor displays a
badge showing the icon for its most severe active state, with a text label listing
all active alert counts. For example, a monitor with two active critical alerts and
one active warning alert shows the critical icon with the label 2 Critical, 1 Warning.
Use the following methods to filter your monitors:
- Using the Search monitors search box (an OR filter).
- By team, using the Select a team dropdown.
- By owner, using the Select an owner dropdown. The icon indicates the monitor is part of a collection. The icon indicates this monitor is part of a service.
- By notification policy, using the Select a notification policy dropdown.
- By error status:
- All: Default, displays all monitors.
- Alerting: Monitors currently in alert status.
- Critical: Monitors in a critical alert status.
- Muted: Displays only muted monitors.
- To filter the table to display only your favorite monitors, enable the View only my favorites toggle.
- Include connected monitors: If you filter monitors by owner with the toggle disabled, only monitors owned by that owner are returned. When the toggle is enabled, your filter includes monitors that are connected to that owner, even if they aren’t owned by that owner. Connections are based on collections.
- Click the search bar to focus on it, or use the keyboard shortcut
Control+K(Command+Kon macOS). - Begin typing any part of the monitor’s name.
- Optional: Click the filters for all other listed resource types at the top of the search results to remove them and display only monitors.
- Click the search result you’re interested in, or use the arrow keys to select it and press enter, to go to that monitor.
Create a monitor
Most monitors alert when a value matches a specific condition, such as when an error condition defined by the query lasts longer than one minute. You can also choose to alert when a value doesn’t exist, such as when a host stops sending metrics and is likely unavailable. The Web procedure in Create monitors walks through missing data using not exists and signal not exists in Conditions. For how those choices map to configuration, signal grouping, and Prometheus, logs, or Graphite support, see Missing data conditions. To receive alerts when a host stops sending metrics, create a separate monitor for each host and scope the monitor query to that host.Prerequisites
Before creating a monitor, complete the following tasks:- Create a notifier to define where to deliver alerts and who to notify.
- Create a notification policy to determine how to route notifications to notifiers based on signals that trigger from your monitor. You select the notifier you created for the critical or warning conditions on the notification policy.
Create monitors
After completing the prerequisite tasks, use any of the following methods to create a new monitor. While creating or editing a monitor, simulate alerts to backtest your conditions against historical data and see how the alert would have performed.Chronosphere recommends a minimum query interval of 15 seconds. There can be
a 10-second delay between an alert trigger and the notifier activation.
- Web
- Chronoctl
- Terraform
- API
To add a new monitor:
-
In the navigation menu, select one of these locations:
- Alerting > Monitors.
- Platform > Collections, and then select the collection you want to create a monitor for. This can be a standard collection or a service.
-
Create the monitor:
- From the Monitors page, click Create monitor to open the Add Monitor panel.
- To create a monitor by duplicating an existing monitor, click the monitor on the Monitors page, then click Duplicate to open the Duplicate monitor panel.
- From the Collections page, in the Monitors panel, click Manage, then click New monitor.
- Enter the information for the monitor based on its data model.
- Select an Owner to organize and filter your monitor. You can select a collection or a service.
-
Enter a Monitor Name, which you can change after creating the monitor. Monitor
names are static strings and don’t accept label variables, such as
$labels.LABEL_NAME. - Choose a Notification Policy to determine which notification policy to use at a particular alert severity.
- Enter Labels as key-value pairs to categorize and filter monitors.
-
In the Query section, choose the type of query you want to enter:
- Prometheus: Enter a valid Prometheus query. Click Edit in Query Builder to open your query in the Query Builder, where you can construct, optimize, and debug your query before saving it. After modifying your query, click Done to return to the Add Monitor page.
- Graphite: Enter a valid Graphite query.
-
Logs: Enter a valid log query, which must include the
make-seriesoperator with a specifiedstepsize to return data. This operator uses thecount()function by default, but you can specify different operators instead. For example, the following query creates a time chart that includes the average forlatencyInSeconds. Thestepparameter defines the time step for each bucket in Prometheus time duration format:If the log query includes a field that contains a period in its name and you want to use signals to group notifications, use an alias for that field name. Otherwise, periods are converted to underscores in the generated visualization.
-
Use these options to validate and update your query:
-
Click Check Query to validate your query and preview query results. In the
query preview, use the following options to understand your query:
- Toggle Show thresholds to display the monitor’s defined thresholds.
- Select a time range up to the present in the time range selector. If your selected time period has too many alerts, or the entire graph appears to display in alerted status, reduce the selected time period. If multiple alerts would have triggered simultaneously, only one threshold marker displays. The banner shows the correct number of alerts. For example, if a critical and a warning would trigger at the same time, only one alert displays on the graph. The banner shows two alerts would have triggered.
- Click Open in Explorer to open your query in Metrics Explorer, where you can review your query for syntax errors and make necessary changes.
-
Click Check Query to validate your query and preview query results. In the
query preview, use the following options to understand your query:
-
For Prometheus queries, test monitor conditions by reviewing when a monitor would
have triggered, based on historical data. The preview reflects existing monitor
schedules, signal grouping, and overrides:
- Use the Show alert durations toggle to display the time period over which the alert would have been active.
-
Toggle Simulate alerts to backtest your condition against existing data. You
must define at least one condition for alert simulations to work.
If your selected query returns too much data, the graph displays an error. Chronosphere recommends selecting shorter time periods for testing, when possible. Alert simulation isn’t available outside the raw data retention period.Alert simulations use existing data, and can’t predict future alerts.
-
Optional: Group alerts based on the results returned from the query by choosing an
option in the Signals section.
Signals use a unique set of labels to
create groups of notifications when a monitor alert triggers or resolves.
If you select per signal (multiple alerts) to generate multiple alerts, enter a label key that differs in name and casing from the label you enter in the Key field in the Labels section. For example, if you enter
environmentin the Key field, you might useEnvironmentsas the Label Key to match on. Pinned scopes can be used as a Label Key. -
Define a condition and sustain period in the Conditions
section, and assign the resulting alert a severity (warning or critical). In
the Sustain field, enter a value followed by an abbreviated unit such as
60s. Valid units ares(seconds),m(minutes),h(hours), ord(days). The dialog also displays the notifiers associated with the monitor for reference.To generate an alert when the entire monitor query returns no results, select not exists in the Alert when value dropdown. Select signal not exists when alerts should respect signal grouping. For example, all series in a signal must be missing, or any single series when using per-series signals. The signal not exists option requires a sustain duration between 5 minutes and 24 hours. -
The fields for defining resolution time depend on the comparison selector you choose.
For Resolve when clear for, enter a time period for the resolve window in the
Resolve field as a value followed by an abbreviated unit such as
30s. Valid units ares(seconds),m(minutes),h(hours), ord(days). When Alert when value uses one of these comparisons: greater than>, greater than or equal to>=, less than<, or less than or equal to<=, set a Resolve threshold.- Click Add threshold.
- Enter a Resolve value. The alert doesn’t clear until the series crosses that separate boundary. If you omit this section, resolution uses the same threshold as the trigger. See Resolve threshold.
-
In the Monitor schedule section, choose when Observability Platform
evaluates the monitor and can send alerts:
- Always on: The monitor is evaluated continuously and can alert whenever conditions are met. This is the default behavior when you don’t restrict evaluation windows.
-
Scheduled: The monitor is evaluated only during the time windows you
define.
- Select Time zone for the schedule.
- For each time window, set Start and End using 24-hour times in
HH:MMform. - Under Repeat every, select the days of the week that window applies to.
- Use Add range to add more than one weekly window.
- Disabled: The monitor doesn’t send alerts. Use this mode to keep the monitor definition without active alerting.
24:00instead of23:59, see Schedule in the monitor data model. - Add notes for the monitor in the Annotations section, such as runbook summaries and descriptions.
- Optional: In the Links section, add templated links to dashboards, Logs Explorer, and external runbooks.
- Optional: To customize the notification title and description, configure a notification template.
- Click Save.
Edit a monitor
Select from the following methods to edit monitors.Users can modify Terraform-managed resources only by using Terraform.
Learn more.
- Web
- Chronoctl
- Terraform
- API
To edit a monitor:When editing a monitor, use the same interface as when you created it.
- In the navigation menu, select Alerting > Monitors.
- Click the name of the monitor you want to edit.
- On the monitor’s page, click Edit in the page header. The Edit monitor drawer opens with the same fields as when you create a monitor.
- Make your edits, and then click Save. Refer to the monitor data model for specific definitions.
Override a monitor alert
You can override the default conditions that define when an alert triggers for a monitor. This override is similar to overriding a notification policy that routes a notification to a notifier other than the specified default. On a monitor, you can specify a condition override to use a separate threshold for certain series. For example, a monitor might have a default threshold of>100 but
you specify an override threshold of >50 where the label key-value pair is
cluster=production.
You can specify any label as a matcher for a monitor condition override. If no
override matches the defined conditions, Observability Platform applies the default
conditions. Additionally:
- Overrides must specify at least one matcher, and meet every matcher condition to apply the override.
- Observability Platform evaluates overrides in the listed order. When an override matches, the remaining overrides and defaults are ignored.
- Overrides don’t inherit any properties from the default conditions. For example, if
the default policy route specifies
warnandcriticalnotifiers but the override specifies onlycriticalnotifiers, the notifier doesn’t sendwarnnotifications. - You can’t use
NOT_EXISTSorSIGNAL_NOT_EXISTSon override conditions; use them only on default conditions.
Users can modify Terraform-managed resources only by using Terraform.
Learn more.
- Web
- Terraform
- In the navigation menu, select Alerting > Monitors.
- Click the name of the monitor you want to specify an override for.
- On the monitor’s page, click Edit in the page header. The Edit monitor drawer opens.
- In the Condition Override section, click the plus icon to display the override fields.
- Select Exact or Regex as the matcher type, and enter the key-value pair to match on for the override.
- Select Critical or Warn as the override severity.
- Define the match condition and sustain duration.
- Optional: Set a Resolve threshold using the same rules as default conditions.
- Click Save to apply the override changes.
Delete a monitor
Select from the following methods to delete monitors.Users can modify Terraform-managed resources only by using Terraform.
Learn more.
- Web
- Chronoctl
- Terraform
- API
To delete a monitor:
- In the navigation menu, select Alerting > Monitors.
- Click the name of the monitor you want to delete.
- On the monitor’s page, click Edit in the page header. The Edit monitor drawer opens.
- In the drawer footer, click Delete monitor.
- In the confirmation dialog, click Delete.
Annotations
Annotations provide runbook summaries, descriptions, and other text context for on-call engineers diagnosing issues. You can template annotation values with alerting variables such as{{ $labels.LABEL }} and {{ $value }}, and add
templated links to dashboards,
Logs Explorer, and external runbooks.
For the full list of variables, Markdown formatting, and procedures to add
annotations in the app, Chronoctl, Terraform, and the API, see
Use annotations with monitors.
