From bdda17f060faa87eb83035bd7555d8de416bb55a Mon Sep 17 00:00:00 2001 From: Cody De Arkland Date: Wed, 29 Jan 2025 03:22:17 -0800 Subject: [PATCH 01/14] added uptime monitors and clarified crons --- docs/pricing/index.mdx | 56 ++++++++++++++++--- .../issue-details/uptime-issues/index.mdx | 2 - 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/docs/pricing/index.mdx b/docs/pricing/index.mdx index 14c101d94ca78a..6d28759ea1e4fd 100644 --- a/docs/pricing/index.mdx +++ b/docs/pricing/index.mdx @@ -76,15 +76,15 @@ Tracing is enabled by and will be billed for in spans. #### Cron Monitors Pricing -All Sentry plans include **one cron monitor**. To activate additional monitors, set up a **Pay-As-You-Go (PAYG) budget**. Additional monitors can't be purchased in advance; they are only available through your PAYG budget, which can be shared across all event types. +All Sentry plans include **one cron monitor**. To activate additional cron monitors, set up a **Pay-As-You-Go (PAYG) budget**. Additional cron monitors can't be purchased in advance; they are only available through your PAYG budget, which can be shared across all event types. **Key Points:** -- **Deactivating or Deleting Monitors**: +- **Deactivating or Deleting Cron Monitors**: - Deactivated or deleted monitors will **count** towards your billing quota if they were previously active in the current billing period. Otherwise, they won't count towards your billing quota. - Their quota becomes **reusable** within the **same billing period**. -- **Activating Monitors**: - - Sentry first uses any **reusable quota** from monitors deactivated or deleted in the current billing period. +- **Activating Cron Monitors**: + - Sentry first uses any **reusable quota** from cron monitors deactivated or deleted in the current billing period. - If none is available, your **reserved quota** or **PAYG budget** is used. @@ -93,23 +93,61 @@ All Sentry plans include **one cron monitor**. To activate additional monitors, - **Quota Reuse Limitations**: - Only available **within the same billing period**. - - Applies to monitors that were previously active and billed. + - Applies to cron monitors that were previously active and billed. - **Reusable Quota Does Not Carry Over**: - Reusable quota **does not carry over** to new billing periods. -**Monitors Across Billing Periods:** +**Cron Monitors Across Billing Periods:** -- Monitors remain active across billing periods if you have sufficient **reserved quota** or **PAYG budget**. -- Monitors may be automatically deactivated if there's insufficient budget. -- Monitors that have been manually deactivated or deleted remain in that state. +- Cron monitors remain active across billing periods if you have sufficient **reserved quota** or **PAYG budget**. +- Cron monitors may be automatically deactivated if there's insufficient budget. +- Cron monitors that have been manually deactivated or deleted remain in that state. | Team PAYG | Business PAYG | | ---------- | -------------- | | $0.7800000 | $0.7800000 | +#### Uptime Monitors Pricing + +All Sentry plans include **one uptime monitor**. To activate additional uptime monitors, set up a **Pay-As-You-Go (PAYG) budget**. Additional uptime monitors can't be purchased in advance; they are only available through your PAYG budget, which can be shared across all event types. + +**Key Points:** + +- **Deactivating or Deleting Uptime Monitors**: + - Deactivated or deleted uptime monitors will **count** towards your billing quota if they were previously active in the current billing period. Otherwise, they won't count towards your billing quota. + - Their quota becomes **reusable** within the **same billing period**. +- **Activating Uptime Monitors**: + - Sentry first uses any **reusable quota** from uptime monitors deactivated or deleted in the current billing period. + - If none is available, your **reserved quota** or **PAYG budget** is used. + + + +**Important:** + +- **Quota Reuse Limitations**: + - Only available **within the same billing period**. + - Applies to uptime monitors that were previously active and billed. +- **Reusable Quota Does Not Carry Over**: + - Reusable quota **does not carry over** to new billing periods. + + + +**Uptime Monitors Across Billing Periods:** + +- Uptime monitors remain active across billing periods if you have sufficient **reserved quota** or **PAYG budget**. +- Uptime monitors may be automatically deactivated if there's insufficient budget. +- Uptime monitors that have been manually deactivated or deleted remain in that state. + + +| Team PAYG | Business PAYG | +| ---------- | -------------- | +| $0.7800000 | $0.7800000 | + + + #### Attachments Pricing (per GB) | Attachment Size | Team Reserved | Team PAYG | Business Reserved | Business PAYG | diff --git a/docs/product/issues/issue-details/uptime-issues/index.mdx b/docs/product/issues/issue-details/uptime-issues/index.mdx index f72b6d5b32127e..2e7e6d6f22ecf7 100644 --- a/docs/product/issues/issue-details/uptime-issues/index.mdx +++ b/docs/product/issues/issue-details/uptime-issues/index.mdx @@ -4,8 +4,6 @@ sidebar_order: 40 description: "Learn how to use the information on the Issue Details page to debug an error issue." --- - - An uptime issue is a grouping of detected downtime events for a specific URL. A downtime event is generated by active uptime alerts when HTTP requests fail to meet our [uptime check criteria](/product/alerts/uptime-monitoring/#uptime-check-criteria). From 3842cc4a66cf431ad02f05fbf01227bdf4dcd1d0 Mon Sep 17 00:00:00 2001 From: Cody De Arkland Date: Wed, 29 Jan 2025 03:23:04 -0800 Subject: [PATCH 02/14] removing beta text from doc --- docs/product/alerts/uptime-monitoring/index.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/product/alerts/uptime-monitoring/index.mdx b/docs/product/alerts/uptime-monitoring/index.mdx index 9708b1dacc0a84..8f509a433ba8be 100644 --- a/docs/product/alerts/uptime-monitoring/index.mdx +++ b/docs/product/alerts/uptime-monitoring/index.mdx @@ -4,8 +4,6 @@ sidebar_order: 50 description: "Learn how to help maintain uptime for your web services by monitoring relevant URLs with Sentry's Uptime Monitoring." --- - - Sentry's Uptime Monitoring lets you monitor the availability and reliability of your web services effortlessly. Once enabled, it continuously tracks configured URLs, delivering instant alerts and insights to quickly identify downtime and troubleshoot issues. By leveraging [distributed tracing](/concepts/key-terms/tracing/distributed-tracing/), Sentry enables you to pinpoint any errors that occur during an uptime check, simplifying triage and accelerating root cause analysis. This helps you enhance both the reliability and uptime of your web services. From 171d3a0fe58cf2a257f6f8963b86ac803f045bfd Mon Sep 17 00:00:00 2001 From: Cody De Arkland Date: Fri, 31 Jan 2025 00:02:49 -0800 Subject: [PATCH 03/14] correcting pricing for uptime monitors --- docs/pricing/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pricing/index.mdx b/docs/pricing/index.mdx index 6d28759ea1e4fd..df49a934752aae 100644 --- a/docs/pricing/index.mdx +++ b/docs/pricing/index.mdx @@ -144,7 +144,7 @@ All Sentry plans include **one uptime monitor**. To activate additional uptime m | Team PAYG | Business PAYG | | ---------- | -------------- | -| $0.7800000 | $0.7800000 | +| $1.00 | $1.00 | From 68fa560b8713149e0580750451aa6cbd6ed854e6 Mon Sep 17 00:00:00 2001 From: Cody De Arkland Date: Fri, 31 Jan 2025 00:05:35 -0800 Subject: [PATCH 04/14] Adding uptime to data storage locations --- docs/organization/data-storage-location/index.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/organization/data-storage-location/index.mdx b/docs/organization/data-storage-location/index.mdx index 00ba4bc2ef0eaf..fc1eb74cf8b478 100644 --- a/docs/organization/data-storage-location/index.mdx +++ b/docs/organization/data-storage-location/index.mdx @@ -46,6 +46,7 @@ Here’s a list of the types of data that may be stored in the US. - Organization audit logs - Issue activity, issue links - Cron check-ins +- Uptime checks - Project metadata - DSN keys - Detailed usage data From 3aefcc5375561d14415c03519d382b2d101edcae Mon Sep 17 00:00:00 2001 From: Cody De Arkland Date: Mon, 3 Feb 2025 09:19:52 -0800 Subject: [PATCH 05/14] removing beta text and clarifying automatic instrumentation --- docs/product/alerts/uptime-monitoring/automatic-detection.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/product/alerts/uptime-monitoring/automatic-detection.mdx b/docs/product/alerts/uptime-monitoring/automatic-detection.mdx index 60516ece0213f2..144ead13d3bf00 100644 --- a/docs/product/alerts/uptime-monitoring/automatic-detection.mdx +++ b/docs/product/alerts/uptime-monitoring/automatic-detection.mdx @@ -4,11 +4,9 @@ sidebar_order: 51 description: "Learn how automatic detection of uptime monitoring works." --- - - In order to be able to automatically detect uptime alerts, we analyze all the URLs detected in your project's captured error data to find the hostname that appears most frequently. This helps ensure that your most critical hostname is continuously monitored, enhancing the reliability and availability of your web services. We then create an uptime alert if it passes our [uptime check criteria](/product/alerts/uptime-monitoring/#uptime-check-criteria). Automatic uptime checks are configured to run once a minute as GET requests. - +The automatic creation of Uptime Monitors only happens if there are no other existing uptime monitors configured. To avoid creating flaky alerts, the hostname undergoes an "onboarding period" of three days. During this period, we send HTTP requests to the hostname every hour. If the request fails three times or more, the hostname will be dropped and re-evaluated after seven days. From 5580a4d1edfc0363f22acbb97c4f8072c74be45a Mon Sep 17 00:00:00 2001 From: Cody De Arkland Date: Mon, 3 Feb 2025 11:48:42 -0800 Subject: [PATCH 06/14] Clarifications on deactivation note Co-authored-by: Alex Krawiec --- docs/pricing/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pricing/index.mdx b/docs/pricing/index.mdx index df49a934752aae..f791d40a2ac3e3 100644 --- a/docs/pricing/index.mdx +++ b/docs/pricing/index.mdx @@ -117,7 +117,7 @@ All Sentry plans include **one uptime monitor**. To activate additional uptime m **Key Points:** - **Deactivating or Deleting Uptime Monitors**: - - Deactivated or deleted uptime monitors will **count** towards your billing quota if they were previously active in the current billing period. Otherwise, they won't count towards your billing quota. + - Deactivated or deleted uptime monitors will **count** towards your billing quota only if they were previously active in the current billing period. - Their quota becomes **reusable** within the **same billing period**. - **Activating Uptime Monitors**: - Sentry first uses any **reusable quota** from uptime monitors deactivated or deleted in the current billing period. From efb5f42374bc3451c34dab7c85031ea2d1432b33 Mon Sep 17 00:00:00 2001 From: Gabriel Lopes Date: Tue, 4 Feb 2025 12:07:32 -0800 Subject: [PATCH 07/14] Add cautionary note about sensitive data in HTTP headers for uptime checks --- docs/product/alerts/create-alerts/uptime-alert-config.mdx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/product/alerts/create-alerts/uptime-alert-config.mdx b/docs/product/alerts/create-alerts/uptime-alert-config.mdx index 787d7e3227a232..66cbe0cb2b3a32 100644 --- a/docs/product/alerts/create-alerts/uptime-alert-config.mdx +++ b/docs/product/alerts/create-alerts/uptime-alert-config.mdx @@ -26,12 +26,18 @@ Configure how Sentry should execute an HTTP uptime check, by specifying: - **Method**: The request method used to execute the uptime check. Available options are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `PATCH`, and `OPTIONS`. - **Headers**: The request headers included in the uptime check request. - **Body**: The body message to include in the uptime check request. (This is only available when the method is set to `POST`, `PUT`, and `PATCH`.) -- **Allow Sampling**: Enable "Allow Sampling" to let the Sentry SDK handle span sampling for requests. See the [distributed tracing with uptime](/product/alerts/uptime-monitoring/uptime-tracing/) docs for more detail. +- **Allow Sampling**: Enable "Allow Sampling" to let the Sentry SDK handle span sampling for requests. See the [distributed tracing with uptime](/product/alerts/uptime-monitoring/uptime-tracing/) docs for more detail. Make sure to include a `Content-Type` header in your headers configuration in case the specified URL requires it. For example, a JSON message body would have a `Content-Type` header of `application/json`. +It’s common to configure HTTP headers with sensitive data, such as API tokens or personal information. Use caution when adding headers to avoid unintentionally storing or exposing sensitive data. + + + + + If the specified URL is behind a firewall, make sure Sentry's Uptime Bot can execute requests to it. [Learn more](/product/alerts/uptime-monitoring/troubleshooting/#verify-firewall-configuration). From 4ea717ffcd6bc104a9d3dc50a66434a2ae790269 Mon Sep 17 00:00:00 2001 From: Gabriel Lopes Date: Tue, 4 Feb 2025 12:56:24 -0800 Subject: [PATCH 08/14] Add warning about uptime monitoring data storage locations --- docs/organization/data-storage-location/index.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/organization/data-storage-location/index.mdx b/docs/organization/data-storage-location/index.mdx index fc1eb74cf8b478..146e03c2b669a1 100644 --- a/docs/organization/data-storage-location/index.mdx +++ b/docs/organization/data-storage-location/index.mdx @@ -56,6 +56,12 @@ Here’s a list of the types of data that may be stored in the US. Metadata that lets Sentry identify an organization will be replicated out of the organization's data storage location to facilitate login, and backwards-compatible APIs. You can always confirm the location of your organization by viewing your organization's settings page. + + +For uptime monitoring to work effectively, we perform uptime checks from multiple geolocations. As a result, uptime check data may be stored outside your selected data region, beyond the storage commitments outlined on this page. + + + ## Using Data Storage Location APIs To ensure that your API requests are only processed within your selected data storage location, use the region-specific domain: From 4bb2e14d30268f1fce12ae988e7f6708b00d975f Mon Sep 17 00:00:00 2001 From: Gabriel Lopes Date: Tue, 4 Feb 2025 13:14:20 -0800 Subject: [PATCH 09/14] Remove beta stage references from uptime monitoring documentation --- docs/product/alerts/alert-types.mdx | 3 --- docs/product/alerts/create-alerts/uptime-alert-config.mdx | 2 -- docs/product/alerts/uptime-monitoring/troubleshooting.mdx | 2 -- includes/feature-stage-beta-uptime.mdx | 6 ------ 4 files changed, 13 deletions(-) delete mode 100644 includes/feature-stage-beta-uptime.mdx diff --git a/docs/product/alerts/alert-types.mdx b/docs/product/alerts/alert-types.mdx index dc41e454b84938..bac6f85bd9f3eb 100644 --- a/docs/product/alerts/alert-types.mdx +++ b/docs/product/alerts/alert-types.mdx @@ -116,11 +116,8 @@ The **Alert Details** page also includes a list of suspect issues or transaction ## Uptime Alerts - - Uptime alerts trigger whenever an uptime check request fails to meet our [uptime check criteria](/product/alerts/uptime-monitoring/#uptime-check-criteria). You'll be able to see the latest uptime check request status ("Up" or "Down") in the “Alert Rules” tab. - ### Alert Details Page The **Alert Details** page shows a list of uptime issues that were created by the alert. Clicking on any of the issues will take you to a page with additional information that may help you debug that issue. diff --git a/docs/product/alerts/create-alerts/uptime-alert-config.mdx b/docs/product/alerts/create-alerts/uptime-alert-config.mdx index 66cbe0cb2b3a32..eff45f444f923e 100644 --- a/docs/product/alerts/create-alerts/uptime-alert-config.mdx +++ b/docs/product/alerts/create-alerts/uptime-alert-config.mdx @@ -4,8 +4,6 @@ sidebar_order: 30 description: "Learn more about the options for configuring an uptime alert." --- - - Sentry provides several configuration options for creating an uptime alert based on your organization's needs as explained below. ## 1. Environment diff --git a/docs/product/alerts/uptime-monitoring/troubleshooting.mdx b/docs/product/alerts/uptime-monitoring/troubleshooting.mdx index 26b446512118a9..779f09b21c1078 100644 --- a/docs/product/alerts/uptime-monitoring/troubleshooting.mdx +++ b/docs/product/alerts/uptime-monitoring/troubleshooting.mdx @@ -4,8 +4,6 @@ sidebar_order: 53 description: "Learn how to troubleshoot potential Uptime Monitoring problems." --- - - ## Verify Firewall Configuration Some hosting platforms can block incoming requests from Sentry's Uptime Bot, falsely triggering uptime alerts. We recommend verifying your firewall configuration to ensure incoming requests from Sentry are allowed. diff --git a/includes/feature-stage-beta-uptime.mdx b/includes/feature-stage-beta-uptime.mdx deleted file mode 100644 index e1a6a3aaece431..00000000000000 --- a/includes/feature-stage-beta-uptime.mdx +++ /dev/null @@ -1,6 +0,0 @@ - - -Sentry Uptime Monitoring is currently in open beta, so be gentle - features are still in-progress and may have bugs. We recognize the irony. -For any questions or feedback, you can reach us on [Github Discussions](https://github.com/getsentry/sentry/discussions/78100). - - From b7b60cc2bc982695add8a377371af40aa3b14636 Mon Sep 17 00:00:00 2001 From: Gabriel Lopes Date: Tue, 4 Feb 2025 13:20:32 -0800 Subject: [PATCH 10/14] Add uptime checks to unsupported data relocation documentation --- docs/organization/data-storage-location/index.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/organization/data-storage-location/index.mdx b/docs/organization/data-storage-location/index.mdx index 146e03c2b669a1..45f0a31d367344 100644 --- a/docs/organization/data-storage-location/index.mdx +++ b/docs/organization/data-storage-location/index.mdx @@ -100,6 +100,7 @@ If you have a self-hosted Sentry account, you can [follow these instructions](/c - Profiles - Session Replays - Cron check-ins +- Uptime checks - DSN keys - Release health - Releases, Debug Symbols, and source maps From 2c7a0b32fbc1abe922be414be1a2e6f62d17063f Mon Sep 17 00:00:00 2001 From: Gabriel Lopes Date: Tue, 4 Feb 2025 16:06:22 -0800 Subject: [PATCH 11/14] Add uptime checks to the list of data stored in both US and EU locations --- docs/organization/data-storage-location/index.mdx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/organization/data-storage-location/index.mdx b/docs/organization/data-storage-location/index.mdx index 45f0a31d367344..568a6441b886b7 100644 --- a/docs/organization/data-storage-location/index.mdx +++ b/docs/organization/data-storage-location/index.mdx @@ -46,7 +46,6 @@ Here’s a list of the types of data that may be stored in the US. - Organization audit logs - Issue activity, issue links - Cron check-ins -- Uptime checks - Project metadata - DSN keys - Detailed usage data @@ -56,6 +55,12 @@ Here’s a list of the types of data that may be stored in the US. Metadata that lets Sentry identify an organization will be replicated out of the organization's data storage location to facilitate login, and backwards-compatible APIs. You can always confirm the location of your organization by viewing your organization's settings page. +### Data Stored in All Locations (US and EU) + +Here’s a list of the types of data that will be stored in both data storage location (US and EU). + +- Uptime checks + For uptime monitoring to work effectively, we perform uptime checks from multiple geolocations. As a result, uptime check data may be stored outside your selected data region, beyond the storage commitments outlined on this page. From cf442e0ee1bdc91f43d801907d2e7325bb2c7ff1 Mon Sep 17 00:00:00 2001 From: Gabriel Lopes Date: Wed, 5 Feb 2025 10:39:02 -0800 Subject: [PATCH 12/14] Uptime product updates (#12579) * Remove uptime monitoring section from early adopter features documentation * Move disable uptime error tracing to an expandable * add more info on uptime alert details page * fix typo in Alert Details description for uptime checks * Enhance uptime monitoring documentation with detailed failure criteria and notification setup * add reference to multi-region uptime monitoring support * Refine uptime alert configuration documentation for clarity and detail * Add Uptime Monitoring section to product documentation --- .../early-adopter-features/index.mdx | 1 - docs/product/alerts/alert-types.mdx | 6 ++- .../uptime-alert-expected-check-request.png | Bin 0 -> 32413 bytes .../img/uptime-alert-request-config.png | Bin 0 -> 95775 bytes .../create-alerts/uptime-alert-config.mdx | 35 +++++++++++------- .../alerts/uptime-monitoring/index.mdx | 12 ++++-- .../uptime-monitoring/uptime-tracing.mdx | 9 +++-- docs/product/index.mdx | 7 +++- 8 files changed, 44 insertions(+), 26 deletions(-) create mode 100644 docs/product/alerts/create-alerts/img/uptime-alert-expected-check-request.png create mode 100644 docs/product/alerts/create-alerts/img/uptime-alert-request-config.png diff --git a/docs/organization/early-adopter-features/index.mdx b/docs/organization/early-adopter-features/index.mdx index 13894593ba29c3..dc911802579a6e 100644 --- a/docs/organization/early-adopter-features/index.mdx +++ b/docs/organization/early-adopter-features/index.mdx @@ -21,6 +21,5 @@ Limitations: - [Issue Status](/product/issues/states-triage/) tags - [Span Summary](/product/performance/transaction-summary/#span-summary) - [Investigation Mode](/product/performance/retention-priorities/#investigation-mode) for retention priorities in Tracing -- [Uptime Monitoring](/product/alerts/uptime-monitoring/) - [Dynamic Alerts](/product/alerts/create-alerts/metric-alert-config/#dynamic-alerts) - [New Trace Explorer With App Metrics](/product/explore/new-trace-explorer/) diff --git a/docs/product/alerts/alert-types.mdx b/docs/product/alerts/alert-types.mdx index bac6f85bd9f3eb..9cd377dd3c63ac 100644 --- a/docs/product/alerts/alert-types.mdx +++ b/docs/product/alerts/alert-types.mdx @@ -118,9 +118,11 @@ The **Alert Details** page also includes a list of suspect issues or transaction Uptime alerts trigger whenever an uptime check request fails to meet our [uptime check criteria](/product/alerts/uptime-monitoring/#uptime-check-criteria). You'll be able to see the latest uptime check request status ("Up" or "Down") in the “Alert Rules” tab. -### Alert Details Page +### Alert Details + +The **Alert Details** page provides a timeline of uptime check events associated with the alert. This timeline allows you to track when and where failures occurred. Selecting a section of the timeline automatically updates the date range filter, enabling you to browse historical uptime check data. -The **Alert Details** page shows a list of uptime issues that were created by the alert. Clicking on any of the issues will take you to a page with additional information that may help you debug that issue. +The **Alert Details** page also includes a list of [uptime issues](/product/issues/issue-details/uptime-issues) that were created by the alert when uptime failures are detected. Clicking on any of the issues will take you to a page with additional information that may help you debug that issue. ## User Feedback Alerts diff --git a/docs/product/alerts/create-alerts/img/uptime-alert-expected-check-request.png b/docs/product/alerts/create-alerts/img/uptime-alert-expected-check-request.png new file mode 100644 index 0000000000000000000000000000000000000000..2605d050c4401ccc374bccb170cba457af6c149e GIT binary patch literal 32413 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 literal 0 HcmV?d00001 diff --git a/docs/product/alerts/create-alerts/img/uptime-alert-request-config.png b/docs/product/alerts/create-alerts/img/uptime-alert-request-config.png new file mode 100644 index 0000000000000000000000000000000000000000..286f6886bd11bbca8ffb3c6ea598db8aa062e8d3 GIT binary patch literal 95775 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 NU-!CBnbzH~e*m@T(&hjF literal 0 HcmV?d00001 diff --git a/docs/product/alerts/create-alerts/uptime-alert-config.mdx b/docs/product/alerts/create-alerts/uptime-alert-config.mdx index eff45f444f923e..88c4c80ef5f3bf 100644 --- a/docs/product/alerts/create-alerts/uptime-alert-config.mdx +++ b/docs/product/alerts/create-alerts/uptime-alert-config.mdx @@ -10,35 +10,42 @@ Sentry provides several configuration options for creating an uptime alert based First, specify which environment this alert rule belongs to. Any [uptime issues](/product/issues/issue-details/uptime-issues/) that will be created from this alert rule will then be set to your specified environment. -You'll notice that the “Environment” dropdown list you see here shows the same environments as the “Environment” dropdown in your project (not including hidden environments). +The “Environment” dropdown lists the same environments available in your project, excluding hidden ones. ## 2. Project -Specify which project your alert rule belongs to so that any [uptime issues](/product/issues/issue-details/uptime-issues/) you create will show up for that specific project. +Specify the project associated with your alert rule. Any [uptime issues](/product/issues/issue-details/uptime-issues/) created will appear under this project. ## 3. Request Configuration -Configure how Sentry should execute an HTTP uptime check, by specifying: +![Uptime alert request configuration](./img/uptime-alert-request-config.png) -- **URL**: The URL for which Sentry should execute an uptime check request. -- **Method**: The request method used to execute the uptime check. Available options are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `PATCH`, and `OPTIONS`. -- **Headers**: The request headers included in the uptime check request. -- **Body**: The body message to include in the uptime check request. (This is only available when the method is set to `POST`, `PUT`, and `PATCH`.) -- **Allow Sampling**: Enable "Allow Sampling" to let the Sentry SDK handle span sampling for requests. See the [distributed tracing with uptime](/product/alerts/uptime-monitoring/uptime-tracing/) docs for more detail. +Configure how Sentry performs HTTP uptime checks by setting the following options: -Make sure to include a `Content-Type` header in your headers configuration in case the specified URL requires it. For example, a JSON message body would have a `Content-Type` header of `application/json`. +- **Interval**: The time between each uptime check. Options: `1 minute`, `5 minutes`, `10 minutes`, `20 minutes`, `30 minutes`, and `1 hour`. +- **Timeout**: The maximum time Sentry waits for a response before considering the request a failure (up to 30 seconds). +- **URL**: The target URL for the uptime check. +- **Method**: The HTTP method used (`GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `PATCH`, or `OPTIONS`). +- **Headers**: Custom headers included in the request. +- **Body**: The request payload, available for `POST`, `PUT`, and `PATCH` methods. +- **Allow Sampling**: Enables span sampling for requests via the Sentry SDK. See [distributed tracing with uptime](/product/alerts/uptime-monitoring/uptime-tracing/) for details. -It’s common to configure HTTP headers with sensitive data, such as API tokens or personal information. Use caution when adding headers to avoid unintentionally storing or exposing sensitive data. +When adding HTTP headers, be cautious of including sensitive data, such as API tokens or personal information, to prevent unintended exposure or storage. - +![Uptime alert expected request](./img/uptime-alert-expected-check-request.png) -If the specified URL is behind a firewall, make sure Sentry's Uptime Bot can execute requests to it. [Learn more](/product/alerts/uptime-monitoring/troubleshooting/#verify-firewall-configuration). +Below the request configuration, you'll find an example of the expected request that Sentry will send to the specified URL, including the method, headers, and body. Sentry automatically adds `User-Agent` and `Sentry-Trace` headers. - +Additional notes: + +- Include a `Content-Type` header if required by the target URL. For example, a JSON payload should have `Content-Type: application/json`. +- The selected interval affects downtime detection speed. Sentry triggers an uptime issue after three consecutive failures. For instance, with a 5-minute interval, downtime is detected at least 15 minutes after the first failure. Learn more about the [uptime check criteria](/product/alerts/uptime-monitoring/#uptime-check-criteria). +- In case the specified URL is behind a firewall, make sure Sentry's Uptime Bot can execute requests to it. [Learn more](/product/alerts/uptime-monitoring/troubleshooting/#verify-firewall-configuration). +- Sentry Uptime Tracing automatically appends a sentry-trace header to outgoing requests for distributed tracing. [Learn more](/product/alerts/uptime-monitoring/uptime-tracing/). ## 4. Alert Name @@ -46,4 +53,4 @@ Give your alert a descriptive name, for example, "Landing Page" or "Contact Page ## 5. Ownership -Lastly, choose a team to associate with your alert so that members of that team are able to edit the alert if they want to. Note, that you can only add teams that you're a member of. If no team is assigned, anyone will be able to edit the alert. +Assign a team or team member to manage the alert. If no team is assigned, any user can modify the alert. [Uptime issues](/product/issues/issue-details/uptime-issues/) created from this alert rule will be set to the specified team or team member. diff --git a/docs/product/alerts/uptime-monitoring/index.mdx b/docs/product/alerts/uptime-monitoring/index.mdx index 8f509a433ba8be..3bab78517599cc 100644 --- a/docs/product/alerts/uptime-monitoring/index.mdx +++ b/docs/product/alerts/uptime-monitoring/index.mdx @@ -28,10 +28,16 @@ Our uptime monitoring system verifies the availability of your URLs by performin If a DNS issue is detected, the check will be marked as a failure, allowing you to address the underlying connectivity problems. -## Notifications +### Uptime Check Failures + +An uptime alert continuously monitors the configured URL with the criteria defined above. If a failure occurs, +a new [uptime issue](/product/issues/issue-details/uptime-issues/) is created, including details about the failed check and related errors. + +To prevent false alerts caused by temporary network issues, **an issue is only generated after three consecutive failures** following the initial detection of downtime. Additionally, uptime checks are performed from a variety of geographical locations in a round-robin fashion. This ensures that each failed check comes from a different region, reducing the likelihood of false positives due to localized network failures. -An uptime alert continuously monitors the configured URL with the criteria defined above. If a failure is detected, -a new [uptime issue](/product/issues/issue-details/uptime-issues/) with the failed check and related error details will be created. To avoid triggering false alerts due to transient issues like network glitches, new issues will only be created after a minimum of three consecutive failures have been detected, following the initial downtime detection. +_In rare cases where Sentry is unable to perform a scheduled uptime check—such as during outages—the check status will be marked as "Unknown"._ + +## Notifications To start getting notifications for a new downtime issue, [configure an issue alert](/product/alerts/create-alerts/issue-alert-config/) and choose the issue category "uptime". Then choose how you'd like to be notified (via email, Slack, and so on). diff --git a/docs/product/alerts/uptime-monitoring/uptime-tracing.mdx b/docs/product/alerts/uptime-monitoring/uptime-tracing.mdx index 8f48bfa059cf37..3342ebaa29fdef 100644 --- a/docs/product/alerts/uptime-monitoring/uptime-tracing.mdx +++ b/docs/product/alerts/uptime-monitoring/uptime-tracing.mdx @@ -29,9 +29,8 @@ Error tracing is enabled by default for uptime checks. When downtime is detected Because uptime requests won't override your SDK’s error sampling rate, some errors may not appear in traces if that rate is set to below 1. -### Disabling Uptime Error Tracing - -To disable error tracing for uptime checks, configure a [before send](/platform-redirect/?next=/configuration/filtering/) filter in your SDK to ignore errors from Sentry's `User-Agent`. Here's an example: + + To disable error tracing for uptime checks, configure a [before send](/platform-redirect/?next=/configuration/filtering/) filter in your SDK to ignore errors from Sentry's `User-Agent`. Here's an example: ```typescript {tabTitle: Node.js Express} {filename: instrument.mjs} import * as Sentry from "@sentry/node"; @@ -53,6 +52,8 @@ Sentry.init({ }); ``` + + ## Tracing Spans Unlike error tracing, span tracing is **disabled** by default for uptime checks, but can be enabled by allowing sampling in your Uptime Alert settings. Enabling span tracing can be helpful because it provides a detailed view of the timing and flow of requests and operations during uptime checks, which is especially useful for diagnosing timeouts or performance issues. @@ -94,4 +95,4 @@ Sentry.init({ ## Billing Considerations - Errors and spans captured during uptime checks are [billed as regular events](https://sentry.io/pricing/) in Sentry. Configure sampling thoughtfully to manage costs. +Errors and spans captured during uptime checks are [billed as regular events](https://sentry.io/pricing/) in Sentry. Configure sampling thoughtfully to manage costs. diff --git a/docs/product/index.mdx b/docs/product/index.mdx index aa79177d015ab1..483d7a0d1ca68b 100644 --- a/docs/product/index.mdx +++ b/docs/product/index.mdx @@ -1,7 +1,7 @@ --- title: Product Walkthroughs sidebar_order: 30 -description: "Sentry can be used to not just observe, but debug errors as well as identify performance issues. Check out our product walkthroughs to see it in action." +description: "Sentry can be used to not just observe, but debug errors as well as identify performance issues. Check out our product walkthroughs to see it in action." --- ## What's Sentry? @@ -39,7 +39,6 @@ Our performance monitoring feature helps you track application performance, meas - Sentry helps you discover and act on [**trends**](/product/performance/trends/) before they become a bigger problem by surfacing transactions whose performance has changed significantly over time. - Sentry provides insights to help you monitor your app's performance. This includes web vitals, mobile vitals, queries, HTTP requests, and more. You can drill into event samples to investigate variations in performance. - ### Release Health Monitoring Giving Sentry visibility into your [**releases**](/product/releases/) makes it possible to see the moment a release starts to degrade so you can quickly take action. You get real-time visibility across your releases, allowing you to see core metrics like crash-free sessions, version adoption, and failure rate. @@ -50,6 +49,10 @@ Releases are integrated with the rest of Sentry so you can directly see how an e Our [**LLM Monitoring**](/product/insights/llm-monitoring/) feature gives you insights into your AI pipelines within the broader context of your app. When you `pip install sentry` into a project that's also using an AI provider like OpenAI, Sentry will automatically pick up useful metrics like token usage, prompts, and model IDs, and send them to our LLM Monitoring dashboard. +### Uptime Monitoring + +[**Uptime Monitoring**](/product/alerts/uptime-monitoring/) helps you maintain uptime for your web services by monitoring relevant URLs with Sentry. It continuously tracks configured URLs, delivering alerts and insights to quickly identify downtime and troubleshoot issues. By leveraging [distributed tracing](/product/alerts/uptime-monitoring/uptime-tracing/), Sentry enables you to pinpoint any errors that occur during an uptime check, simplifying triage and accelerating root cause analysis. + ### Recurring Job Monitoring [**Cron Monitors**](/product/crons/) allows you to monitor the uptime and performance of any scheduled, recurring job in Sentry. Once implemented, it'll allow you to get alerts and metrics to help you solve errors, detect timeouts, and prevent disruptions to your service. From 49c1d5be059e81163c6558ef4159606f1be03883 Mon Sep 17 00:00:00 2001 From: Cody De Arkland Date: Wed, 5 Feb 2025 16:45:57 -0800 Subject: [PATCH 13/14] Update docs/product/alerts/create-alerts/uptime-alert-config.mdx Co-authored-by: Alex Krawiec --- docs/product/alerts/create-alerts/uptime-alert-config.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/product/alerts/create-alerts/uptime-alert-config.mdx b/docs/product/alerts/create-alerts/uptime-alert-config.mdx index 88c4c80ef5f3bf..19a6bc7a0ad7a7 100644 --- a/docs/product/alerts/create-alerts/uptime-alert-config.mdx +++ b/docs/product/alerts/create-alerts/uptime-alert-config.mdx @@ -44,7 +44,7 @@ Additional notes: - Include a `Content-Type` header if required by the target URL. For example, a JSON payload should have `Content-Type: application/json`. - The selected interval affects downtime detection speed. Sentry triggers an uptime issue after three consecutive failures. For instance, with a 5-minute interval, downtime is detected at least 15 minutes after the first failure. Learn more about the [uptime check criteria](/product/alerts/uptime-monitoring/#uptime-check-criteria). -- In case the specified URL is behind a firewall, make sure Sentry's Uptime Bot can execute requests to it. [Learn more](/product/alerts/uptime-monitoring/troubleshooting/#verify-firewall-configuration). +- In case the specified URL is behind a firewall, make sure Sentry's Uptime Bot can execute requests to it. Learn more about [firewall configuration with uptime monitoring](/product/alerts/uptime-monitoring/troubleshooting/#verify-firewall-configuration). - Sentry Uptime Tracing automatically appends a sentry-trace header to outgoing requests for distributed tracing. [Learn more](/product/alerts/uptime-monitoring/uptime-tracing/). ## 4. Alert Name From 12cb9a654e07814aadab3b66dfd1afb2ff646018 Mon Sep 17 00:00:00 2001 From: Cody De Arkland Date: Wed, 5 Feb 2025 16:46:47 -0800 Subject: [PATCH 14/14] Update docs/product/index.mdx Co-authored-by: Alex Krawiec --- docs/product/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/product/index.mdx b/docs/product/index.mdx index 483d7a0d1ca68b..05ce5366f892a2 100644 --- a/docs/product/index.mdx +++ b/docs/product/index.mdx @@ -51,7 +51,7 @@ Our [**LLM Monitoring**](/product/insights/llm-monitoring/) feature gives you in ### Uptime Monitoring -[**Uptime Monitoring**](/product/alerts/uptime-monitoring/) helps you maintain uptime for your web services by monitoring relevant URLs with Sentry. It continuously tracks configured URLs, delivering alerts and insights to quickly identify downtime and troubleshoot issues. By leveraging [distributed tracing](/product/alerts/uptime-monitoring/uptime-tracing/), Sentry enables you to pinpoint any errors that occur during an uptime check, simplifying triage and accelerating root cause analysis. +Sentry's [**Uptime Monitoring**](/product/alerts/uptime-monitoring/) helps you maintain uptime for your web services by monitoring relevant URLs. It continuously tracks configured URLs, delivering alerts and insights to quickly identify downtime and troubleshoot issues. By leveraging [distributed tracing](/product/alerts/uptime-monitoring/uptime-tracing/), Sentry enables you to pinpoint any errors that occur during an uptime check, simplifying triage and accelerating root cause analysis. ### Recurring Job Monitoring