Skip to content

Commit

Permalink
Merge branch 'support-bundle' of https://github.com/SimpleDataLabsInc…
Browse files Browse the repository at this point in the history
…/prophecy-docs into support-bundle
  • Loading branch information
alexanderahn committed Nov 26, 2024
2 parents 2d42457 + 12f73e1 commit 5ff9dd7
Show file tree
Hide file tree
Showing 11 changed files with 206 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ You can check your **ProphecyLibsPython** version under **Dependencies**.

If you have uncommitted changes in your Pipelines, you may be prompted to either **Commit & Save** or **Save Without Committing**. The update will affect all Pipelines in your Project.

For an up-to-date list of Prophecy versions and libraries, see [Version Chart](/docs/release_notes/version_chart.md).
For an up-to-date list of Prophecy versions and libraries, see [Version Chart](/docs/release_notes/version_chart/version_chart.md).

## Turn on the Pipeline Monitoring flag

Expand Down
126 changes: 126 additions & 0 deletions docs/architecture/deployment/private-saas/configure-alerts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
---
title: Alerts Configuration
id: alerts-config
description: Prophecy alerts configuration
sidebar_position: 1
tags:
- alerts
- alerting
- monitoring
---

Prophecy offers a reliable solution for configuring alerts to monitor resource usage in Prophecy-managed microservices. It enables proactive alerting when resource utilization approaches defined thresholds, ensuring timely intervention before limits are reached. Additionally, it supports the suspension of critical services in the event of resource overflows.

## Alerting summary

:::tip
Note this doc is constantly updated with new features/options and hence it is better to always go with the latest version of Prophecy. Alerting is supported from Prophecy version 3.4.1 and above.
:::

Resource monitoring is enabled by default for cluster administrators, providing insights into CPU, memory, and disk usage for critical services. This feature reports current usage levels alongside defined limits, ensuring admins have a clear view of resource consumption.

Alerting is also enabled by default for all customers, allowing proactive monitoring of resource usage and facilitating timely resolution as limits approach. However, this feature can be disabled if not necessary.

### Alerting features

Currently, the following alerts are tracked, with plans to expand this list in the future to include more in-depth application-level monitoring and alerting.

- `CPU_USAGE`
- `DISK_USAGE`
- `FILE_COUNT`
- `MEMORY_USAGE`

Alerts are of two levels:

- `WARNING`: Nearing configured limits
- `CRITICAL`: At or above configured limits

And they are generated when they reach `CRITICAL` for `MEMORY_USAGE` / `CPU_USAGE` and `WARNING` / `CRITICAL` for `DISK_USAGE` / `FILE_COUNT`.

To prevent data corruption, certain critical services, such as Metagraph and Gitserver, are automatically suspended when disk usage limits are reached. This feature is enabled by default but can be disabled if needed.

By default, alerts are displayed as notification banners in the Prophecy UI, which direct users to a comprehensive view on the monitoring page for detailed insights.

We also support email-based alerts, which can be configured by providing the necessary SMTP details. On resolution of alerts, email notifications are sent.

## Configuration

There are certain environment variables that need to be configured in the Prophecy admin UI.

### Navigating to the Backup Config UI

To configure object store settings in the Prophecy UI, follow these steps:

1. Log in to the Prophecy UI as an admin user.
1. Click on the **three dots** at the bottom left corner and select the **Settings** icon from the submenu.
1. Navigate to the **Admin** main tab.
1. Within the Admin main tab, select the **Config** sub tab.
1. Click on the **Alert Config** sub tab to configure the alert settings.

### JSON format

Below are JSON configurations within the Prophecy UI that need to be enabled to support this functionality. You will have to configure only the options which you require. Make sure to maintain a JSON format mentioned below while configuring the different options. Most of the values below are defaults or sample values.

```
{
"alertConfigs": [
{
"maxAllowedOccurrenceCount": 20,
"metricsType": "CPU_USAGE",
"thresholdValue": 0.95
},
{
"maxAllowedOccurrenceCount": 3,
"metricsType": "DISK_USAGE",
"thresholdValue": 0.95
},
{
"maxAllowedOccurrenceCount": 3,
"metricsType": "FILE_COUNT",
"thresholdValue": 0.95
},
{
"maxAllowedOccurrenceCount": 20,
"metricsType": "MEMORY_USAGE",
"thresholdValue": 0.8
}
],
"enableAlerts": true,
"enableServiceSuspend": true,
"notificationEmailIDs": [
"[email protected]",
"[email protected]"
],
"reAlertIntervalinMinutes": 120,
"relativeWarningThreshold": 0.05,
"smtp": {
"password": "********",
"senderEmailID": "[email protected]",
"serverHostname": "smtp.test.com",
"serverPort": 587
},
"suspensionWindowinMinutes": 60
}
```

