diff --git a/content/operate/rs/flex/_index.md b/content/operate/rs/flex/_index.md index 9692294b9c..4da916d609 100644 --- a/content/operate/rs/flex/_index.md +++ b/content/operate/rs/flex/_index.md @@ -26,7 +26,7 @@ Flex moves data between RAM and flash based on access patterns: - Less active data moves to cost-efficient flash storage. - Data accessed from flash promotes back to RAM automatically. -Redis uses an [LRU (least recently used)]({{< relref "/develop/reference/eviction#apx-lru" >}}) eviction policy to manage data placement. When memory pressure increases, Flex identifies cold objects, transfers them to flash, and frees RAM for new or frequently accessed keys. +Redis uses an [LRU (least recently used)](/content/develop/reference/eviction/index.md#apx-lru) eviction policy to manage data placement. When memory pressure increases, Flex identifies cold objects, transfers them to flash, and frees RAM for new or frequently accessed keys. This process requires no application changes. Your existing Redis commands work across both storage tiers. @@ -41,12 +41,12 @@ This design delivers predictable latency and throughput as datasets grow beyond ## Compatibility -Flex is compatible with the Redis API and supports all [Redis data types]({{}}), including JSON and probabilistic data structures (Bloom filters, Count-Min Sketch, Top-K), as well as [Redis Search]({{}}). +Flex is compatible with the Redis API and supports all [Redis data types](/content/develop/data-types/_index.md), including JSON and probabilistic data structures (Bloom filters, Count-Min Sketch, Top-K), as well as [Redis Search](/content/develop/ai/search-and-query/_index.md). The following features are not yet supported with Flex: -- [Time series]({{}}) -- [Active-Active]({{}}) +- [Time series](/content/develop/data-types/timeseries/_index.md) +- [Active-Active](/content/operate/rs/databases/active-active/_index.md) ## When to use Flex @@ -57,13 +57,12 @@ Use Flex when you need to: - Operate large distributed caches with elastic scaling and consistent performance under heavy load - Reduce infrastructure costs by combining high-speed RAM with cost-efficient flash storage -{{}} -Flex does not replace long-term data persistence. For workloads that require durability and recovery across restarts or failures, use Redis persistence features like [AOF (Append-Only File)]({{< relref "/operate/oss_and_stack/management/persistence#append-only-file" >}}), [RDB snapshots]({{< relref "/operate/oss_and_stack/management/persistence#snapshotting" >}}), or both. For more information, see [Database persistence]({{< relref "/operate/rs/databases/configure/database-persistence" >}}). -{{}} +> [!NOTE] +> Flex does not replace long-term data persistence. For workloads that require durability and recovery across restarts or failures, use Redis persistence features like [AOF (Append-Only File)](/content/operate/oss_and_stack/management/persistence.md#append-only-file), [RDB snapshots](/content/operate/oss_and_stack/management/persistence.md#snapshotting), or both. For more information, see [Database persistence](/content/operate/rs/databases/configure/database-persistence.md). ## Flex and Auto Tiering -Flex replaces [Auto Tiering]({{< relref "/operate/rs/7.22/databases/auto-tiering" >}}) (formerly known as Redis on Flash). Redis Software selects the implementation based on your Redis version: +Flex replaces [Auto Tiering](/content/operate/rs/7.22/databases/auto-tiering/_index.md) (formerly known as Redis on Flash). Redis Software selects the implementation based on your Redis version: | Redis database version | Flex | Auto Tiering | |------------------------|------|--------------| @@ -71,7 +70,7 @@ Flex replaces [Auto Tiering]({{< relref "/operate/rs/7.22/databases/auto-tiering | 7.4 | ✅ | ✅| | 7.2 and earlier | ❌ | ✅ | -For Redis Software version 7.22.2-22 or earlier, see [Auto Tiering]({{< relref "/operate/rs/7.22/databases/auto-tiering" >}}). +For Redis Software version 7.22.2-22 or earlier, see [Auto Tiering](/content/operate/rs/7.22/databases/auto-tiering/_index.md). ### Differences between Flex and Auto Tiering @@ -87,6 +86,6 @@ For Redis Software version 7.22.2-22 or earlier, see [Auto Tiering]({{< relref " ## Next steps -- [Plan your deployment]({{< relref "/operate/rs/flex/plan" >}}): Review hardware requirements, sizing guidelines, and limitations. -- [Get started]({{< relref "/operate/rs/flex/get-started" >}}): Configure Flex on your cluster. -- [Scale your deployment]({{< relref "/operate/rs/flex/scale" >}}): Learn scaling strategies and best practices. +- [Plan your deployment](/content/operate/rs/flex/plan.md): Review hardware requirements, sizing guidelines, and limitations. +- [Get started](/content/operate/rs/flex/get-started.md): Configure Flex on your cluster. +- [Scale your deployment](/content/operate/rs/flex/scale.md): Learn scaling strategies and best practices. diff --git a/content/operate/rs/flex/get-started.md b/content/operate/rs/flex/get-started.md index bb41d87ad9..9f87294202 100644 --- a/content/operate/rs/flex/get-started.md +++ b/content/operate/rs/flex/get-started.md @@ -9,9 +9,9 @@ description: Configure Flex databases on your Redis Software cluster. linkTitle: Get started weight: 20 --- -This page guides you through a quick setup of [Flex]({{< relref "/operate/rs/flex" >}}) with a single node for testing and demo purposes. +This page guides you through a quick setup of [Flex](/content/operate/rs/flex/_index.md) with a single node for testing and demo purposes. -For production environments, see [Plan a Flex deployment for Redis Software]({{}}) and more detailed installation instructions in the [install and setup]({{< relref "/operate/rs/installing-upgrading" >}}) section. +For production environments, see [Plan a Flex deployment for Redis Software](/content/operate/rs/flex/plan.md) and more detailed installation instructions in the [install and setup](/content/operate/rs/installing-upgrading/_index.md) section. To set up a Redis Software cluster using Flex with a single node: @@ -86,10 +86,9 @@ sudo lsblk 1. Direct your browser to `https://localhost:8443` on the host machine to see the Redis Software Cluster Manager UI. - {{}} -Depending on your browser, you may see a certificate error. -Choose "continue to the website" to go to the setup screen. - {{}} + > [!NOTE] + > Depending on your browser, you may see a certificate error. + > Choose "continue to the website" to go to the setup screen. 1. Click **Create new cluster**. @@ -125,7 +124,7 @@ You now have a Flex database. ## Connect to your database -After you create the database, you can connect to it and store data. See [Test client connection]({{}}) for connection options and examples. +After you create the database, you can connect to it and store data. See [Test client connection](/content/operate/rs/databases/connect/test-client-connectivity.md) for connection options and examples. ## Next steps diff --git a/content/operate/rs/flex/plan.md b/content/operate/rs/flex/plan.md index 43fb1a8f4a..b795abec61 100644 --- a/content/operate/rs/flex/plan.md +++ b/content/operate/rs/flex/plan.md @@ -43,7 +43,7 @@ When planning a Flex deployment, consider the following flash drive requirements - Flash storage must be greater than the total provisioned database size to account for write buffers, space amplification, and more. Flash space should be approximately three times the total memory limit of all Flex databases on the node. Because you can increase a database's memory limit after creation, size flash storage for the expected peak memory limit. -See the general Redis Software [hardware requirements]({{}}) for additional requirements. +See the general Redis Software [hardware requirements](/content/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md) for additional requirements. ## Sizing guidelines @@ -79,12 +79,12 @@ Actual performance can vary based on your data model, commands, and network late | Data type/feature | Flex support | |------------------|--------------| -| [Active-Active databases]({{}}) | ❌Not supported | -| [JSON]({{}}) | ✅ Supported | -| [Probabilistic data structures]({{}}) | ✅ Supported | -| [Redis Search]({{}}) | ✅ Supported | -| Standard [Redis data types]({{}}) | ✅ Supported | -| [Time series]({{}}) | ❌Not supported | +| [Active-Active databases](/content/operate/rs/databases/active-active/_index.md) | ❌Not supported | +| [JSON](/content/develop/data-types/json/_index.md) | ✅ Supported | +| [Probabilistic data structures](/content/develop/data-types/_index.md#probabilistic-data-types) | ✅ Supported | +| [Redis Search](/content/develop/ai/search-and-query/_index.md) | ✅ Supported | +| Standard [Redis data types](/content/develop/data-types/_index.md) | ✅ Supported | +| [Time series](/content/develop/data-types/timeseries/_index.md) | ❌Not supported | ## Best practices @@ -108,5 +108,5 @@ Actual performance can vary based on your data model, commands, and network late ## Next steps -- [Get started]({{< relref "/operate/rs/flex/get-started" >}}): Configure Flex on your cluster. -- [Scale your deployment]({{< relref "/operate/rs/flex/scale" >}}): Learn scaling strategies. \ No newline at end of file +- [Get started](/content/operate/rs/flex/get-started.md): Configure Flex on your cluster. +- [Scale your deployment](/content/operate/rs/flex/scale.md): Learn scaling strategies. \ No newline at end of file diff --git a/content/operate/rs/flex/scale.md b/content/operate/rs/flex/scale.md index 3c6e76cfe7..72d6603537 100644 --- a/content/operate/rs/flex/scale.md +++ b/content/operate/rs/flex/scale.md @@ -105,13 +105,13 @@ To add shards using the Cluster Manager UI: 1. Click **Save**. -To add nodes to the cluster, see [Add a node]({{}}) for instructions. +To add nodes to the cluster, see [Add a node](/content/operate/rs/clusters/add-node.md) for instructions. ### Increase RAM-to-flash ratio To improve throughput and lower latency, you can expand the in-memory tier to serve a higher proportion of requests directly from RAM. This strategy is recommended when low latency is your primary goal and you don't need to increase the dataset size. -Before increasing the RAM-to-flash ratio, you might need to add more nodes to accommodate additional RAM. See [Add a node]({{}}) for instructions. +Before increasing the RAM-to-flash ratio, you might need to add more nodes to accommodate additional RAM. See [Add a node](/content/operate/rs/clusters/add-node.md) for instructions. To increase the RAM-to-flash ratio using the Cluster Manager UI: @@ -135,8 +135,7 @@ For self-managed Redis Flex deployments, ensure the cluster has sufficient physi - Adequate vCPU to support increased shard count or throughput. -{{}} -Scaling operations will fail or underperform if the underlying cluster is resource-constrained. -{{}} +> [!WARNING] +> Scaling operations will fail or underperform if the underlying cluster is resource-constrained. -See Flex [hardware requirements]({{}}) for more information. +See Flex [hardware requirements](/content/operate/rs/flex/plan.md#hardware-requirements) for more information. diff --git a/content/operate/rs/monitoring/_index.md b/content/operate/rs/monitoring/_index.md index 02a111a924..6a62449acb 100644 --- a/content/operate/rs/monitoring/_index.md +++ b/content/operate/rs/monitoring/_index.md @@ -20,31 +20,31 @@ to monitor the performance of your databases. In the Redis Software Cluster Manager UI, you can view metrics, configure alerts, and send notifications based on alert parameters. You can also access metrics and configure alerts through the REST API. -See [Metrics and alerts for monitoring v1]({{}}) for more information. +See [Metrics and alerts for monitoring v1](/content/operate/rs/monitoring/v1_monitoring.md) for more information. ## Metrics stream engine -The new metrics stream engine is generally available as of [Redis Software version 8.0]({{}}) This new engine exposes the v2 Prometheus scraping endpoint at `https://:8070/v2`, exports all time-series metrics to external monitoring tools, and enables real-time monitoring. +The new metrics stream engine is generally available as of [Redis Software version 8.0](/content/operate/rs/release-notes/rs-8-0-releases/_index.md) This new engine exposes the v2 Prometheus scraping endpoint at `https://:8070/v2`, exports all time-series metrics to external monitoring tools, and enables real-time monitoring. -See [Metrics stream engine for monitoring v2]({{}}) for more information. +See [Metrics stream engine for monitoring v2](/content/operate/rs/monitoring/metrics_stream_engine/_index.md) for more information. ## Integrate with external monitoring tools To integrate Redis Software metrics into your monitoring environment, see the following integration guides: -- [Grafana]({{}}) +- [Grafana](/content/integrate/prometheus-with-redis-enterprise/_index.md) -- [Datadog]({{}}) +- [Datadog](/content/integrate/datadog-with-redis-enterprise/_index.md) -- [Dynatrace]({{}}) +- [Dynatrace](/content/integrate/dynatrace-with-redis-enterprise/_index.md) -- [New Relic]({{}}) +- [New Relic](/content/integrate/new-relic-with-redis-enterprise/_index.md) For a detailed tutorial to deploy a complete monitoring stack with Prometheus and Grafana, see [Redis Software Observability with Prometheus and Grafana](https://redis.io/learn/operate/observability/redis-software-prometheus-and-grafana). -Filter [Libraries and tools]({{}}) by "observability" for additional tools and guides. +Filter [Libraries and tools](/content/integrate/_index.md) by "observability" for additional tools and guides. ## Metrics reference -Make sure you read the [definition of each metric]({{< relref "/operate/rs/references/metrics/" >}}) +Make sure you read the [definition of each metric](/content/operate/rs/references/metrics/_index.md) so that you understand exactly what it represents. diff --git a/content/operate/rs/monitoring/db-availability.md b/content/operate/rs/monitoring/db-availability.md index 4d14540ea0..431e61c492 100644 --- a/content/operate/rs/monitoring/db-availability.md +++ b/content/operate/rs/monitoring/db-availability.md @@ -13,11 +13,10 @@ weight: 80 aliases: /operate/rs/databases/durability-ha/db-availability/ --- -You can use the [database availability API]({{}}) to verify whether a Redis Software database is available to perform read and write operations and can respond to queries from client applications. Load balancers and automated monitoring tools can use this API to monitor database availability. +You can use the [database availability API](/content/operate/rs/references/rest-api/requests/bdbs/availability.md) to verify whether a Redis Software database is available to perform read and write operations and can respond to queries from client applications. Load balancers and automated monitoring tools can use this API to monitor database availability. -{{}} -Database availability does not guarantee data availability. -{{}} +> [!NOTE] +> Database availability does not guarantee data availability. ## Check database availability for monitoring @@ -29,11 +28,11 @@ GET /v1/bdbs//availability If the OSS Cluster API is enabled, this request verifies all endpoints for this database are available. Otherwise, it verifies the database has at least one available endpoint. -An endpoint is available only if the database's primary (master) shards are reachable and the endpoint's listener port is bound. If either check fails, the database is reported as unavailable, and the [`error_code` and `description`]({{}}) identify the specific reason. +An endpoint is available only if the database's primary (master) shards are reachable and the endpoint's listener port is bound. If either check fails, the database is reported as unavailable, and the [`error_code` and `description`](/content/operate/rs/references/rest-api/requests/bdbs/availability.md#get-db-error-codes) identify the specific reason. Returns the status code 200 OK if the database is available. -If the database is unavailable, returns an error status code and a JSON object that contains [`error_code` and `description` fields]({{}}). +If the database is unavailable, returns an error status code and a JSON object that contains [`error_code` and `description` fields](/content/operate/rs/references/rest-api/requests/bdbs/availability.md#get-db-error-codes). ## Check local database endpoint availability for load balancers @@ -45,7 +44,7 @@ GET /v1/local/bdbs//endpoint/availability Returns HTTP status code 200 OK if all primary (master) shards are reachable from the local database endpoint. -If the local database endpoint is unavailable, returns an error status code and a JSON object that contains [`error_code` and `description` fields]({{}}). +If the local database endpoint is unavailable, returns an error status code and a JSON object that contains [`error_code` and `description` fields](/content/operate/rs/references/rest-api/requests/bdbs/availability.md#get-endpoint-error-codes). ## Use lag-aware availability checks for disaster recovery {#lag-aware} @@ -55,7 +54,7 @@ The database availability API supports lag-aware availability checks that consid The lag tolerance threshold is 100 milliseconds by default. Depending on factors such as workload, network conditions, and throughput, you might want to adjust the lag tolerance threshold. -To change the default threshold for the entire cluster, set `availability_lag_tolerance_ms` with an [update cluster]({{}}) request: +To change the default threshold for the entire cluster, set `availability_lag_tolerance_ms` with an [update cluster](/content/operate/rs/references/rest-api/requests/cluster/_index.md#put-cluster) request: ```sh PUT /v1/cluster @@ -93,7 +92,7 @@ GET /v1/local/bdbs//endpoint/availability?extend_check=lag&availabi ## Availability by database status -The following table shows the relationship between a database's status and availability. For more details about the database status values, see [BDB status field]({{}}). +The following table shows the relationship between a database's status and availability. For more details about the database status values, see [BDB status field](/content/operate/rs/references/rest-api/objects/bdb/status.md). | Database status | Availability | |-----------------|--------------| diff --git a/content/operate/rs/monitoring/get-started.md b/content/operate/rs/monitoring/get-started.md index 37465f5df2..efe594cca8 100644 --- a/content/operate/rs/monitoring/get-started.md +++ b/content/operate/rs/monitoring/get-started.md @@ -32,13 +32,13 @@ You can use Prometheus integrations to: You can integrate Redis Software with Prometheus and one of the following tools to collect and visualize your deployment's metrics: -- [Grafana]({{}}) +- [Grafana](/content/integrate/prometheus-with-redis-enterprise/_index.md) -- [Datadog]({{}}) +- [Datadog](/content/integrate/datadog-with-redis-enterprise/_index.md) -- [Dynatrace]({{}}) +- [Dynatrace](/content/integrate/dynatrace-with-redis-enterprise/_index.md) -- [New Relic]({{}}) +- [New Relic](/content/integrate/new-relic-with-redis-enterprise/_index.md) {{}} @@ -129,15 +129,13 @@ scrape_configs: ``` {{< /multitabs >}} - {{< note >}} -**Use a single scrape target.** The v2 endpoint is cluster-wide. Every node aggregates metrics from all nodes and returns the same complete result, so one target is enough. If you list one target per node, Prometheus stores every series once per target and multiplies each `sum()`-based dashboard panel by the number of targets. This produces no error. Prometheus reports every target as up and Grafana renders normally. Use your cluster FQDN as the single target so metrics remain available if a node goes down. - {{< /note >}} + > [!NOTE] + > **Use a single scrape target.** The v2 endpoint is cluster-wide. Every node aggregates metrics from all nodes and returns the same complete result, so one target is enough. If you list one target per node, Prometheus stores every series once per target and multiplies each `sum()`-based dashboard panel by the number of targets. This produces no error. Prometheus reports every target as up and Grafana renders normally. Use your cluster FQDN as the single target so metrics remain available if a node goes down. 1. Set up your Prometheus server. - {{< note >}} -We recommend running Prometheus in Docker only for development and testing. - {{< /note >}} + > [!NOTE] + > We recommend running Prometheus in Docker only for development and testing. To set up Prometheus on Docker: diff --git a/content/operate/rs/monitoring/health-report.md b/content/operate/rs/monitoring/health-report.md index 36ff10997b..0c303bd693 100644 --- a/content/operate/rs/monitoring/health-report.md +++ b/content/operate/rs/monitoring/health-report.md @@ -27,7 +27,7 @@ The consolidated health report is a read-only, consolidated snapshot of a cluste - High availability health -The consolidated health report consolidates cluster and database health information that was previously scattered across multiple APIs and CLI commands, such as [`rladmin status extra all`]({{}}) and required SSH access to view. +The consolidated health report consolidates cluster and database health information that was previously scattered across multiple APIs and CLI commands, such as [`rladmin status extra all`](/content/operate/rs/references/cli-utilities/rladmin/status.md) and required SSH access to view. As of Redis Software version 8.0.16, you can access the cluster and database health reports using the [Cluster manager UI](#view-health-overview) or [REST API requests](#health-rest-api-requests). @@ -127,7 +127,7 @@ When viewing a node's configuration, you can click the **Shards** tab to view a ### Cluster health report requests -[Cluster health report]({{}}) REST API requests provide overall health information for a cluster: +[Cluster health report](/content/operate/rs/references/rest-api/api-reference.md#tag/Cluster/operation/cluster_cluster_health_report) REST API requests provide overall health information for a cluster: ```sh GET https://:/v4/cluster/health @@ -135,7 +135,7 @@ GET https://:/v4/cluster/health ### Database health report requests -[Database health report]({{}}) REST API requests provide detailed health information for a specific database: +[Database health report](/content/operate/rs/references/rest-api/api-reference.md#tag/Database/operation/cluster_database_health_report) REST API requests provide detailed health information for a specific database: ```sh GET https://:/v4/bdb//health diff --git a/content/operate/rs/monitoring/metrics_stream_engine/_index.md b/content/operate/rs/monitoring/metrics_stream_engine/_index.md index 9d80abf45c..0305695328 100644 --- a/content/operate/rs/monitoring/metrics_stream_engine/_index.md +++ b/content/operate/rs/monitoring/metrics_stream_engine/_index.md @@ -13,7 +13,7 @@ weight: 60 tocEmbedHeaders: true --- -The new metrics stream engine is generally available as of [Redis Software version 8.0]({{}}). +The new metrics stream engine is generally available as of [Redis Software version 8.0](/content/operate/rs/release-notes/rs-8-0-releases/_index.md). The new metrics stream engine: @@ -27,21 +27,21 @@ The new metrics stream engine: To integrate Redis Software metrics into your monitoring environment, see the following integration guides: -- [Grafana]({{}}) +- [Grafana](/content/integrate/prometheus-with-redis-enterprise/_index.md) -- [Datadog]({{}}) +- [Datadog](/content/integrate/datadog-with-redis-enterprise/_index.md) -- [Dynatrace]({{}}) +- [Dynatrace](/content/integrate/dynatrace-with-redis-enterprise/_index.md) -- [New Relic]({{}}) +- [New Relic](/content/integrate/new-relic-with-redis-enterprise/_index.md) For a detailed tutorial to deploy a complete monitoring stack with Prometheus and Grafana, see [Redis Software Observability with Prometheus and Grafana](https://redis.io/learn/operate/observability/redis-software-prometheus-and-grafana). -Filter [Libraries and tools]({{}}) by "observability" for additional tools and guides. +Filter [Libraries and tools](/content/integrate/_index.md) by "observability" for additional tools and guides. ## Prometheus metrics v2 -For a list of all available v2 metrics, see [Prometheus metrics v2]({{}}). +For a list of all available v2 metrics, see [Prometheus metrics v2](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md). The v2 scraping endpoint also exposes metrics for `node_exporter`. For more information, see the [Prometheus node_exporter GitHub repository](https://github.com/prometheus/node_exporter). @@ -67,11 +67,10 @@ If you are already using the existing scraping endpoint for integration, do the - targets: [":8070"] ``` - {{< note >}} -**Use a single scrape target.** The v2 endpoint is cluster-wide. Every node aggregates metrics from all nodes and returns the same complete result, so one target is enough. If you list one target per node, Prometheus stores every series once per target and multiplies each `sum()`-based dashboard panel by the number of targets. This produces no error. Prometheus reports every target as up and Grafana renders normally. Use your cluster FQDN as the single target so metrics remain available if a node goes down. - {{< /note >}} + > [!NOTE] + > **Use a single scrape target.** The v2 endpoint is cluster-wide. Every node aggregates metrics from all nodes and returns the same complete result, so one target is enough. If you list one target per node, Prometheus stores every series once per target and multiplies each `sum()`-based dashboard panel by the number of targets. This produces no error. Prometheus reports every target as up and Grafana renders normally. Use your cluster FQDN as the single target so metrics remain available if a node goes down. -1. Use the metrics tables in [this guide]({{}}) to transition from v1 metrics to equivalent v2 PromQL. +1. Use the metrics tables in [this guide](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v1-to-v2.md) to transition from v1 metrics to equivalent v2 PromQL. The reason for a single target changed in v2. On v1, only the cluster master served the metrics endpoint and other nodes returned a redirect, so the protocol effectively forced one target. On v2, every node returns the full cluster view and no redirects are involved. If your v1 configuration listed multiple node targets, reduce it to one. diff --git a/content/operate/rs/monitoring/metrics_stream_engine/alerts-v1-to-v2.md b/content/operate/rs/monitoring/metrics_stream_engine/alerts-v1-to-v2.md index 5e080300d6..edff3d6932 100644 --- a/content/operate/rs/monitoring/metrics_stream_engine/alerts-v1-to-v2.md +++ b/content/operate/rs/monitoring/metrics_stream_engine/alerts-v1-to-v2.md @@ -10,7 +10,7 @@ linkTitle: Transition cluster manager alerts to Prometheus weight: 50 --- -As Redis Software transitions from the [deprecated monitoring system]({{}}) to the [new metrics stream engine]({{}}), some internal cluster manager alerts were deprecated in favor of external monitoring solutions. +As Redis Software transitions from the [deprecated monitoring system](/content/operate/rs/monitoring/v1_monitoring.md) to the [new metrics stream engine](/content/operate/rs/monitoring/metrics_stream_engine/_index.md), some internal cluster manager alerts were deprecated in favor of external monitoring solutions. You can use the following table to transition from the deprecated alerts and set up equivalent alerts in Prometheus with [PromQL (Prometheus Query Language)](https://prometheus.io/docs/prometheus/latest/querying/basics/): diff --git a/content/operate/rs/monitoring/metrics_stream_engine/db-tags-in-metrics.md b/content/operate/rs/monitoring/metrics_stream_engine/db-tags-in-metrics.md index 7908b991d0..72e12cf5d6 100644 --- a/content/operate/rs/monitoring/metrics_stream_engine/db-tags-in-metrics.md +++ b/content/operate/rs/monitoring/metrics_stream_engine/db-tags-in-metrics.md @@ -14,7 +14,7 @@ weight: 50 tocEmbedHeaders: true --- -Redis Software can expose selected [database tags]({{}}) as labels in the [v2 metrics]({{}}) scraping endpoint. This lets you group, filter, and alert on database metrics by ownership, environment, service, tier, or any other metadata you store as tags. +Redis Software can expose selected [database tags](/content/operate/rs/databases/configure/db-tags.md) as labels in the [v2 metrics](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md) scraping endpoint. This lets you group, filter, and alert on database metrics by ownership, environment, service, tier, or any other metadata you store as tags. Redis Software exposes tags through a dedicated `db_tags` metric rather than adding them as labels to every metric. You then join `db_tags` onto your other database metrics in your observability tool. @@ -28,12 +28,12 @@ The workflow has three parts: ### Before you begin -- The databases whose tags you want to expose must already have [tags]({{}}) set. Only tags that follow the [tag validation rules]({{}}) can be exposed. -- You must be scraping the [v2 metrics endpoint]({{}}), where the `db_tags` metric appears. +- The databases whose tags you want to expose must already have [tags](/content/operate/rs/databases/configure/db-tags.md) set. Only tags that follow the [tag validation rules](/content/operate/rs/databases/configure/db-tags.md#tag-validation-rules) can be exposed. +- You must be scraping the [v2 metrics endpoint](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md), where the `db_tags` metric appears. ### Configuration fields -Two fields in the cluster's [metrics configuration]({{}}) control database tag exposure: +Two fields in the cluster's [metrics configuration](/content/operate/rs/monitoring/metrics_stream_engine/metrics-configuration.md) control database tag exposure: | Field | Type | Default | Description | |-------|------|---------|-------------| @@ -42,15 +42,14 @@ Two fields in the cluster's [metrics configuration]({{}} -`metrics_tag_keys_exposed` is replaced in full whenever you update it. To add a key while keeping the current ones, send the complete list. For example, to add `tier` to `["env", "team"]`, send `["env", "team", "tier"]`; sending only `["tier"]` removes `env` and `team`. -{{}} +> [!WARNING] +> `metrics_tag_keys_exposed` is replaced in full whenever you update it. To add a key while keeping the current ones, send the complete list. For example, to add `tier` to `["env", "team"]`, send `["env", "team", "tier"]`; sending only `["tier"]` removes `env` and `team`. ### Set the configuration -Update the [metrics configuration]({{}}) with either the REST API or `rladmin`. The following examples enable database tags and expose the `env`, `team`, and `tier` tag keys. +Update the [metrics configuration](/content/operate/rs/monitoring/metrics_stream_engine/metrics-configuration.md) with either the REST API or `rladmin`. The following examples enable database tags and expose the `env`, `team`, and `tier` tag keys. -**REST API** — send a [`PUT /v1/metrics_config`]({{}}) request. This is a partial update, so the fields you omit keep their current values: +**REST API** — send a [`PUT /v1/metrics_config`](/content/operate/rs/references/rest-api/requests/metrics_config/_index.md#put-metrics-config) request. This is a partial update, so the fields you omit keep their current values: ```sh curl -X PUT -H "accept: application/json" \ @@ -60,7 +59,7 @@ curl -X PUT -H "accept: application/json" \ -d '{ "expose_db_tags": true, "metrics_tag_keys_exposed": ["env", "team", "tier"] }' -k -i ``` -**rladmin** — use [`rladmin metrics config`]({{}}). On the command line, boolean fields take `enabled` or `disabled`, and list fields take a comma-separated set of values: +**rladmin** — use [`rladmin metrics config`](/content/operate/rs/references/cli-utilities/rladmin/metrics.md#metrics-config). On the command line, boolean fields take `enabled` or `disabled`, and list fields take a comma-separated set of values: ```sh rladmin metrics config expose_db_tags enabled metrics_tag_keys_exposed env,team,tier @@ -70,10 +69,10 @@ rladmin metrics config expose_db_tags enabled metrics_tag_keys_exposed env,team, Confirm that the settings were applied: -- **REST API**: send a [`GET /v1/metrics_config`]({{}}) request and check that `expose_db_tags` is `true` and `metrics_tag_keys_exposed` lists your keys. -- **rladmin**: run [`rladmin info metrics`]({{}}). +- **REST API**: send a [`GET /v1/metrics_config`](/content/operate/rs/references/rest-api/requests/metrics_config/_index.md#get-metrics-config) request and check that `expose_db_tags` is `true` and `metrics_tag_keys_exposed` lists your keys. +- **rladmin**: run [`rladmin info metrics`](/content/operate/rs/references/cli-utilities/rladmin/info.md#info-metrics). -Then scrape the [v2 metrics endpoint]({{}}) and confirm that `db_tags` series appear (see [Exported metric](#exported-metric)). If no `db_tags` series appear for a database, check the [emission rules](#emission-rules). +Then scrape the [v2 metrics endpoint](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md) and confirm that `db_tags` series appear (see [Exported metric](#exported-metric)). If no `db_tags` series appear for a database, check the [emission rules](#emission-rules). ## Exported metric @@ -94,7 +93,7 @@ Key points: Redis Software emits `db_tags` per database according to these rules: - `db_tags` is emitted only after you [enable database tags in metrics](#enable-database-tags-in-metrics). -- Only tags that follow the [tag validation rules]({{}}) can be exported. [System tags]({{}}) and [legacy tags]({{}}) that do not meet the rules are not eligible. +- Only tags that follow the [tag validation rules](/content/operate/rs/databases/configure/db-tags.md#tag-validation-rules) can be exported. [System tags](/content/operate/rs/databases/configure/db-tags.md#system-tags) and [legacy tags](/content/operate/rs/databases/configure/db-tags.md#backward-compatibility-for-existing-tags) that do not meet the rules are not eligible. - Matching between a database's tag keys and the keys in `metrics_tag_keys_exposed` is exact and case-sensitive. - If a database has no tag whose key is listed in `metrics_tag_keys_exposed`, no `db_tags` sample is emitted for that database. @@ -102,7 +101,7 @@ Redis Software emits `db_tags` per database according to these rules: Because tags are exported through the separate `db_tags` metric, you combine them with other database metrics by matching on the shared `cluster` and `db` labels. Match on both labels in every platform so each database is uniquely identified: database IDs can repeat across clusters. -The following examples use the sample tags `env`, `team`, and `tier`, and the [`redis_server_used_memory`]({{}}) metric. +The following examples use the sample tags `env`, `team`, and `tier`, and the [`redis_server_used_memory`](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md) metric. ### Prometheus and Grafana @@ -232,7 +231,7 @@ Redis Software sends the tags you expose in metrics to external monitoring tools ### Tags don't appear in metrics -Confirm that your tags meet the [emission rules](#emission-rules). A tag is exported only when database tags are enabled, the tag follows the [tag validation rules]({{}}), and its key exactly matches (case-sensitive) a key in `metrics_tag_keys_exposed`. +Confirm that your tags meet the [emission rules](#emission-rules). A tag is exported only when database tags are enabled, the tag follows the [tag validation rules](/content/operate/rs/databases/configure/db-tags.md#tag-validation-rules), and its key exactly matches (case-sensitive) a key in `metrics_tag_keys_exposed`. ### You see more time series than expected diff --git a/content/operate/rs/monitoring/metrics_stream_engine/metrics-configuration.md b/content/operate/rs/monitoring/metrics_stream_engine/metrics-configuration.md index a61ea932ad..479f4ee980 100644 --- a/content/operate/rs/monitoring/metrics_stream_engine/metrics-configuration.md +++ b/content/operate/rs/monitoring/metrics_stream_engine/metrics-configuration.md @@ -14,20 +14,20 @@ weight: 48 tocEmbedHeaders: true --- -The metrics configuration is a cluster-wide resource that controls the behavior of the [v2 metrics stream engine]({{}}), such as which optional metrics are collected and how metrics are stored and exported. +The metrics configuration is a cluster-wide resource that controls the behavior of the [v2 metrics stream engine](/content/operate/rs/monitoring/metrics_stream_engine/_index.md), such as which optional metrics are collected and how metrics are stored and exported. -For the full list of configuration fields, their types, and defaults, see the [metrics configuration object]({{}}). +For the full list of configuration fields, their types, and defaults, see the [metrics configuration object](/content/operate/rs/references/rest-api/objects/metrics_config.md). ## Configure metrics settings You can read and update the metrics configuration through the REST API or with `rladmin`. -Changes to the metrics configuration are recorded in the cluster's [event logs]({{}}), so you can review who changed a setting and when. +Changes to the metrics configuration are recorded in the cluster's [event logs](/content/operate/rs/clusters/logging/_index.md), so you can review who changed a setting and when. ### REST API -Use the `GET` and `PUT` `/v1/metrics_config` requests to read and update the configuration. For request and response details, required permissions, and status codes, see [Metrics configuration requests]({{}}). +Use the `GET` and `PUT` `/v1/metrics_config` requests to read and update the configuration. For request and response details, required permissions, and status codes, see [Metrics configuration requests](/content/operate/rs/references/rest-api/requests/metrics_config/_index.md). ### rladmin -Use [`rladmin info metrics`]({{}}) to view the current configuration and [`rladmin metrics config`]({{}}) to update it. +Use [`rladmin info metrics`](/content/operate/rs/references/cli-utilities/rladmin/info.md#info-metrics) to view the current configuration and [`rladmin metrics config`](/content/operate/rs/references/cli-utilities/rladmin/metrics.md#metrics-config) to update it. diff --git a/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v1-to-v2.md b/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v1-to-v2.md index 2df9d15d04..f899ace055 100644 --- a/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v1-to-v2.md +++ b/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v1-to-v2.md @@ -14,7 +14,7 @@ weight: 49 tocEmbedHeaders: true --- -You can integrate Redis Software with Prometheus and tools such as [Grafana]({{}}), [Datadog]({{}}), [Dynatrace]({{}}), or [New Relic]({{}}) to create dashboards for important metrics. +You can integrate Redis Software with Prometheus and tools such as [Grafana](/content/integrate/prometheus-with-redis-enterprise/_index.md), [Datadog](/content/integrate/datadog-with-redis-enterprise/_index.md), [Dynatrace](/content/integrate/dynatrace-with-redis-enterprise/_index.md), or [New Relic](/content/integrate/new-relic-with-redis-enterprise/_index.md) to create dashboards for important metrics. As of Redis Software version 7.8.2, [PromQL (Prometheus Query Language)](https://prometheus.io/docs/prometheus/latest/querying/basics/) metrics are available. V1 metrics are deprecated but still available. @@ -36,9 +36,8 @@ scrape_configs: - targets: [":8070"] ``` -{{< note >}} -**Use a single scrape target.** The v2 endpoint is cluster-wide. Every node aggregates metrics from all nodes and returns the same complete result, so one target is enough. If you list one target per node, Prometheus stores every series once per target and multiplies each `sum()`-based dashboard panel by the number of targets. This produces no error. Prometheus reports every target as up and Grafana renders normally. Use your cluster FQDN as the single target so metrics remain available if a node goes down. -{{< /note >}} +> [!NOTE] +> **Use a single scrape target.** The v2 endpoint is cluster-wide. Every node aggregates metrics from all nodes and returns the same complete result, so one target is enough. If you list one target per node, Prometheus stores every series once per target and multiplies each `sum()`-based dashboard panel by the number of targets. This produces no error. Prometheus reports every target as up and Grafana renders normally. Use your cluster FQDN as the single target so metrics remain available if a node goes down. The reason for a single target changed in v2. On v1, only the cluster master served the metrics endpoint and other nodes returned a redirect, so the protocol effectively forced one target. On v2, every node returns the full cluster view and no redirects are involved. If your v1 configuration listed multiple node targets, reduce it to one. @@ -46,6 +45,6 @@ If you prefer a per-node scrape topology, scrape `/v2/node`, which returns only You can scrape both v1 and v2 endpoints simultaneously during the transition period to prepare dashboards and ensure a smooth transition. -You can use the following tables to transition from v1 metrics to equivalent v2 PromQL. For a list of all available v2 metrics, see [Prometheus metrics v2]({{}}). +You can use the following tables to transition from v1 metrics to equivalent v2 PromQL. For a list of all available v2 metrics, see [Prometheus metrics v2](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md). {{}} diff --git a/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md b/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md index 4387f19583..d90e3eb00f 100644 --- a/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md +++ b/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v2.md @@ -14,9 +14,9 @@ weight: 50 tocEmbedHeaders: true --- -You can integrate Redis Software with Prometheus and tools such as [Grafana]({{}}), [Datadog]({{}}), [Dynatrace]({{}}), or [New Relic]({{}}) to create dashboards for important metrics. +You can integrate Redis Software with Prometheus and tools such as [Grafana](/content/integrate/prometheus-with-redis-enterprise/_index.md), [Datadog](/content/integrate/datadog-with-redis-enterprise/_index.md), [Dynatrace](/content/integrate/dynatrace-with-redis-enterprise/_index.md), or [New Relic](/content/integrate/new-relic-with-redis-enterprise/_index.md) to create dashboards for important metrics. -The v2 metrics in the following tables are available as of Redis Software version 7.8.0. For help transitioning from v1 metrics to v2 PromQL, see [Prometheus v1 metrics and equivalent v2 PromQL]({{}}). +The v2 metrics in the following tables are available as of Redis Software version 7.8.0. For help transitioning from v1 metrics to v2 PromQL, see [Prometheus v1 metrics and equivalent v2 PromQL](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v1-to-v2.md). The v2 scraping endpoint also exposes metrics for `node_exporter`. For more information, see the [Prometheus node_exporter GitHub repository](https://github.com/prometheus/node_exporter). diff --git a/content/operate/rs/monitoring/v1_monitoring.md b/content/operate/rs/monitoring/v1_monitoring.md index cb6fe7ab9b..7b3ab97594 100644 --- a/content/operate/rs/monitoring/v1_monitoring.md +++ b/content/operate/rs/monitoring/v1_monitoring.md @@ -22,7 +22,7 @@ The current monitoring system, which is deprecated as of Redis Software version - This historical data is used to generate trends and performance insights over time. -- [Statistics APIs]({{}}): +- [Statistics APIs](/content/operate/rs/references/rest-api/objects/statistics/_index.md): - This set of RESTful APIs exposes metrics collected at regular intervals from clusters, nodes, databases, shards, and endpoints. @@ -36,7 +36,7 @@ The current monitoring system, which is deprecated as of Redis Software version - v1 Prometheus scraping endpoint: - - Redis Software exposes a legacy `/prometheus_metrics` endpoint to integrate with external observability platforms like [Prometheus and Grafana]({{}}). + - Redis Software exposes a legacy `/prometheus_metrics` endpoint to integrate with external observability platforms like [Prometheus and Grafana](/content/operate/rs/monitoring/get-started.md). - This endpoint fetches data from the internal storage, providing basic monitoring integration. @@ -56,7 +56,7 @@ The internal monitoring system, while functional, has several limitations that a ### Transition to the metrics stream engine -To improve monitoring and address current limitations, Redis Software is transitioning to a new observability foundation: the [metrics stream engine]({{}}). +To improve monitoring and address current limitations, Redis Software is transitioning to a new observability foundation: the [metrics stream engine](/content/operate/rs/monitoring/metrics_stream_engine/_index.md). This modern monitoring stack introduces: @@ -68,11 +68,11 @@ This modern monitoring stack introduces: We recommend migrating to the metrics stream engine for enhanced accuracy, scalability, and future-proof observability. -If you are already using the existing scraping endpoint for integration, follow [this guide]({{}}) to transition and try the new engine. It is possible to scrape both existing and new endpoints simultaneously, allowing advanced dashboard preparation and a smooth transition. +If you are already using the existing scraping endpoint for integration, follow [this guide](/content/operate/rs/monitoring/metrics_stream_engine/prometheus-metrics-v1-to-v2.md) to transition and try the new engine. It is possible to scrape both existing and new endpoints simultaneously, allowing advanced dashboard preparation and a smooth transition. ### Transition cluster manager alerts -As part of Redis Software's transition to the [new metrics stream engine]({{}}), some internal cluster manager alerts were deprecated in favor of external monitoring solutions. See the [alerts transition plan]({{}}) for guidance. +As part of Redis Software's transition to the [new metrics stream engine](/content/operate/rs/monitoring/metrics_stream_engine/_index.md), some internal cluster manager alerts were deprecated in favor of external monitoring solutions. See the [alerts transition plan](/content/operate/rs/monitoring/metrics_stream_engine/alerts-v1-to-v2.md) for guidance. ## Cluster manager metrics @@ -92,9 +92,9 @@ To choose which metrics to display in the two large graphs at the top of the pag We recommend that you show two similar metrics in the top graphs so you can compare them side-by-side. See the following topics for metrics definitions: -- [Database operations]({{< relref "/operate/rs/references/metrics/database-operations" >}}) for database metrics -- [Resource usage]({{< relref "/operate/rs/references/metrics/resource-usage" >}}) for resource and database usage metrics -- [Auto Tiering]({{< relref "/operate/rs/references/metrics/auto-tiering" >}}) for additional metrics for [Auto Tiering ]({{< relref "/operate/rs/databases/flash" >}}) databases +- [Database operations](/content/operate/rs/references/metrics/database-operations.md) for database metrics +- [Resource usage](/content/operate/rs/references/metrics/resource-usage.md) for resource and database usage metrics +- [Auto Tiering](/content/operate/rs/references/metrics/auto-tiering.md) for additional metrics for [Auto Tiering ](/content/operate/rs/databases/flash/_index.md) databases ## Cluster alerts @@ -106,10 +106,9 @@ Configured alerts are shown: - In the **log** - In email notifications, if you configure [email alerts](#send-alerts-by-email) -{{< note >}} -If you enable alerts for "Node joined" or "Node removed" actions, -you must also enable "Receive email alerts" so that the notifications are sent. -{{< /note >}} +> [!NOTE] +> If you enable alerts for "Node joined" or "Node removed" actions, +> you must also enable "Receive email alerts" so that the notifications are sent. To enable alerts for a cluster: @@ -137,8 +136,8 @@ To enable alerts for a database: To send cluster and database alerts by email: 1. In **Cluster > Alert Settings**, click **Edit**. -1. Select **Set an email** to configure the [email server settings]({{< relref "/operate/rs/clusters/configure/cluster-settings#configuring-email-server-settings" >}}). +1. Select **Set an email** to configure the [email server settings](/content/operate/rs/clusters/configure/cluster-settings.md#configuring-email-server-settings). 1. In **Configuration** for the database, click **Edit**. 1. Select the **Alerts** section to open it. 1. Select **Receive email alerts** and click **Save**. -1. In **Access Control**, select the [database and cluster alerts]({{< relref "/operate/rs/security/access-control/create-users#add-users" >}}) that you want each user to receive. +1. In **Access Control**, select the [database and cluster alerts](/content/operate/rs/security/access-control/create-users.md#add-users) that you want each user to receive. diff --git a/content/operate/rs/networking/cluster-dns.md b/content/operate/rs/networking/cluster-dns.md index cfc524196b..0f270c2eee 100644 --- a/content/operate/rs/networking/cluster-dns.md +++ b/content/operate/rs/networking/cluster-dns.md @@ -10,7 +10,7 @@ linkTitle: Configure cluster DNS weight: $weight --- -By default, Redis Software deployments use DNS to communicate between nodes. You can also use the [Discovery Service]({{< relref "/operate/rs/databases/durability-ha/discovery-service.md" >}}), which uses IP addresses to connect and complies with the [Redis Sentinel API]({{< relref "/operate/oss_and_stack/management/sentinel" >}}) supported by Redis Open Source. +By default, Redis Software deployments use DNS to communicate between nodes. You can also use the [Discovery Service](/content/operate/rs/databases/durability-ha/discovery-service.md), which uses IP addresses to connect and complies with the [Redis Sentinel API](/content/operate/oss_and_stack/management/sentinel.md) supported by Redis Open Source. Each node in a Redis Software cluster includes a small DNS server to manage internal functions, such as high availability, automatic failover, automatic migration, and so on. Nodes should only run the DNS server included with the software. Running additional DNS servers can lead to unexpected behavior. @@ -32,9 +32,8 @@ Whether you're administering Redis Software or accessing databases, there are tw The fully qualified domain name (FQDN) is the unique cluster identifier that enables clients to connect to the different components of Redis Software. The FQDN is a crucial component of the high-availability mechanism because it's used internally to enable and implement automatic and transparent failover of nodes, databases, shards, and endpoints. -{{< note >}} -Setting the cluster's FQDN is a one-time operation, one that cannot be changed after being set. -{{< /note >}} +> [!NOTE] +> Setting the cluster's FQDN is a one-time operation, one that cannot be changed after being set. The FQDN must always comply with the IETF's [RFC 952](https://datatracker.ietf.org/doc/html/rfc952) standard and section 2.1 of the [RFC 1123](https://datatracker.ietf.org/doc/html/rfc1123) standard. @@ -105,9 +104,9 @@ However, as the topology of the cluster changes and node with the given IP addre you need to remember the IP address of another node participating in this cluster to connect to the Cluster Manager UI and manage the cluster. Applications connecting to Redis Software databases have the same constraints. -When using the IP-based connection method, you can use the [Discovery Service]({{< relref "/operate/rs/databases/durability-ha/discovery-service.md" >}}) +When using the IP-based connection method, you can use the [Discovery Service](/content/operate/rs/databases/durability-ha/discovery-service.md) to discover the database endpoint for a given database name as long as you have an IP address for at least one of the nodes in the cluster. The API used for discovery service is compliant with the Redis Sentinel API. -To test your connection, try pinging the service. For help, see [Connect to your database]({{< relref "/operate/rs/databases/connect/test-client-connectivity" >}}). +To test your connection, try pinging the service. For help, see [Connect to your database](/content/operate/rs/databases/connect/test-client-connectivity.md). diff --git a/content/operate/rs/networking/cluster-lba-setup.md b/content/operate/rs/networking/cluster-lba-setup.md index bb678a005a..b68705652a 100644 --- a/content/operate/rs/networking/cluster-lba-setup.md +++ b/content/operate/rs/networking/cluster-lba-setup.md @@ -40,7 +40,7 @@ The architecture is shown in the following diagram with a 3-node Redis Software ### Prerequisites -- [Install]({{< relref "/operate/rs/installing-upgrading" >}}) the latest version of Redis Software on your clusters +- [Install](/content/operate/rs/installing-upgrading/_index.md) the latest version of Redis Software on your clusters - Configure the cluster with the cluster name (FQDN) even though DNS is not in use. Remember that the same cluster name is used to issue the license keys. We recommend that you use a ".local" suffix in the FQDN. @@ -53,19 +53,18 @@ The architecture is shown in the following diagram with a 3-node Redis Software - Rest API on port 9443 for secure HTTPS connections and port 8080 for HTTP - Database ports 10000-19999 -Other ports are shown in the list of [Redis Software network ports]({{< relref "/operate/rs/networking/port-configurations" >}}). +Other ports are shown in the list of [Redis Software network ports](/content/operate/rs/networking/port-configurations.md). -{{< note >}} -Sticky, secured connections are needed only for the Redis Software Cluster Manager UI on port 8443. - -- Certain load balancers provide specific logic to close idle connections. Either turn off this feature or make sure the applications connecting to Redis use reconnection logic. -- Make sure the load balancer is fast enough to resolve connections between two clusters or applications that are connected to Redis databases through a load balancer. -- Choose the standard load balancer that is commonly used in your environment so that you have easy access to in-house expertise for troubleshooting issues. -{{< /note >}} +> [!NOTE] +> Sticky, secured connections are needed only for the Redis Software Cluster Manager UI on port 8443. +> +> - Certain load balancers provide specific logic to close idle connections. Either turn off this feature or make sure the applications connecting to Redis use reconnection logic. +> - Make sure the load balancer is fast enough to resolve connections between two clusters or applications that are connected to Redis databases through a load balancer. +> - Choose the standard load balancer that is commonly used in your environment so that you have easy access to in-house expertise for troubleshooting issues. ### Configure cluster -For clusters behind load balancers, we recommend using the `all-nodes` [proxy policy]({{}}) and enabling `handle_redirects`. +For clusters behind load balancers, we recommend using the `all-nodes` [proxy policy](/content/operate/rs/databases/configure/proxy-policy.md) and enabling `handle_redirects`. To allow inbound connections to be terminated on the relevant node inside the cluster, run the following `rladmin` commands on the cluster: @@ -86,9 +85,9 @@ rladmin tune cluster default_shards_placement sparse ### Configure database -After you update the cluster settings and configure the load balancers, you can go to the Redis Software Cluster Manager UI at `https://load-balancer-virtual-ip:8443/` and [create a new database]({{< relref "/operate/rs/databases/create.md" >}}). +After you update the cluster settings and configure the load balancers, you can go to the Redis Software Cluster Manager UI at `https://load-balancer-virtual-ip:8443/` and [create a new database](/content/operate/rs/databases/create.md). -To create an Active-Active database, use the `crdb-cli` utility. See the [`crdb-cli` reference]({{< relref "/operate/rs/references/cli-utilities/crdb-cli" >}}) for more information about creating Active-Active databases from the command line. +To create an Active-Active database, use the `crdb-cli` utility. See the [`crdb-cli` reference](/content/operate/rs/references/cli-utilities/crdb-cli/_index.md) for more information about creating Active-Active databases from the command line. ### Update load balancer configuration when cluster configuration changes @@ -105,7 +104,7 @@ especially if they are directly connected on IP addresses that have changed. ## Intercluster communication considerations -Redis Software supports several topologies that allow intercluster replication, such as [Replica Of]({{< relref "/operate/rs/databases/import-export/replica-of/" >}}) and [Active-Active]({{< relref "/operate/rs/databases/active-active/" >}}) deployment options. +Redis Software supports several topologies that allow intercluster replication, such as [Replica Of](/content/operate/rs/databases/import-export/replica-of/_index.md) and [Active-Active](/content/operate/rs/databases/active-active/_index.md) deployment options. When your Redis Software clusters are behind load balancers, you must allow some network services to be open and defined in the load balancers to allow the replication to work. ### Replica Of @@ -114,4 +113,4 @@ For Replica Of communication to work, you must expose database ports locally in ### Active-Active -For Active-Active communication to work, you must expose several ports, including every database port and several control plane ports as defined in [Network port configurations]({{< relref "/operate/rs/networking/port-configurations" >}}). Pay attention to services that include "Active-Active" in the connection source column, and allow these ports through any firewalls between the clusters. +For Active-Active communication to work, you must expose several ports, including every database port and several control plane ports as defined in [Network port configurations](/content/operate/rs/networking/port-configurations.md). Pay attention to services that include "Active-Active" in the connection source column, and allow these ports through any firewalls between the clusters. diff --git a/content/operate/rs/networking/configuring-aws-route53-dns-redis-enterprise.md b/content/operate/rs/networking/configuring-aws-route53-dns-redis-enterprise.md index 8d45f9dec7..9a15bfe1ca 100644 --- a/content/operate/rs/networking/configuring-aws-route53-dns-redis-enterprise.md +++ b/content/operate/rs/networking/configuring-aws-route53-dns-redis-enterprise.md @@ -52,9 +52,8 @@ When you create a new hosted zone in Route 53 for your domain, a set of NS recor You will need to create a new NS record which will point to the glue records created in the previous step. -{{}} -It is important to make sure that the **Record Name** of the NS record equals the FQDN (Fully Qualified Domain Name) of your Redis Software cluster. If not, DNS resolution will not function correctly. -{{}} +> [!NOTE] +> It is important to make sure that the **Record Name** of the NS record equals the FQDN (Fully Qualified Domain Name) of your Redis Software cluster. If not, DNS resolution will not function correctly. {{< image filename="/images/rs/07-NSRecord-en.png" >}} diff --git a/content/operate/rs/networking/mdns.md b/content/operate/rs/networking/mdns.md index 2a8da41d1f..86487284fb 100644 --- a/content/operate/rs/networking/mdns.md +++ b/content/operate/rs/networking/mdns.md @@ -9,13 +9,12 @@ description: Requirements for using the mDNS protocol in development and testing linkTitle: mDNS client prerequisites weight: $weight --- -{{< note >}} -mDNS is only supported for development and testing environments. -{{< /note >}} +> [!NOTE] +> mDNS is only supported for development and testing environments. -If you choose to use the mDNS protocol when [you set the cluster name]({{< relref "/operate/rs/networking/cluster-dns" >}}), +If you choose to use the mDNS protocol when [you set the cluster name](/content/operate/rs/networking/cluster-dns.md), make sure that the configurations and prerequisites for resolving database endpoints are met on the client machines. -If you have [Replica Of]({{< relref "/operate/rs/databases/import-export/replica-of/" >}}) databases on the cluster, +If you have [Replica Of](/content/operate/rs/databases/import-export/replica-of/_index.md) databases on the cluster, the configurations and prerequisites are also required for the Redis Software nodes. To prepare a client or node for mDNS: @@ -46,7 +45,7 @@ To prepare a client or node for mDNS: $ service avahi-daemon start ``` -1. If you are using [mDNS with IPv6 addresses]({{< relref "/operate/rs/networking/multi-ip-ipv6.md" >}}), +1. If you are using [mDNS with IPv6 addresses](/content/operate/rs/networking/multi-ip-ipv6.md), update the hosts line in `/etc/nsswitch.conf` to: ```yaml diff --git a/content/operate/rs/networking/multi-ip-ipv6.md b/content/operate/rs/networking/multi-ip-ipv6.md index 307f0281d6..8757b300ab 100644 --- a/content/operate/rs/networking/multi-ip-ipv6.md +++ b/content/operate/rs/networking/multi-ip-ipv6.md @@ -37,7 +37,7 @@ IPv6 for internal communication is supported only for new clusters with Redis So If the server has only IPv6 interfaces, IPv6 is automatically used for internal and external traffic. Otherwise, internal traffic uses IPv4 by default. -To use IPv6 for internal traffic on a machine with both IPv4 and IPv6 interfaces, set `use_internal_ipv6` to `true` when you create a cluster using the [bootstrap REST API request]({{< relref "/operate/rs/references/rest-api/requests/bootstrap#post-bootstrap" >}}): +To use IPv6 for internal traffic on a machine with both IPv4 and IPv6 interfaces, set `use_internal_ipv6` to `true` when you create a cluster using the [bootstrap REST API request](/content/operate/rs/references/rest-api/requests/bootstrap/_index.md#post-bootstrap): ```sh POST /v1/bootstrap/create_cluster @@ -87,7 +87,7 @@ If you need to update the internal IP address in the OS, one option is to remove Alternatively, you can use the following steps to update a node's internal IP address without removing it from the cluster: -1. Turn the node into a replica using [`rladmin`]({{< relref "/operate/rs/references/cli-utilities/rladmin/node/enslave" >}}): +1. Turn the node into a replica using [`rladmin`](/content/operate/rs/references/cli-utilities/rladmin/node/enslave.md): ```sh rladmin node enslave demote_node @@ -103,7 +103,7 @@ Alternatively, you can use the following steps to update a node's internal IP ad 1. Follow the operating system vendor's instructions to change the node's IP address. -1. From a different cluster node, use [`rladmin node addr set`]({{< relref "/operate/rs/references/cli-utilities/rladmin/node/addr" >}}) to update the first node's IP address: +1. From a different cluster node, use [`rladmin node addr set`](/content/operate/rs/references/cli-utilities/rladmin/node/addr.md) to update the first node's IP address: ```sh rladmin node addr set @@ -134,7 +134,7 @@ Repeat this procedure for other cluster nodes to change their internal IP addres You can configure external addresses that are not bound to an active interface, but are otherwise mapped or configured to route traffic to the node (such as AWS Elastic IPs or a load balancer VIP). -You can use [rladmin node external_addr]({{< relref "/operate/rs/references/cli-utilities/rladmin/node/external-addr" >}}) to change a node's external IP addresses. +You can use [rladmin node external_addr](/content/operate/rs/references/cli-utilities/rladmin/node/external-addr.md) to change a node's external IP addresses. Add an external IP address: @@ -155,13 +155,12 @@ Remove an external IP address: rladmin node external_addr remove ``` -{{< note >}} -While [joining a new node to a -cluster]({{< relref "/operate/rs/clusters/add-node.md" >}}) -during the node bootstrap process, -when prompted to provide an IP of an existing node in the cluster, -if you use the node's IP, provide the node's internal IP address. -{{< /note >}} +> [!NOTE] +> While [joining a new node to a +> cluster](/content/operate/rs/clusters/add-node.md) +> during the node bootstrap process, +> when prompted to provide an IP of an existing node in the cluster, +> if you use the node's IP, provide the node's internal IP address. ## Known limitations diff --git a/content/operate/rs/networking/port-configurations.md b/content/operate/rs/networking/port-configurations.md index 7744672666..461983c471 100644 --- a/content/operate/rs/networking/port-configurations.md +++ b/content/operate/rs/networking/port-configurations.md @@ -12,9 +12,8 @@ weight: $weight All Redis Software deployments span multiple physical/virtual nodes. You'll need to keep several ports open between these nodes. This document describes the various port ranges and their uses. -{{< note >}} -Whenever you create a new database, you must verify that the ports assigned to the new database's endpoints are open. The cluster will not perform this verification for you. -{{< /note >}} +> [!NOTE] +> Whenever you create a new database, you must verify that the ports assigned to the new database's endpoints are open. The cluster will not perform this verification for you. ## Ports and port ranges used by Redis Software @@ -26,7 +25,7 @@ Redis Software's port usage falls into three general categories: | Protocol | Port | Configurable | Connection source | Description | |----------|------|--------------|-------------------|-------------| -| TCP | 8001 | ❌ No | Internal, External | Traffic from application to Redis Software [Discovery Service]({{< relref "/operate/rs/databases/durability-ha/discovery-service.md" >}}) | +| TCP | 8001 | ❌ No | Internal, External | Traffic from application to Redis Software [Discovery Service](/content/operate/rs/databases/durability-ha/discovery-service.md) | | TCP | 8070 | ❌ No | External | Metrics exported and managed by the web proxy | | TCP | 3347-3349, 8000, 8071, 9091, 9125 | ❌ No | Internal | Internal metrics ports | | TCP | 8443 | ✅ Yes | Internal, External | Secure (HTTPS) access to the management web UI | @@ -44,9 +43,8 @@ Redis Software's port usage falls into three general categories: | TCP | 8002, 8004, 8006 | ✅ Yes | Internal | Default system health monitoring (envoy admin, envoy management server, gossip envoy admin)| | TCP | 8444, 9080 | ❌ No | Internal | Traffic between web proxy and cnm_http/cm | -{{< note >}} -The cluster uses ports 20000-29999 for internal shard traffic. You can't change the range, but `reserved_ports` excludes specific ports or port ranges from shard assignment. -{{< /note >}} +> [!NOTE] +> The cluster uses ports 20000-29999 for internal shard traffic. You can't change the range, but `reserved_ports` excludes specific ports or port ranges from shard assignment. ## Change port configuration @@ -54,7 +52,7 @@ The cluster uses ports 20000-29999 for internal shard traffic. You can't change Redis Software reserves some ports by default (`system_reserved_ports`). To reserve other ports or port ranges and prevent the cluster from assigning them to database endpoints or internal shard traffic, configure `reserved_ports` using one of the following methods: -- [rladmin cluster config]({{< relref "/operate/rs/references/cli-utilities/rladmin/cluster/config" >}}) +- [rladmin cluster config](/content/operate/rs/references/cli-utilities/rladmin/cluster/config.md) ```sh rladmin cluster config reserved_ports @@ -66,7 +64,7 @@ Redis Software reserves some ports by default (`system_reserved_ports`). To rese rladmin cluster config reserved_ports 11000 13000-13010 20048 ``` -- [Update cluster settings]({{< relref "/operate/rs/references/rest-api/requests/cluster#put-cluster" >}}) REST API request +- [Update cluster settings](/content/operate/rs/references/rest-api/requests/cluster/_index.md#put-cluster) REST API request ```sh PUT /v1/cluster @@ -102,7 +100,7 @@ For system health monitoring, Redis uses the following ports by default: - Port 8006 for gossip envoy admin -You can change each envoy port to a custom port using the [`rladmin cluster config`]({{< relref "/operate/rs/references/cli-utilities/rladmin/cluster/config" >}}) command as long as the new port is not in use by another process. When you change `envoy_admin_port`, expect a restart of envoy. +You can change each envoy port to a custom port using the [`rladmin cluster config`](/content/operate/rs/references/cli-utilities/rladmin/cluster/config.md) command as long as the new port is not in use by another process. When you change `envoy_admin_port`, expect a restart of envoy. To change the envoy admin port, run: @@ -173,4 +171,4 @@ To poll metrics from the `metrics_exporter` or to access the Cluster Manager UI, ## Nodes on different VLANs Nodes in the same cluster must reside on the same VLAN. If you can't -host the nodes on the same VLAN, then you must open [all ports]({{< relref "/operate/rs/networking/port-configurations.md" >}}) between them. +host the nodes on the same VLAN, then you must open [all ports](/content/operate/rs/networking/port-configurations.md) between them. diff --git a/content/operate/rs/networking/private-public-endpoints.md b/content/operate/rs/networking/private-public-endpoints.md index a78c54fb7d..f39ed8c4e9 100644 --- a/content/operate/rs/networking/private-public-endpoints.md +++ b/content/operate/rs/networking/private-public-endpoints.md @@ -10,7 +10,7 @@ linkTitle: Public and private endpoints title: "Enable private and\_public database endpoints" weight: $weight --- -Each node in Redis Software can be configured with [private and external IP addresses]({{< relref "/operate/rs/networking/multi-ip-ipv6.md" >}}). By default, Redis Software databases expose a single endpoint, e.g. cluster.com (FQDN), using the external IP addresses, making it available to the public network (e.g. the internet). Additionally, the cluster can be configured to expose a private FQDN, which utilizes the private IP addresses for access from the private network only (e.g. VPC or an internal network). +Each node in Redis Software can be configured with [private and external IP addresses](/content/operate/rs/networking/multi-ip-ipv6.md). By default, Redis Software databases expose a single endpoint, e.g. cluster.com (FQDN), using the external IP addresses, making it available to the public network (e.g. the internet). Additionally, the cluster can be configured to expose a private FQDN, which utilizes the private IP addresses for access from the private network only (e.g. VPC or an internal network). When you create a cluster via the UI, you can configure it to expose private and public endpoints. This is common for environments such as cloud platforms and enterprises.