diff --git a/content/operate/rs/clusters/configure/license-keys.md b/content/operate/rs/clusters/configure/license-keys.md index 22d21473ef..de7fe71182 100644 --- a/content/operate/rs/clusters/configure/license-keys.md +++ b/content/operate/rs/clusters/configure/license-keys.md @@ -88,7 +88,46 @@ When the license is expired: - Fail over when a node fails and explicitly migrate shards between nodes. - Upgrade a node to a new version of Redis Enterprise Software. - + +## Configure license expiration alert + +By default, a cluster license alert is scheduled to occur 7 days before the cluster license expiration date. + +{{An alert appears in the Cluster Manager UI that says 'Your license will expire on day-month-year time. Contact support to renew your license.'}} + +You can adjust the threshold value of the cluster license expiration alert based on how far in advance you want to be notified of the license expiration. The value should be within a reasonable range that allows your organization enough time to take action, such as renewing the license, before it expires. + +To change the cluster license alert settings, use one of the following methods: + +- Cluster Manager UI: + + 1. On the **Cluster > Configuration** screen, select the **Alerts Settings** tab. + + 1. Click **Edit**. + + 1. In the **Cluster utilization** section, enable the alert setting "License expiry notifications will be sent \ days before the license expires" and enter a new value in the box. + + {{Cluster utilization alert settings.}} + + 1. Click **Save**. + + +- [Update cluster]({{}}) REST API request: + + The following example changes the cluster license alert to occur 30 days before the cluster license expiration date: + + ```sh + PUT /v1/cluster + { + "alert_settings": { + "cluster_license_about_to_expire": { + "enabled": true, + "threshold": "30" + } + } + } + ``` + ## Monitor cluster license As of version 7.2, Redis Enterprise exposes the license quotas and the shards consumption metrics in the Cluster Manager UI or via the [Prometheus integration]({{< relref "/integrate/prometheus-with-redis-enterprise/" >}}). diff --git a/content/operate/rs/references/rest-api/objects/cluster/alert_settings.md b/content/operate/rs/references/rest-api/objects/cluster/alert_settings.md index ddc9415b39..4203026ebb 100644 --- a/content/operate/rs/references/rest-api/objects/cluster/alert_settings.md +++ b/content/operate/rs/references/rest-api/objects/cluster/alert_settings.md @@ -13,30 +13,31 @@ weight: $weight | Name | Type/Value | Description | |------|------------|-------------| -| cluster_certs_about_to_expire | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Cluster certificate will expire in x days | -| cluster_even_node_count | boolean (default: false) | True high availability requires an odd number of nodes in the cluster | -| cluster_flash_overcommit | boolean (default: false) | Flash memory committed to databases is larger than cluster total flash memory | -| cluster_inconsistent_redis_sw | boolean (default: false) | Some shards in the cluster are running different versions of Redis software | -| cluster_inconsistent_rl_sw | boolean (default: false) | Some nodes in the cluster are running different versions of Redis Enterprise software | -| cluster_internal_bdb | boolean (default: false) | Issues with internal cluster databases | -| cluster_multiple_nodes_down | boolean (default: false) | Multiple cluster nodes are down (this might cause data loss) | -| cluster_node_joined | boolean (default: false) | New node joined the cluster | -| cluster_node_remove_abort_completed | boolean (default: false) | Cancel node remove operation completed | -| cluster_node_remove_abort_failed | boolean (default: false) | Cancel node remove operation failed | -| cluster_node_remove_completed | boolean (default: false) | Node removed from the cluster | -| cluster_node_remove_failed | boolean (default: false) | Failed to remove a node from the cluster | -| cluster_ocsp_query_failed | boolean (default: false) | Failed to query the OCSP server | -| cluster_ocsp_status_revoked | boolean (default: false) | OCSP certificate status is REVOKED | -| cluster_ram_overcommit | boolean (default: false) | RAM committed to databases is larger than cluster total RAM | -| cluster_too_few_nodes_for_replication | boolean (default: false) | Replication requires at least 2 nodes in the cluster | -| node_aof_slow_disk_io | boolean (default: false) | AOF reaching disk I/O limits -| node_checks_error | boolean (default: false) | Some node checks have failed | -| node_cpu_utilization | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node CPU utilization has reached the threshold value (% of the utilization limit) | -| node_ephemeral_storage | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node ephemeral storage has reached the threshold value (% of the storage limit) | -| node_failed | boolean (default: false) | Node failed | -| node_free_flash | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node flash storage has reached the threshold value (% of the storage limit) | -| node_insufficient_disk_aofrw | boolean (default: false) | Insufficient AOF disk space | -| node_internal_certs_about_to_expire | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object| Internal certificate on node will expire in x days | -| node_memory | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node memory has reached the threshold value (% of the memory limit) | -| node_net_throughput | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node network throughput has reached the threshold value (bytes/s) | -| node_persistent_storage | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node persistent storage has reached the threshold value (% of the storage limit) | +| cluster_certs_about_to_expire | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Cluster certificate will expire in x days | +| cluster_even_node_count | boolean (default: false) | True high availability requires an odd number of nodes in the cluster | +| cluster_flash_overcommit | boolean (default: false) | Flash memory committed to databases is larger than cluster total flash memory | +| cluster_inconsistent_redis_sw | boolean (default: false) | Some shards in the cluster are running different versions of Redis software | +| cluster_inconsistent_rl_sw | boolean (default: false) | Some nodes in the cluster are running different versions of Redis Enterprise software | +| cluster_internal_bdb | boolean (default: false) | Issues with internal cluster databases | +| cluster_license_about_to_expire | [cluster_alert_settings_with_threshold]({{}}) object | Cluster license will expire in x days. This alert is enabled by default. Its default threshold is 7 days before license expiration. | +| cluster_multiple_nodes_down | boolean (default: false) | Multiple cluster nodes are down (this might cause data loss) | +| cluster_node_joined | boolean (default: false) | New node joined the cluster | +| cluster_node_remove_abort_completed | boolean (default: false) | Cancel node remove operation completed | +| cluster_node_remove_abort_failed | boolean (default: false) | Cancel node remove operation failed | +| cluster_node_remove_completed | boolean (default: false) | Node removed from the cluster | +| cluster_node_remove_failed | boolean (default: false) | Failed to remove a node from the cluster | +| cluster_ocsp_query_failed | boolean (default: false) | Failed to query the OCSP server | +| cluster_ocsp_status_revoked | boolean (default: false) | OCSP certificate status is REVOKED | +| cluster_ram_overcommit | boolean (default: false) | RAM committed to databases is larger than cluster total RAM | +| cluster_too_few_nodes_for_replication | boolean (default: false) | Replication requires at least 2 nodes in the cluster | +| node_aof_slow_disk_io | boolean (default: false) | AOF reaching disk I/O limits +| node_checks_error | boolean (default: false) | Some node checks have failed | +| node_cpu_utilization | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node CPU utilization has reached the threshold value (% of the utilization limit) | +| node_ephemeral_storage | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node ephemeral storage has reached the threshold value (% of the storage limit) | +| node_failed | boolean (default: false) | Node failed | +| node_free_flash | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node flash storage has reached the threshold value (% of the storage limit) | +| node_insufficient_disk_aofrw | boolean (default: false) | Insufficient AOF disk space | +| node_internal_certs_about_to_expire | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object| Internal certificate on node will expire in x days | +| node_memory | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node memory has reached the threshold value (% of the memory limit) | +| node_net_throughput | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node network throughput has reached the threshold value (bytes/s) | +| node_persistent_storage | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node persistent storage has reached the threshold value (% of the storage limit) | diff --git a/static/images/rs/screenshots/cluster/cluster-config-alert-settings-utilization.png b/static/images/rs/screenshots/cluster/cluster-config-alert-settings-utilization.png new file mode 100644 index 0000000000..573ccfa10d Binary files /dev/null and b/static/images/rs/screenshots/cluster/cluster-config-alert-settings-utilization.png differ diff --git a/static/images/rs/screenshots/cluster/cluster-license-expiration-alert.png b/static/images/rs/screenshots/cluster/cluster-license-expiration-alert.png new file mode 100644 index 0000000000..b6cb31285c Binary files /dev/null and b/static/images/rs/screenshots/cluster/cluster-license-expiration-alert.png differ