Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,77 +5,74 @@
- link: https://docs.datadoghq.com/monitors/configuration/
tag: Documentation
text: Configure Monitors
title: Create an Integration-Monitor Template
title: Create a Monitor Template
description: Learn how to create a monitor for your integration.
---
## Overview

This guide provides steps for creating a monitor template and best practices to follow during the creation process.
This page guides Technology Partners through creating and packaging monitor templates with their official Datadog integration.

[Datadog Monitors][1] track key metrics, so you can efficiently monitor your infrastructure and integrations. Datadog provides a set of out-of-the-box monitors for many features and integrations. View these monitors in your [Monitors Template list][2].
[Datadog Monitors][1] continuously evaluate data (metrics, logs, events, and more) to detect conditions that indicate performance issues and availability risks. They act as proactive alerting tools that automatically notify users when behavior deviates from expected thresholds, enabling teams to take action before incidents impact customers.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[Datadog Monitors][1] continuously evaluate data (metrics, logs, events, and more) to detect conditions that indicate performance issues and availability risks. They act as proactive alerting tools that automatically notify users when behavior deviates from expected thresholds, enabling teams to take action before incidents impact customers.
[Datadog Monitors][1] continuously evaluate data (such as metrics, logs, and events) to detect conditions that indicate performance issues and availability risks. They act as proactive alerting tools that automatically notify users when behavior deviates from expected thresholds, enabling teams to take action before incidents impact customers.


Create an out-of-the-box monitor to help users find value in your Datadog integration. To create a Datadog integration, see [Create a New Integration][3].
For Technology Partners, monitors transform the telemetry your integration collects into actionable insights. When you package monitor templates, users can enable them directly from the [**Monitors > Templates**][2] page for faster setup and time to value.

## Create a monitor
In your Datadog sandbox, create a monitor.
At least one monitor template is required if your integration collects metrics.

{{< img src="developers/integrations/new_monitor.png" alt="The Monitors Template list in Datadog" style="width:100%;" >}}
## Building a monitor template
These steps assume you've [joined the Datadog Partner Network][3], have access to a partner developer organization, and have already [created a listing in the Developer Platform][4].

Check notice on line 22 in content/en/developers/integrations/create-an-integration-monitor-template.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.sentencelength

Suggestion: Try to keep your sentence length to 25 words or fewer.