### Supported configuration variables

| Configuration variable name | Description | Default value |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `alertConfigs.maxAllowedOccurrenceCount` | Number of consecutive occurrences to hit before triggering an alert (warning/critical). Every interval defaults to 30s. | `20 (or) 10mins` for CPU/Memory, `3 (or) 1.5mins` for Disk Usage/File Count |
| `alertConfigs.metricsType` | The metric type tracked | CPU_USAGE, DISK_USAGE, FILE_COUNT, MEMORY_USAGE |
| `alertConfigs.thresholdValue` | The threshold value beyond which alert is triggered. This is a fractional value between 0 and 1 | `0.8` for MEMORY_USAGE and `0.95` for others |
| `enableAlerts` | Enabling of alerting system | `true` |
| `notificationEmailIDs` | List of emails to notify in case of hitting alerts, this list is comma separated | `[]` |
| `reAlertIntervalinMinutes` | How often should triggered alerts resend the email in minutes | `120` |
| `relativeWarningThreshold` | It is the (configured threshold - relativeWarningThreshold) value after which `WARNING` is generated before hitting `CRITICAL` state. This is a fractional value between 0 and 1. Defaulted to 5% less than threshold value. | `0.05` |
| `smtp.password` | The password of the SMTP server credential. This is an encrypted value. Setting this to `NULL` will disable email alerting. | `NULL` |
| `smtp.senderEmailID` | The send email ID at the SMTP server. Setting this to `NULL` will disable SMTP email alerting. | `NULL` |
| `smtp.serverHostname` | The SMTP hostname of the server. | `smtp.gmail.com` |
| `smtp.serverPort` | The SMTP port of the server credential. Setting this to `0` will disable SMTP email alerting. | `587` |
| `suspensionWindowinMinutes` | Time after which suspension of critical services is to be done in minutes | `60` |

## Alerting guidelines

- The default configured values satisfy most use cases.
- If you set `enableAlerts` to false, this will disable the alerting system. Monitoring will work and be visible from within the Admin Monitoring sub tab.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Audit Events Configuration
id: audit-events
description: Prophecy installations audit events (logs) being synced to object stores like S3, Azure Blob Storage, GCP Cloud Storage etc.
sidebar_position: 1
sidebar_position: 2
tags:
- audit events
- audit logs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Backup/Restore Configuration
id: backup-restore
description: Prophecy installations backup-restore being synced to object stores like S3, Azure Blob Storage etc.
sidebar_position: 2
sidebar_position: 3
tags:
- backup
- restore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Generate API Key
id: generate-api-key
description: This page shows you how to generate your own custom API key per deployment.
sidebar_position: 3
sidebar_position: 5
tags:
- Generate
- API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Sandbox Configuration
id: sandbox-config
description: Prophecy installations allows configuration of various sandbox configuration
sidebar_position: 4
sidebar_position: 6
tags:
- sandbox
- configuration
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/fabrics/prophecy-libs.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ You can see which Prophecy Libs version is running on your Spark cluster by chec

<img src={require('./img/libs-version-cluster.png').default} alt="Prophecy libs version in the Fabric cluster" width="58%" />

For a list of the latest versions, see [Version Chart](/docs/release_notes/version_chart.md).
For a list of the latest versions, see [Version Chart](/docs/release_notes/version_chart/version_chart.md).

## Functionality

Expand Down
6 changes: 6 additions & 0 deletions docs/release_notes/version_chart/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"label": "Version Chart",
"position": 3,
"collapsible": true,
"collapsed": true
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,21 @@ Check to make sure the Spark version and Scala version of your Prophecy Scala Li
of your cluster!
:::

:::info
Query this table using the following API and your ([personal access token](..%2Fmetadata%2FprophecyAPI.md)):
You can query this table using the following API and your [personal access token](/docs/metadata/prophecyAPI.md):

```bash
curl --header 'X-Auth-Token: $PROPHECY_PAT' --location https://app.prophecy.io/api/editor/plibVersions
```

:::note
Prophecy versions that are labeled with `EM` are Extended Maintenance releases. For more information, see [Prophecy versions support](/docs/release_notes/version_chart/versions_support.md).
:::

| Prophecy version | [Prophecy Scala libs](https://mvnrepository.com/artifact/io.prophecy/prophecy-libs) | [Prophecy Python libs](https://pypi.org/project/prophecy-libs/) | Release Date | End-of-support Date |
| ---------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------- | ------------ | ------------------- |
| v3.4.0.2 | 8.4.0 | 1.9.24 | 2024/11/13 | 2025/05/13 |
| v3.4.1.0 EM | 8.5.0 | 1.9.24 | 2024/11/25 | 2025/11/25 |
| v3.4.0.3 | 8.4.0 | 1.9.24 | 2024/11/20 | 2025/05/20 |
| v3.4.0.2 | 8.4.0 | 1.9.24 | 2024/11/14 | 2025/05/14 |
| v3.4.0.1 | 8.4.0 | 1.9.24 | 2024/11/13 | 2025/05/13 |
| v3.4.0.0 | 8.4.0 | 1.9.24 | 2024/10/29 | 2025/04/29 |
| v3.3.11.7 | 8.2.1 | 1.9.16 | 2024/10/24 | 2025/04/24 |
Expand Down Expand Up @@ -55,7 +58,7 @@ curl --header 'X-Auth-Token: $PROPHECY_PAT' --location https://app.prophecy.io/
| v3.3.8.4 | 8.0.29 | 1.9.9 | 2024/07/22 | 2025/01/22 |
| v3.3.8.3 | 8.0.29 | 1.9.9 | 2024/07/17 | 2025/01/17 |
| v3.3.8.2 | 8.0.29 | 1.9.9 | 2024/07/16 | 2025/01/16 |
| v3.3.8.1 | 8.0.23 | 1.9.9 | 2024/07/09 | 2025/01/09 |
| v3.3.8.1 | 8.0.25 | 1.9.9 | 2024/07/10 | 2025/01/10 |
| v3.3.8.0 | 8.0.23 | 1.9.9 | 2024/07/08 | 2025/01/08 |
| v3.3.7.13 | 8.0.11-1 | 1.9.7 | 2024/07/05 | 2025/01/05 |
| v3.3.7.12 | 8.0.11-1 | 1.9.7 | 2024/07/04 | 2025/01/04 |
Expand Down Expand Up @@ -89,10 +92,10 @@ curl --header 'X-Auth-Token: $PROPHECY_PAT' --location https://app.prophecy.io/
| v3.3.3.1 | 7.1.83 | 1.8.13 | 2024/04/03 | 2024/10/03 |
| v3.3.3.0 | 7.1.82 | 1.8.13 | 2024/04/01 | 2024/10/01 |
| v3.3.2.4 | 7.1.83 | 1.8.12 | 2024/03/27 | 2024/09/27 |
| v3.3.2.3 | 7.1.79 | 1.8.12 | 2024/03/25 | 2024/09/25 |
| v3.3.2.2 | 7.1.79 | 1.8.12 | 2024/03/20 | 2024/09/20 |
| v3.3.2.3 | 7.1.79 | 1.8.12 | 2024/03/26 | 2024/09/26 |
| v3.3.2.2 | 7.1.79 | 1.8.12 | 2024/03/21 | 2024/09/21 |
| v3.3.2.1 | 7.1.79 | 1.8.9 | 2024/03/15 | 2024/09/15 |
| v3.3.2.0 | 7.1.79 | 1.8.9 | 2024/03/13 | 2024/09/13 |
| v3.3.2.0 | 7.1.79 | 1.8.9 | 2024/03/14 | 2024/09/14 |
| v3.3.1.3 | 7.1.72-1 | 1.8.7 | 2024/03/08 | 2024/09/08 |
| v3.3.1.2 | 7.1.72-1 | 1.8.7 | 2024/03/07 | 2024/09/07 |
| v3.3.1.1 | 7.1.72 | 1.8.7 | 2024/03/05 | 2024/09/05 |
Loading

0 comments on commit 5ff9dd7

Please sign in to comment.