1. [Determine which telemetry you want to monitor](#determine-which-telemetry-to-monitor).
2. [Create and configure a monitor][5] in your partner developer organization.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering if people might miss this step because it's a link out and not a section within this doc, and they may be following the page top to bottom. Maybe you could create a heading for this, equal to the other 3, and link out to the other doc from there?

3. [Test your monitor](#test-your-monitor).
4. [Add your monitor to your integration](#add-your-monitor-to-your-integration).

Follow the [best practices](#configuration-best-practices) listed in this guide to configure your monitor.
### Determine which telemetry to monitor
Start by reviewing the [full list of monitor types][6] to understand what kinds of telemetry you can alert on. As the product owner, you likely already know what's most valuable for users to track, but the examples below can help you identify common use cases.

Check notice on line 30 in content/en/developers/integrations/create-an-integration-monitor-template.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.sentencelength

Suggestion: Try to keep your sentence length to 25 words or fewer.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Start by reviewing the [full list of monitor types][6] to understand what kinds of telemetry you can alert on. As the product owner, you likely already know what's most valuable for users to track, but the examples below can help you identify common use cases.
Start by reviewing the [full list of monitor types][6] to understand what kinds of telemetry you can alert on. Determine the insights that matter most to your users. Refer to the examples below for common use cases and examples.


## Upload your monitor
Within your integration in the Integration Developer Platform, navigate to the Content tab. From there, select **import monitor** to choose from a list of available monitors. You can select up to 10 monitors to include with your integration.
#### Monitor your service's RED (rate, errors, duration) metrics
- Rate: Monitor the number of requests your service receives.
- Errors: Track how many of those requests fail.
- Duration: Measure how long those requests take (latency).
Comment on lines +33 to +35
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Rate: Monitor the number of requests your service receives.
- Errors: Track how many of those requests fail.
- Duration: Measure how long those requests take (latency).
- **Rate**: Monitor the number of requests your service receives.
- **Errors**: Track how many of those requests fail.
- **Duration**: Measure how long those requests take (latency).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a bit more skimmable with the bold


{{< img src="developers/integrations/content_tab.png" alt="The Content tab in the Integration Developer Platform" style="width:100%;" >}}


## Verify your monitor in production

To see the out-of-the-box monitor:
1. Find your detection rule in the Monitor Template list, and click to expand it.
2. Ensure logos render correctly.
3. Verify that the monitor is enabled.

Find your monitor in the [Monitors Template list][2]. Ensure logos render correctly on the Monitors Template lists page.

## Configuration best practices
#### Monitor your infrastructure
- CPU utilization: Track CPU usage to ensure they're neither under nor over-utilized, to prevent system slowdowns or application failures.
- Memory Utilization: Monitor how much system memory is being used to detect and prevent issues like memory leaks or crashes.
- Storage: Monitor disk space to prevent problems such as data loss, service interruptions, or write failures.
Comment on lines +38 to +40
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- CPU utilization: Track CPU usage to ensure they're neither under nor over-utilized, to prevent system slowdowns or application failures.
- Memory Utilization: Monitor how much system memory is being used to detect and prevent issues like memory leaks or crashes.
- Storage: Monitor disk space to prevent problems such as data loss, service interruptions, or write failures.
- **CPU utilization**: Track CPU usage to ensure they're neither under nor over-utilized, to prevent system slowdowns or application failures.
- **Memory utilization**: Monitor how much system memory is being used to detect and prevent issues like memory leaks or crashes.
- **Storage**: Monitor disk space to prevent problems such as data loss, service interruptions, or write failures.


In addition to the monitor definition, the [Title](#title), [Description](#description), and Tags fields are required for monitor templates. Set tags to "integration:<app_id>", see other available monitor tags [here][8]. For more information, see the documentation on [configuring a monitor][7].
#### Monitor your logs
- Error spikes: Alert when error logs exceed a threshold, such as repeated `connection refused` or `timeout` messages within a short period.
- Missing activity: Detect when expected logs stop appearing, indicating a stalled process or failed service.
Comment on lines +43 to +44
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Error spikes: Alert when error logs exceed a threshold, such as repeated `connection refused` or `timeout` messages within a short period.
- Missing activity: Detect when expected logs stop appearing, indicating a stalled process or failed service.
- **Error spikes**: Alert when error logs exceed a threshold, such as repeated `connection refused` or `timeout` messages within a short period.
- **Missing activity**: Detect when expected logs stop appearing, indicating a stalled process or failed service.


### Title
## Test your monitor

The title allows users to quickly understand the underlying failure mode the alert is covering.
- Use the active voice and start with an object followed by a verb.
- Do not use template variables.
1. Ingest telemetry that triggers your monitor.
2. Navigate to the [Monitor list][7] page and select your monitor.
3. Confirm that your monitor is triggered as expected.
- Use [Status Events][8] to view when your monitor was triggered and review details for each event.
Comment on lines +50 to +51
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. Confirm that your monitor is triggered as expected.
- Use [Status Events][8] to view when your monitor was triggered and review details for each event.
3. Confirm that your monitor is triggered as expected. Use [Status Events][8] to view when your monitor was triggered and review details for each event.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a style preference, but I'd pull this up onto the same line.


## Add your monitor to your integration
After your monitor is created and tested, add it to your listing in the Developer Platform. When your integration is published, the monitor becomes a searchable template linked to your integration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
After your monitor is created and tested, add it to your listing in the Developer Platform. When your integration is published, the monitor becomes a searchable template linked to your integration.
After you've created and tested your monitor, add it to your listing in the Developer Platform. When your integration is published, the monitor becomes a searchable template linked to your integration.


| Needs revision | Better | Best |
| ----------- | ----------- | ----------- |
|High Unacknowledged Messages reported on {{host.name}}| High Unacknowledged Messages reported |Unacknowledged Messages are higher than usual|

### Description

Provides extra context around the failure mode and also about the impact this mode can have on the system. It should allow users to understand at a glance whether it is relevant or not for them to create a monitor out of it.

- This is not a copy of the title.
- Define the problem stated by the title.
- Answer why this is an issue worth alerting on.
- Describe the impact of the problem.
{{< img src="developers/integrations/content_tab.png" alt="The Content tab in the Integration Developer Platform" style="width:100%;" >}}

| Needs revision | Better | Best |
| ----------- | ----------- | ----------- |
|Notify your team when unacked message are high. | Unacked messages are those that have been delivered to a consumer but have not been acknowledged as processed or handled. This monitor tracks the ratio of unacked messages.|Unacked messages are those that have been delivered to a consumer but have not been acknowledged as processed or handled. This monitor tracks the ratio of unacked messages to avoid potential bottlenecks which could lead to delays in message processing.|
1. In the Developer Platform, go to the **Content** tab.
2. Click **Import Monitor**.
3. Search for and select the monitor you created. You can include up to 10 monitors per integration.
4. For each monitor, provide the following:
- **Display Name**: A concise title that clearly communicates what the alert covers. Use active voice (for example, Database latency exceeds threshold).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Display Name**: A concise title that clearly communicates what the alert covers. Use active voice (for example, Database latency exceeds threshold).
- **Display Name**: A concise title that clearly communicates what the alert covers. Use active voice (for example, `Database latency exceeds threshold`).

- **Description**: A short explanation that helps users decide whether the monitor is relevant to them. Describe why this alert matters and what impact it addresses.
<div class="alert alert-info">These values are displayed on the [**Monitors > Templates**][2] page.</div>
Comment on lines +63 to +64
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Description**: A short explanation that helps users decide whether the monitor is relevant to them. Describe why this alert matters and what impact it addresses.
<div class="alert alert-info">These values are displayed on the [**Monitors > Templates**][2] page.</div>
- **Description**: A short explanation that helps users decide whether the monitor is relevant to them. Describe why this alert matters and what impact it addresses. (These values are displayed on the [**Monitors > Templates**][2] page.)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed this one partly because the HTML was going to get real ugly with the link, bold, and >. 😄 Let me know if you feel strongly, we can keep it as a callout if you prefer.

5. Click **Import**, then **Save Changes**.

## Further Reading

{{< partial name="whats-next/whats-next.html" >}}

[1]: https://docs.datadoghq.com/monitors/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[1]: https://docs.datadoghq.com/monitors/
[1]: /monitors/

[2]: https://app.datadoghq.com/monitors/recommended
[3]: https://docs.datadoghq.com/developers/integrations/agent_integration/
[4]: https://app.datadoghq.com/monitors/create
[5]: https://docs.datadoghq.com/developers/integrations/check_references/#manifest-file
[6]: https://github.com/DataDog/integrations-extras
[7]: https://docs.datadoghq.com/monitors/configuration/
[8]: https://docs.datadoghq.com/monitors/manage/#monitor-tags
[9]: https://github.com/DataDog/marketplace
[2]: https://app.datadoghq.com/monitors/templates
[3]: /developers/integrations/?tab=integrations#join-the-datadog-partner-network
[4]: /developers/integrations/build_integration/#create-a-listing
[5]: https://docs.datadoghq.com/getting_started/monitors/#create-a-monitor
[6]: https://docs.datadoghq.com/monitors/types/
Comment on lines +75 to +76
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[5]: https://docs.datadoghq.com/getting_started/monitors/#create-a-monitor
[6]: https://docs.datadoghq.com/monitors/types/
[5]: /getting_started/monitors/#create-a-monitor
[6]: /monitors/types/

[7]: https://app.datadoghq.com/monitors/manage
[8]: https://docs.datadoghq.com/monitors/status/events/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[8]: https://docs.datadoghq.com/monitors/status/events/
[8]: /monitors/status/events/

Loading