diff --git a/deploy-manage/api-keys/elastic-cloud-api-keys.md b/deploy-manage/api-keys/elastic-cloud-api-keys.md index 783c667184..387c933e8b 100644 --- a/deploy-manage/api-keys/elastic-cloud-api-keys.md +++ b/deploy-manage/api-keys/elastic-cloud-api-keys.md @@ -19,7 +19,7 @@ You can have multiple API keys for different purposes, and you can revoke them w 3. On the API keys tab of the **Organization** page, click **Create API Key**. ::::{note} - This key provides access to the API that enables you to manage your deployments. It does not provide access to {{es}}. To access {{es}} with an API key, create a key [in {{kib}}](elasticsearch-api-keys.md) or [using the {{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html). + This key provides access to the API that enables you to manage your deployments. It does not provide access to {{es}}. To access {{es}} with an API key, create a key [in {{kib}}](elasticsearch-api-keys.md) or [using the {{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key). :::: 4. From the **Create API Key** page, you can configure your new key by adding a name, set expiration, or assign [roles](../users-roles/cloud-organization/user-roles.md). diff --git a/deploy-manage/api-keys/elasticsearch-api-keys.md b/deploy-manage/api-keys/elasticsearch-api-keys.md index 772513febf..4d8f2cdfb0 100644 --- a/deploy-manage/api-keys/elasticsearch-api-keys.md +++ b/deploy-manage/api-keys/elasticsearch-api-keys.md @@ -37,18 +37,18 @@ To create an API key, go to the **API Keys** management page using the navigatio ![Create API Key UI](../../images/kibana-create-ccr-api-key.png "") -Refer to the [create API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) documentation to learn more about creating user API keys. +Refer to the [create API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) documentation to learn more about creating user API keys. -Refer to the [create cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) documentation to learn more about creating cross-cluster API keys. +Refer to the [create cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) documentation to learn more about creating cross-cluster API keys. ## Update an API key [udpate-api-key] To update an API key, go to the **API Keys** management page using the navigation menu or the [global search field](../../explore-analyze/find-and-organize/find-apps-and-objects.md), and then click on the name of the key. You cannot update the name or the type of API key. -Refer to the [update API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-api-key.html) documentation to learn more about updating user API keys. +Refer to the [update API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-api-key) documentation to learn more about updating user API keys. -Refer to the [update cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-cross-cluster-api-key.html) documentation to learn more about updating cross-cluster API keys. +Refer to the [update cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-cross-cluster-api-key) documentation to learn more about updating cross-cluster API keys. ## View and delete API keys [view-api-keys] diff --git a/deploy-manage/api-keys/serverless-project-api-keys.md b/deploy-manage/api-keys/serverless-project-api-keys.md index c01ff05163..46bee78b5c 100644 --- a/deploy-manage/api-keys/serverless-project-api-keys.md +++ b/deploy-manage/api-keys/serverless-project-api-keys.md @@ -72,7 +72,7 @@ For example, the following `role_descriptors` object defines a `books-read-only` } ``` -For the `role_descriptors` object schema, check out the [`/_security/api_key` endpoint](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html#security-api-create-api-key-request-body) docs. For supported privileges, check [Security privileges](../users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md#privileges-list-indices). +For the `role_descriptors` object schema, check out the [`/_security/api_key` endpoint](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) docs. For supported privileges, check [Security privileges](../users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md#privileges-list-indices). ## Update an API key [api-keys-update-an-api-key] diff --git a/deploy-manage/autoscaling/deployments-autoscaling-on-eck.md b/deploy-manage/autoscaling/deployments-autoscaling-on-eck.md index df47ddffc9..3e85baceb8 100644 --- a/deploy-manage/autoscaling/deployments-autoscaling-on-eck.md +++ b/deploy-manage/autoscaling/deployments-autoscaling-on-eck.md @@ -10,7 +10,7 @@ Elasticsearch autoscaling requires a valid Enterprise license or Enterprise tria :::: -ECK can leverage the [autoscaling API](https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-apis.html) introduced in Elasticsearch 7.11 to adjust automatically the number of Pods and the allocated resources in a tier. Currently, autoscaling is supported for Elasticsearch [data tiers](https://www.elastic.co/guide/en/elasticsearch/reference/current/data-tiers.html) and machine learning nodes. +ECK can leverage the [autoscaling API](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-autoscaling) introduced in Elasticsearch 7.11 to adjust automatically the number of Pods and the allocated resources in a tier. Currently, autoscaling is supported for Elasticsearch [data tiers](https://www.elastic.co/guide/en/elasticsearch/reference/current/data-tiers.html) and machine learning nodes. ## Enable autoscaling [k8s-enable] diff --git a/deploy-manage/deploy/cloud-on-k8s/elastic-stack-configuration-policies.md b/deploy-manage/deploy/cloud-on-k8s/elastic-stack-configuration-policies.md index d78f90c84b..024c55a51a 100644 --- a/deploy-manage/deploy/cloud-on-k8s/elastic-stack-configuration-policies.md +++ b/deploy-manage/deploy/cloud-on-k8s/elastic-stack-configuration-policies.md @@ -18,13 +18,13 @@ This requires a valid Enterprise license or Enterprise trial license. Check [the Starting from ECK `2.6.1` and Elasticsearch `8.6.1`, Elastic Stack configuration policies allow you to configure the following settings for Elasticsearch: * [Cluster Settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html#dynamic-cluster-setting) -* [Snapshot Repositories](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-snapshot-repo-api.html) -* [Snapshot Lifecycle Policies](https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put-policy.html) -* [Ingest pipelines](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-pipeline-api.html) -* [Index Lifecycle Policies](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-put-lifecycle.html) -* [Index templates](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-template.html) -* [Components templates](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-component-template.html) -* [Role mappings](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role-mapping.html) +* [Snapshot Repositories](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository) +* [Snapshot Lifecycle Policies](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-put-lifecycle) +* [Ingest pipelines](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ingest-put-pipeline) +* [Index Lifecycle Policies](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-put-lifecycle) +* [Index templates](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-index-template) +* [Components templates](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-component-template) +* [Role mappings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-role-mapping) * [Elasticsearch Configuration](https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html) (configuration settings for Elasticsearch that will go into `elasticsearch.yml`) [ECK 2.11.0] * [Elasticsearch Secure Settings](../../security/secure-settings.md) [ECK 2.11.0] * [Secret Mounts](#k8s-stack-config-policy-specifics-secret-mounts) [ECK 2.11.0] diff --git a/deploy-manage/deploy/cloud-on-k8s/elasticsearch-deployment-quickstart.md b/deploy-manage/deploy/cloud-on-k8s/elasticsearch-deployment-quickstart.md index 241e58734d..b42af9cae4 100644 --- a/deploy-manage/deploy/cloud-on-k8s/elasticsearch-deployment-quickstart.md +++ b/deploy-manage/deploy/cloud-on-k8s/elasticsearch-deployment-quickstart.md @@ -55,7 +55,7 @@ Get an overview of the current {{es}} clusters in the Kubernetes cluster with [` kubectl get elasticsearch ``` -When you first create the Kubernetes cluster, there is no `HEALTH` status and the `PHASE` is empty. After the pod and service start-up, the `PHASE` turns into `Ready`, and `HEALTH` becomes `green`. The `HEALTH` status comes from {{es}}'s [cluster health API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html). +When you first create the Kubernetes cluster, there is no `HEALTH` status and the `PHASE` is empty. After the pod and service start-up, the `PHASE` turns into `Ready`, and `HEALTH` becomes `green`. The `HEALTH` status comes from {{es}}'s [cluster health API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-health). ```sh NAME HEALTH NODES VERSION PHASE AGE @@ -114,7 +114,7 @@ In order to make requests to the [{{es}} API](https://www.elastic.co/guide/en/el PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o go-template='{{.data.elastic | base64decode}}') ``` -2. Request the [{{es}} root API](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-api-root.html). You can do so from inside the Kubernetes cluster or from your local workstation. For demonstration purposes, certificate verification is disabled using the `-k` curl flag; however, this is not recommended outside of testing purposes. Refer to [Setup your own certificate](tls-certificates.md#k8s-setting-up-your-own-certificate) for more information. +2. Request the [{{es}} root API](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-info). You can do so from inside the Kubernetes cluster or from your local workstation. For demonstration purposes, certificate verification is disabled using the `-k` curl flag; however, this is not recommended outside of testing purposes. Refer to [Setup your own certificate](tls-certificates.md#k8s-setting-up-your-own-certificate) for more information. * From inside the Kubernetes cluster: diff --git a/deploy-manage/deploy/cloud-on-k8s/nodes-orchestration.md b/deploy-manage/deploy/cloud-on-k8s/nodes-orchestration.md index 87762d3aa6..1c59c707ce 100644 --- a/deploy-manage/deploy/cloud-on-k8s/nodes-orchestration.md +++ b/deploy-manage/deploy/cloud-on-k8s/nodes-orchestration.md @@ -173,7 +173,7 @@ Advanced users may force an upgrade by manually deleting Pods themselves. The de Operations that reduce the number of nodes in the cluster cannot make progress without user intervention, if the Elasticsearch index replica settings are incompatible with the intended downscale. Specifically, if the Elasticsearch index settings demand a higher number of shard copies than data nodes in the cluster after the downscale operation, ECK cannot migrate the data away from the node about to be removed. You can address this in the following ways: -* Adjust the Elasticsearch [index settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html) to a number of replicas that allow the desired node removal. +* Adjust the Elasticsearch [index settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-settings) to a number of replicas that allow the desired node removal. * Use [`auto_expand_replicas`](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#dynamic-index-settings) to automatically adjust the replicas to the number of data nodes in the cluster. diff --git a/deploy-manage/deploy/cloud-on-k8s/pod-prestop-hook.md b/deploy-manage/deploy/cloud-on-k8s/pod-prestop-hook.md index 0d3223a413..2609be706a 100644 --- a/deploy-manage/deploy/cloud-on-k8s/pod-prestop-hook.md +++ b/deploy-manage/deploy/cloud-on-k8s/pod-prestop-hook.md @@ -36,5 +36,5 @@ The pre-stop lifecycle hook also tries to gracefully shut down the Elasticsearch This is done on a best effort basis. In particular requests to an Elasticsearch cluster already in the process of shutting down might fail if the Kubernetes service has already been removed. The script allows for `PRE_STOP_MAX_DNS_ERRORS` which default to 2 before giving up. -When using local persistent volumes a different behaviour might be desirable because the Elasticsearch node’s associated storage will not be available anymore on the new Kubernetes node. `PRE_STOP_SHUTDOWN_TYPE` allows to override the default shutdown type to one of the [possible values](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-shutdown.html). Please be aware that setting it to anything other than `restart` might mean that the pre-stop hook will run longer than `terminationGracePeriodSeconds` of the Pod while moving data out of the terminating Pod and will not be able to complete unless you also adjust that value in the `podTemplate`. +When using local persistent volumes a different behaviour might be desirable because the Elasticsearch node’s associated storage will not be available anymore on the new Kubernetes node. `PRE_STOP_SHUTDOWN_TYPE` allows to override the default shutdown type to one of the [possible values](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-shutdown-put-node). Please be aware that setting it to anything other than `restart` might mean that the pre-stop hook will run longer than `terminationGracePeriodSeconds` of the Pod while moving data out of the terminating Pod and will not be able to complete unless you also adjust that value in the `podTemplate`. diff --git a/deploy-manage/deploy/elastic-cloud/ech-restrictions.md b/deploy-manage/deploy/elastic-cloud/ech-restrictions.md index a7843a3424..2740a0cb2d 100644 --- a/deploy-manage/deploy/elastic-cloud/ech-restrictions.md +++ b/deploy-manage/deploy/elastic-cloud/ech-restrictions.md @@ -129,4 +129,4 @@ To make a seamless migration, after restoring from a snapshot there are some add ## Repository Analysis API is unavailable in Elastic Cloud [ech-repository-analyis-unavailable] -* The Elasticsearch [Repository analysis API](https://www.elastic.co/guide/en/elasticsearch/reference/current/repo-analysis-api.html) is not available in {{ecloud}} due to deployments defaulting to having [operator privileges](../../users-roles/cluster-or-deployment-auth/operator-privileges.md) enabled that prevent non-operator privileged users from using it along with a number of other APIs. +* The Elasticsearch [Repository analysis API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-analyze) is not available in {{ecloud}} due to deployments defaulting to having [operator privileges](../../users-roles/cluster-or-deployment-auth/operator-privileges.md) enabled that prevent non-operator privileged users from using it along with a number of other APIs. diff --git a/deploy-manage/deploy/elastic-cloud/ech-working-with-elasticsearch.md b/deploy-manage/deploy/elastic-cloud/ech-working-with-elasticsearch.md index 1099dd2516..9871376dca 100644 --- a/deploy-manage/deploy/elastic-cloud/ech-working-with-elasticsearch.md +++ b/deploy-manage/deploy/elastic-cloud/ech-working-with-elasticsearch.md @@ -107,7 +107,7 @@ Either a `GET` or a `POST` request with some URI search parameters works, or omi curl -u USER:PASSWORD https://ELASTICSEARCH_URL/my_index/_doc/_search?q=title:T* ``` -For an explanation of the allowed parameters, check [URI Search](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html). +For an explanation of the allowed parameters, check [URI Search](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search). To make {{es}} return a more human readable JSON response, add `?pretty=true` to the request: @@ -121,7 +121,7 @@ curl -u USER:PASSWORD https://ELASTICSEARCH_URL/my_index/_doc/_search?pretty=tru For performance reasons, `?pretty=true` is not recommended in production. You can verify the performance difference yourself by checking the `took` field in the JSON response which tells you how long Elasticsearch took to evaluate the search in milliseconds. When we tested these examples ourselves, the difference was `"took" : 4` against `"took" : 18`, a substantial difference. -For a full explanation of how the request body is structured, check [Elasticsearch Request Body documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html). You can also execute multiple queries in one request with the [Multi Search API](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html). +For a full explanation of how the request body is structured, check [Elasticsearch Request Body documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html). You can also execute multiple queries in one request with the [Multi Search API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-msearch). ## Deleting [echdeleting] diff --git a/deploy-manage/deploy/elastic-cloud/manage-plugins-extensions-through-api.md b/deploy-manage/deploy/elastic-cloud/manage-plugins-extensions-through-api.md index aa430c8045..53b3e72a4f 100644 --- a/deploy-manage/deploy/elastic-cloud/manage-plugins-extensions-through-api.md +++ b/deploy-manage/deploy/elastic-cloud/manage-plugins-extensions-through-api.md @@ -162,7 +162,7 @@ The following are examples of a GCP plan. Your specific deployment plan will be } ``` -You can use the [cat plugins API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-plugins.html) to confirm that the plugin has been deployed successfully to Elasticsearch. +You can use the [cat plugins API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-plugins) to confirm that the plugin has been deployed successfully to Elasticsearch. The previous examples are for plugins. For bundles, use the `user_bundles` construct instead. @@ -466,7 +466,7 @@ Unlike bundles, plugins *must* match the Elasticsearch version down to the patch } ``` - You can use the [cat plugins API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-plugins.html) to confirm that the plugin has been upgraded successfully to Elasticsearch. + You can use the [cat plugins API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-plugins) to confirm that the plugin has been upgraded successfully to Elasticsearch. diff --git a/deploy-manage/deploy/elastic-cloud/restrictions-known-problems.md b/deploy-manage/deploy/elastic-cloud/restrictions-known-problems.md index b97b40e755..b39a617292 100644 --- a/deploy-manage/deploy/elastic-cloud/restrictions-known-problems.md +++ b/deploy-manage/deploy/elastic-cloud/restrictions-known-problems.md @@ -153,4 +153,4 @@ To make a seamless migration, after restoring from a snapshot there are some add ## Repository Analysis API is unavailable in Elastic Cloud [ec-repository-analyis-unavailable] -* The Elasticsearch [Repository analysis API](https://www.elastic.co/guide/en/elasticsearch/reference/current/repo-analysis-api.html) is not available in {{ecloud}} due to deployments defaulting to having [operator privileges](../../users-roles/cluster-or-deployment-auth/operator-privileges.md) enabled that prevent non-operator privileged users from using it along with a number of other APIs. +* The Elasticsearch [Repository analysis API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-analyze) is not available in {{ecloud}} due to deployments defaulting to having [operator privileges](../../users-roles/cluster-or-deployment-auth/operator-privileges.md) enabled that prevent non-operator privileged users from using it along with a number of other APIs. diff --git a/deploy-manage/deploy/self-managed/access.md b/deploy-manage/deploy/self-managed/access.md index a493ffe375..f27702a4c6 100644 --- a/deploy-manage/deploy/self-managed/access.md +++ b/deploy-manage/deploy/self-managed/access.md @@ -64,7 +64,7 @@ Troubleshoot the `Kibana Server is not Ready yet` error. curl -XGET elasticsearch_ip_or_hostname:9200/_cat/indices/.kibana,.kibana_task_manager,.kibana_security_session?v=true ``` - These {{kib}}-backing indices must also not have [index settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html) flagging `read_only_allow_delete` or `write` [index blocks](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-blocks.html). + These {{kib}}-backing indices must also not have [index settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-settings) flagging `read_only_allow_delete` or `write` [index blocks](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-blocks.html). 3. [Shut down all {{kib}} nodes](../../maintenance/start-stop-services/start-stop-kibana.md). 4. Choose any {{kib}} node, then update the config to set the [debug logging](../../monitor/logging-configuration/kibana-log-settings-examples.md#change-overall-log-level). diff --git a/deploy-manage/deploy/self-managed/configure-elasticsearch.md b/deploy-manage/deploy/self-managed/configure-elasticsearch.md index a33f0a6891..4a6743aacc 100644 --- a/deploy-manage/deploy/self-managed/configure-elasticsearch.md +++ b/deploy-manage/deploy/self-managed/configure-elasticsearch.md @@ -5,7 +5,7 @@ mapped_pages: # Configure Elasticsearch [settings] -{{es}} ships with good defaults and requires very little configuration. Most settings can be changed on a running cluster using the [Cluster update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) API. +{{es}} ships with good defaults and requires very little configuration. Most settings can be changed on a running cluster using the [Cluster update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) API. The configuration files should contain settings which are node-specific (such as `node.name` and paths), or settings which a node requires in order to be able to join a cluster, such as `cluster.name` and `network.host`. @@ -87,7 +87,7 @@ Cluster and node settings can be categorized based on how they are configured: $$$dynamic-cluster-setting$$$ Dynamic -: You can configure and update dynamic settings on a running cluster using the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). You can also configure dynamic settings locally on an unstarted or shut down node using `elasticsearch.yml`. +: You can configure and update dynamic settings on a running cluster using the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). You can also configure dynamic settings locally on an unstarted or shut down node using `elasticsearch.yml`. Updates made using the cluster update settings API can be *persistent*, which apply across cluster restarts, or *transient*, which reset after a cluster restart. You can also reset transient or persistent settings by assigning them a `null` value using the API. @@ -103,7 +103,7 @@ For example, you can apply a transient setting to override a persistent setting ::::{tip} If you use {{ess}}, use the [user settings](../elastic-cloud/edit-stack-settings.md) feature to configure all cluster settings. This method lets {{ess}} automatically reject unsafe settings that could break your cluster. -If you run {{es}} on your own hardware, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) to configure dynamic cluster settings. Only use `elasticsearch.yml` for static cluster settings and node settings. The API doesn’t require a restart and ensures a setting’s value is the same on all nodes. +If you run {{es}} on your own hardware, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to configure dynamic cluster settings. Only use `elasticsearch.yml` for static cluster settings and node settings. The API doesn’t require a restart and ensures a setting’s value is the same on all nodes. :::: diff --git a/deploy-manage/deploy/self-managed/file-descriptors.md b/deploy-manage/deploy/self-managed/file-descriptors.md index 58c790201e..886865e149 100644 --- a/deploy-manage/deploy/self-managed/file-descriptors.md +++ b/deploy-manage/deploy/self-managed/file-descriptors.md @@ -18,7 +18,7 @@ On macOS, you must also pass the JVM option `-XX:-MaxFDLimit` to Elasticsearch i RPM and Debian packages already default the maximum number of file descriptors to 65535 and do not require further configuration. -You can check the `max_file_descriptors` configured for each node using the [Nodes stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html) API, with: +You can check the `max_file_descriptors` configured for each node using the [Nodes stats](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-stats) API, with: ```console GET _nodes/stats/process?filter_path=**.max_file_descriptors diff --git a/deploy-manage/deploy/self-managed/install-elasticsearch-from-archive-on-linux-macos.md b/deploy-manage/deploy/self-managed/install-elasticsearch-from-archive-on-linux-macos.md index a55645d676..d239d7fb98 100644 --- a/deploy-manage/deploy/self-managed/install-elasticsearch-from-archive-on-linux-macos.md +++ b/deploy-manage/deploy/self-managed/install-elasticsearch-from-archive-on-linux-macos.md @@ -77,7 +77,7 @@ cd elasticsearch-9.0.0-beta1/ <2> ## Enable automatic creation of system indices [targz-enable-indices] -Some commercial features automatically create indices within {{es}}. By default, {{es}} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {{es}}, you must configure [`action.auto_create_index`](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-creation) in `elasticsearch.yml` to allow the commercial features to create the following indices: +Some commercial features automatically create indices within {{es}}. By default, {{es}} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {{es}}, you must configure [`action.auto_create_index`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create) in `elasticsearch.yml` to allow the commercial features to create the following indices: ```yaml action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml* diff --git a/deploy-manage/deploy/self-managed/install-elasticsearch-with-debian-package.md b/deploy-manage/deploy/self-managed/install-elasticsearch-with-debian-package.md index 8a00508697..70e5c548b9 100644 --- a/deploy-manage/deploy/self-managed/install-elasticsearch-with-debian-package.md +++ b/deploy-manage/deploy/self-managed/install-elasticsearch-with-debian-package.md @@ -111,7 +111,7 @@ When you install {{es}}, the installation process configures a single-node clust ## Enable automatic creation of system indices [deb-enable-indices] -Some commercial features automatically create indices within {{es}}. By default, {{es}} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {{es}}, you must configure [`action.auto_create_index`](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-creation) in `elasticsearch.yml` to allow the commercial features to create the following indices: +Some commercial features automatically create indices within {{es}}. By default, {{es}} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {{es}}, you must configure [`action.auto_create_index`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create) in `elasticsearch.yml` to allow the commercial features to create the following indices: ```yaml action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml* diff --git a/deploy-manage/deploy/self-managed/install-elasticsearch-with-docker.md b/deploy-manage/deploy/self-managed/install-elasticsearch-with-docker.md index 896579f323..21d7110a97 100644 --- a/deploy-manage/deploy/self-managed/install-elasticsearch-with-docker.md +++ b/deploy-manage/deploy/self-managed/install-elasticsearch-with-docker.md @@ -141,7 +141,7 @@ docker pull docker.elastic.co/elasticsearch/elasticsearch-wolfi:9.0.0-beta1 docker run -e ENROLLMENT_TOKEN="" --name es02 --net elastic -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:9.0.0-beta1 ``` -3. Call the [cat nodes API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html) to verify the node was added to the cluster. +3. Call the [cat nodes API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-nodes) to verify the node was added to the cluster. ```sh curl --cacert http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200/_cat/nodes diff --git a/deploy-manage/deploy/self-managed/install-elasticsearch-with-rpm.md b/deploy-manage/deploy/self-managed/install-elasticsearch-with-rpm.md index be6d7b48c8..7c76679121 100644 --- a/deploy-manage/deploy/self-managed/install-elasticsearch-with-rpm.md +++ b/deploy-manage/deploy/self-managed/install-elasticsearch-with-rpm.md @@ -115,7 +115,7 @@ When you install {{es}}, the installation process configures a single-node clust ## Enable automatic creation of system indices [rpm-enable-indices] -Some commercial features automatically create indices within {{es}}. By default, {{es}} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {{es}}, you must configure [`action.auto_create_index`](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-creation) in `elasticsearch.yml` to allow the commercial features to create the following indices: +Some commercial features automatically create indices within {{es}}. By default, {{es}} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {{es}}, you must configure [`action.auto_create_index`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create) in `elasticsearch.yml` to allow the commercial features to create the following indices: ```yaml action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml* diff --git a/deploy-manage/deploy/self-managed/install-elasticsearch-with-zip-on-windows.md b/deploy-manage/deploy/self-managed/install-elasticsearch-with-zip-on-windows.md index a39fadf6ea..2dbbde7632 100644 --- a/deploy-manage/deploy/self-managed/install-elasticsearch-with-zip-on-windows.md +++ b/deploy-manage/deploy/self-managed/install-elasticsearch-with-zip-on-windows.md @@ -39,7 +39,7 @@ cd C:\Program Files\elasticsearch-9.0.0-beta1 ## Enable automatic creation of system indices [windows-enable-indices] -Some commercial features automatically create indices within {{es}}. By default, {{es}} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {{es}}, you must configure [`action.auto_create_index`](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-creation) in `elasticsearch.yml` to allow the commercial features to create the following indices: +Some commercial features automatically create indices within {{es}}. By default, {{es}} is configured to allow automatic index creation, and no additional steps are required. However, if you have disabled automatic index creation in {{es}}, you must configure [`action.auto_create_index`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create) in `elasticsearch.yml` to allow the commercial features to create the following indices: ```yaml action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml* diff --git a/deploy-manage/distributed-architecture/clusters-nodes-shards/node-roles.md b/deploy-manage/distributed-architecture/clusters-nodes-shards/node-roles.md index 61eadab4e4..c50a91a650 100644 --- a/deploy-manage/distributed-architecture/clusters-nodes-shards/node-roles.md +++ b/deploy-manage/distributed-architecture/clusters-nodes-shards/node-roles.md @@ -261,7 +261,7 @@ node.roles: [ ingest ] If you take away the ability to be able to handle master duties, to hold data, and pre-process documents, then you are left with a *coordinating* node that can only route requests, handle the search reduce phase, and distribute bulk indexing. Essentially, coordinating only nodes behave as smart load balancers. -Coordinating only nodes can benefit large clusters by offloading the coordinating node role from data and master-eligible nodes. They join the cluster and receive the full [cluster state](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-state.html), like every other node, and they use the cluster state to route requests directly to the appropriate place(s). +Coordinating only nodes can benefit large clusters by offloading the coordinating node role from data and master-eligible nodes. They join the cluster and receive the full [cluster state](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-state), like every other node, and they use the cluster state to route requests directly to the appropriate place(s). ::::{warning} Adding too many coordinating only nodes to a cluster can increase the burden on the entire cluster because the elected master node must await acknowledgement of cluster state updates from every node! The benefit of coordinating only nodes should not be overstated — data nodes can happily serve the same purpose. diff --git a/deploy-manage/distributed-architecture/discovery-cluster-formation/cluster-state-overview.md b/deploy-manage/distributed-architecture/discovery-cluster-formation/cluster-state-overview.md index 190ac80607..1c29cac851 100644 --- a/deploy-manage/distributed-architecture/discovery-cluster-formation/cluster-state-overview.md +++ b/deploy-manage/distributed-architecture/discovery-cluster-formation/cluster-state-overview.md @@ -12,7 +12,7 @@ The *cluster state* is an internal data structure which keeps track of a variety * Index metadata, including the mapping and settings for each index * The location and status of every shard copy in the cluster -The elected master node ensures that every node in the cluster has a copy of the same cluster state. The [cluster state API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-state.html) lets you retrieve a representation of this internal state for debugging or diagnostic purposes. +The elected master node ensures that every node in the cluster has a copy of the same cluster state. The [cluster state API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-state) lets you retrieve a representation of this internal state for debugging or diagnostic purposes. ## Publishing the cluster state [cluster-state-publishing] @@ -34,7 +34,7 @@ The performance characteristics of cluster state updates are a function of the s ## Dangling indices [dangling-index] -When a node joins the cluster, if it finds any shards stored in its local data directory that do not already exist in the cluster state, it will consider those shards to belong to a "dangling" index. You can list, import or delete dangling indices using the [Dangling indices API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html#dangling-indices-api). +When a node joins the cluster, if it finds any shards stored in its local data directory that do not already exist in the cluster state, it will consider those shards to belong to a "dangling" index. You can list, import or delete dangling indices using the [Dangling indices API](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-indices). ::::{note} The API cannot offer any guarantees as to whether the imported data truly represents the latest state of the data when the index was still part of the cluster. diff --git a/deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-voting.md b/deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-voting.md index fbc1096951..cfa8d155a0 100644 --- a/deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-voting.md +++ b/deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-voting.md @@ -39,7 +39,7 @@ If `cluster.auto_shrink_voting_configuration` is set to `true` (which is the def :::: -There are situations in which Elasticsearch might tolerate the loss of multiple nodes, but this is not guaranteed under all sequences of failures. If the `cluster.auto_shrink_voting_configuration` setting is `false`, you must remove departed nodes from the voting configuration manually. Use the [voting exclusions API](https://www.elastic.co/guide/en/elasticsearch/reference/current/voting-config-exclusions.html) to achieve the desired level of resilience. +There are situations in which Elasticsearch might tolerate the loss of multiple nodes, but this is not guaranteed under all sequences of failures. If the `cluster.auto_shrink_voting_configuration` setting is `false`, you must remove departed nodes from the voting configuration manually. Use the [voting exclusions API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-post-voting-config-exclusions) to achieve the desired level of resilience. No matter how it is configured, Elasticsearch will not suffer from a "split-brain" inconsistency. The `cluster.auto_shrink_voting_configuration` setting affects only its availability in the event of the failure of some of its nodes and the administrative tasks that must be performed as nodes join and leave the cluster. diff --git a/deploy-manage/distributed-architecture/reading-and-writing-documents.md b/deploy-manage/distributed-architecture/reading-and-writing-documents.md index 9641e118d8..248aa7b3a6 100644 --- a/deploy-manage/distributed-architecture/reading-and-writing-documents.md +++ b/deploy-manage/distributed-architecture/reading-and-writing-documents.md @@ -17,7 +17,7 @@ This purpose of this section is to give a high level overview of the Elasticsear ## Basic write model [basic-write-model] -Every indexing operation in Elasticsearch is first resolved to a replication group using [routing](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-routing), typically based on the document ID. Once the replication group has been determined, the operation is forwarded internally to the current *primary shard* of the group. This stage of indexing is referred to as the *coordinating stage*. +Every indexing operation in Elasticsearch is first resolved to a replication group using [routing](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create), typically based on the document ID. Once the replication group has been determined, the operation is forwarded internally to the current *primary shard* of the group. This stage of indexing is referred to as the *coordinating stage*. :::{image} ../../images/elasticsearch-reference-data_processing_flow.png :alt: An example of a basic write model. @@ -49,7 +49,7 @@ $$$demoted-primary$$$ While forwarding an operation to the replicas, the primary will use the replicas to validate that it is still the active primary. If the primary has been isolated due to a network partition (or a long GC) it may continue to process incoming indexing operations before realising that it has been demoted. Operations that come from a stale primary will be rejected by the replicas. When the primary receives a response from the replica rejecting its request because it is no longer the primary then it will reach out to the master and will learn that it has been replaced. The operation is then routed to the new primary. ::::{admonition} What happens if there are no replicas? -This is a valid scenario that can happen due to index configuration or simply because all the replicas have failed. In that case the primary is processing operations without any external validation, which may seem problematic. On the other hand, the primary cannot fail other shards on its own but request the master to do so on its behalf. This means that the master knows that the primary is the only single good copy. We are therefore guaranteed that the master will not promote any other (out-of-date) shard copy to be a new primary and that any operation indexed into the primary will not be lost. Of course, since at that point we are running with only single copy of the data, physical hardware issues can cause data loss. See [Active shards](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-wait-for-active-shards) for some mitigation options. +This is a valid scenario that can happen due to index configuration or simply because all the replicas have failed. In that case the primary is processing operations without any external validation, which may seem problematic. On the other hand, the primary cannot fail other shards on its own but request the master to do so on its behalf. This means that the master knows that the primary is the only single good copy. We are therefore guaranteed that the master will not promote any other (out-of-date) shard copy to be a new primary and that any operation indexed into the primary will not be lost. Of course, since at that point we are running with only single copy of the data, physical hardware issues can cause data loss. See [Active shards](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create) for some mitigation options. :::: @@ -73,9 +73,9 @@ When a shard fails to respond to a read request, the coordinating node sends the To ensure fast responses, the following APIs will respond with partial results if one or more shards fail: -* [Search](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html) -* [Multi Search](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html) -* [Multi Get](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-get.html) +* [Search](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search) +* [Multi Search](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-msearch) +* [Multi Get](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-mget) Responses containing partial results still provide a `200 OK` HTTP status code. Shard failures are indicated by the `timed_out` and `_shards` fields of the response header. diff --git a/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery.md b/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery.md index 856a248bf4..c7bd4171d7 100644 --- a/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery.md +++ b/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery.md @@ -40,9 +40,9 @@ If a shard copy is unassigned, it means that the shard copy is not allocated to You can use the following APIs to monitor shard allocation: -* [Cluster allocation explain](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-allocation-explain.html) -* [cat allocation](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-allocation.html) -* [cluster health](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html) +* [Cluster allocation explain](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-allocation-explain) +* [cat allocation](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-allocation) +* [cluster health](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-health) [Learn more about troubleshooting unassigned shard copies and recovering your cluster health](../../troubleshoot/elasticsearch/red-yellow-cluster-status.md). @@ -58,9 +58,9 @@ Recovery automatically occurs during the following processes: * Creation of new replica shard copies from the primary. * Relocation of a shard copy to a different node in the same cluster. * A [snapshot restore](../tools/snapshot-and-restore/restore-snapshot.md) operation. -* A [clone](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clone-index.html), [shrink](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-index.html), or [split](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html) operation. +* A [clone](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-clone), [shrink](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-shrink), or [split](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-split) operation. -You can determine the cause of a shard recovery using the [recovery](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html) or [cat recovery](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html) APIs. +You can determine the cause of a shard recovery using the [recovery](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-recovery) or [cat recovery](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-recovery) APIs. ### Adjust shard recovery settings [_adjust_shard_recovery_settings] @@ -78,8 +78,8 @@ Shard recovery operations also respect general shard allocation settings. You can use the following APIs to monitor shard allocation: -* View a list of in-progress and completed recoveries using the [cat recovery API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html) -* View detailed information about a specific recovery using the [index recovery API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html) +* View a list of in-progress and completed recoveries using the [cat recovery API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-recovery) +* View detailed information about a specific recovery using the [index recovery API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-recovery) ## Shard relocation [shard-relocation] diff --git a/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/delaying-allocation-when-node-leaves.md b/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/delaying-allocation-when-node-leaves.md index 6608687436..64a81b3f80 100644 --- a/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/delaying-allocation-when-node-leaves.md +++ b/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/delaying-allocation-when-node-leaves.md @@ -23,7 +23,7 @@ Even though we throttle concurrent recoveries both at the [node level](https://w * Node 5 returns after a few minutes. * The master rebalances the cluster by allocating shards to Node 5. -If the master had just waited for a few minutes, then the missing shards could have been re-allocated to Node 5 with the minimum of network traffic. This process would be even quicker for idle shards (shards not receiving indexing requests) which have been automatically [flushed](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-flush.html). +If the master had just waited for a few minutes, then the missing shards could have been re-allocated to Node 5 with the minimum of network traffic. This process would be even quicker for idle shards (shards not receiving indexing requests) which have been automatically [flushed](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-flush). The allocation of replica shards which become unassigned because a node has left can be delayed with the `index.unassigned.node_left.delayed_timeout` dynamic setting, which defaults to `1m`. @@ -61,7 +61,7 @@ For this reason, the default `timeout` is set to just one minute: even if shard ## Monitoring delayed unassigned shards [_monitoring_delayed_unassigned_shards] -The number of shards whose allocation has been delayed by this timeout setting can be viewed with the [cluster health API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html): +The number of shards whose allocation has been delayed by this timeout setting can be viewed with the [cluster health API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-health): ```console GET _cluster/health <1> diff --git a/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/shard-allocation-awareness.md b/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/shard-allocation-awareness.md index 99b4c77085..9476c24413 100644 --- a/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/shard-allocation-awareness.md +++ b/deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/shard-allocation-awareness.md @@ -48,7 +48,7 @@ To enable shard allocation awareness: 1. Specify multiple attributes as a comma-separated list. - You can also use the [cluster-update-settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) API to set or update a cluster’s awareness attributes: + You can also use the [cluster-update-settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) API to set or update a cluster’s awareness attributes: ```console PUT /_cluster/settings diff --git a/deploy-manage/license/manage-your-license-in-eck.md b/deploy-manage/license/manage-your-license-in-eck.md index 5029487c32..e06631fcea 100644 --- a/deploy-manage/license/manage-your-license-in-eck.md +++ b/deploy-manage/license/manage-your-license-in-eck.md @@ -85,7 +85,7 @@ kubectl create secret generic eck-license --from-file=my-license-file.json -n el kubectl label secret eck-license "license.k8s.elastic.co/scope"=operator -n elastic-system ``` -After you install a license into ECK, the Enterprise features of the operator are available, like Elasticsearch autoscaling and support for Elastic Maps Server. All the Elastic Stack applications you manage with ECK will have Platinum and Enterprise features enabled. The [`_license`](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-license.html) API reports that individual Elasticsearch clusters are running under an Enterprise license, and the [elastic-licensing](#k8s-get-usage-data) ConfigMap contains the current license level of the ECK operator. The applications created before you installed the license are upgraded to Platinum or Enterprise features without interruption of service after a short delay. +After you install a license into ECK, the Enterprise features of the operator are available, like Elasticsearch autoscaling and support for Elastic Maps Server. All the Elastic Stack applications you manage with ECK will have Platinum and Enterprise features enabled. The [`_license`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-license-get) API reports that individual Elasticsearch clusters are running under an Enterprise license, and the [elastic-licensing](#k8s-get-usage-data) ConfigMap contains the current license level of the ECK operator. The applications created before you installed the license are upgraded to Platinum or Enterprise features without interruption of service after a short delay. ::::{note} The Elasticsearch `_license` API for versions before 8.0.0 reports a Platinum license level for backwards compatibility even if an Enterprise license is installed. @@ -98,7 +98,7 @@ The Elasticsearch `_license` API for versions before 8.0.0 reports a Platinum li Before your current Enterprise license expires, you will receive a new Enterprise license from Elastic (provided that your subscription is valid). ::::{note} -You can check the expiry date of your license in the [elastic-licensing](#k8s-get-usage-data) ConfigMap. Enterprise licenses are container licenses that include multiple licenses for individual Elasticsearch clusters with shorter expiry. Therefore, you get a different expiry in Kibana or through the Elasticsearch [`_license`](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-license.html) API. ECK automatically updates the Elasticsearch cluster licenses until the expiry date of the ECK Enterprise license is reached. +You can check the expiry date of your license in the [elastic-licensing](#k8s-get-usage-data) ConfigMap. Enterprise licenses are container licenses that include multiple licenses for individual Elasticsearch clusters with shorter expiry. Therefore, you get a different expiry in Kibana or through the Elasticsearch [`_license`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-license-get) API. ECK automatically updates the Elasticsearch cluster licenses until the expiry date of the ECK Enterprise license is reached. :::: diff --git a/deploy-manage/license/manage-your-license-in-self-managed-cluster.md b/deploy-manage/license/manage-your-license-in-self-managed-cluster.md index ad437e1717..9b8c27787e 100644 --- a/deploy-manage/license/manage-your-license-in-self-managed-cluster.md +++ b/deploy-manage/license/manage-your-license-in-self-managed-cluster.md @@ -30,5 +30,5 @@ If your license expires, your subscription level reverts to Basic and you will n Licenses are provided as a *JSON* file and have an effective date and an expiration date. You cannot install a new license before its effective date. License updates take effect immediately and do not require restarting {{es}}. -You can update your license from **Stack Management > License Management** or through the [update license API](https://www.elastic.co/guide/en/elasticsearch/reference/current/update-license.html). +You can update your license from **Stack Management > License Management** or through the [update license API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-license-post). diff --git a/deploy-manage/maintenance/add-and-remove-elasticsearch-nodes.md b/deploy-manage/maintenance/add-and-remove-elasticsearch-nodes.md index 3dcba42361..858393b6f2 100644 --- a/deploy-manage/maintenance/add-and-remove-elasticsearch-nodes.md +++ b/deploy-manage/maintenance/add-and-remove-elasticsearch-nodes.md @@ -87,7 +87,7 @@ More precisely, if you shut down half or more of the master-eligible nodes all a As long as there are at least three master-eligible nodes in the cluster, as a general rule it is best to remove nodes one-at-a-time, allowing enough time for the cluster to [automatically adjust](../distributed-architecture/discovery-cluster-formation/modules-discovery-quorums.md) the voting configuration and adapt the fault tolerance level to the new set of nodes. -If there are only two master-eligible nodes remaining then neither node can be safely removed since both are required to reliably make progress. To remove one of these nodes you must first inform {{es}} that it should not be part of the voting configuration, and that the voting power should instead be given to the other node. You can then take the excluded node offline without preventing the other node from making progress. A node which is added to a voting configuration exclusion list still works normally, but {{es}} tries to remove it from the voting configuration so its vote is no longer required. Importantly, {{es}} will never automatically move a node on the voting exclusions list back into the voting configuration. Once an excluded node has been successfully auto-reconfigured out of the voting configuration, it is safe to shut it down without affecting the cluster’s master-level availability. A node can be added to the voting configuration exclusion list using the [Voting configuration exclusions](https://www.elastic.co/guide/en/elasticsearch/reference/current/voting-config-exclusions.html) API. For example: +If there are only two master-eligible nodes remaining then neither node can be safely removed since both are required to reliably make progress. To remove one of these nodes you must first inform {{es}} that it should not be part of the voting configuration, and that the voting power should instead be given to the other node. You can then take the excluded node offline without preventing the other node from making progress. A node which is added to a voting configuration exclusion list still works normally, but {{es}} tries to remove it from the voting configuration so its vote is no longer required. Importantly, {{es}} will never automatically move a node on the voting exclusions list back into the voting configuration. Once an excluded node has been successfully auto-reconfigured out of the voting configuration, it is safe to shut it down without affecting the cluster’s master-level availability. A node can be added to the voting configuration exclusion list using the [Voting configuration exclusions](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-post-voting-config-exclusions) API. For example: ```console # Add node to voting configuration exclusions list and wait for the system diff --git a/deploy-manage/maintenance/start-stop-services/full-cluster-restart-rolling-restart-procedures.md b/deploy-manage/maintenance/start-stop-services/full-cluster-restart-rolling-restart-procedures.md index b34e769a67..d3d70b8f51 100644 --- a/deploy-manage/maintenance/start-stop-services/full-cluster-restart-rolling-restart-procedures.md +++ b/deploy-manage/maintenance/start-stop-services/full-cluster-restart-rolling-restart-procedures.md @@ -33,7 +33,7 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the 2. **Stop indexing and perform a flush.** - Performing a [flush](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-flush.html) speeds up shard recovery. + Performing a [flush](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-flush) speeds up shard recovery. ```console POST /_flush @@ -46,7 +46,7 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the You have two options to handle {{ml}} jobs and {{dfeeds}} when you shut down a cluster: - * Temporarily halt the tasks associated with your {{ml}} jobs and {{dfeeds}} and prevent new jobs from opening by using the [set upgrade mode API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html): + * Temporarily halt the tasks associated with your {{ml}} jobs and {{dfeeds}} and prevent new jobs from opening by using the [set upgrade mode API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-set-upgrade-mode): ```console POST _ml/set_upgrade_mode?enabled=true @@ -81,7 +81,7 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the If you have dedicated master nodes, start them first and wait for them to form a cluster and elect a master before proceeding with your data nodes. You can check progress by looking at the logs. - As soon as enough master-eligible nodes have discovered each other, they form a cluster and elect a master. At that point, you can use the [cat health](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-health.html) and [cat nodes](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html) APIs to monitor nodes joining the cluster: + As soon as enough master-eligible nodes have discovered each other, they form a cluster and elect a master. At that point, you can use the [cat health](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-health) and [cat nodes](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-nodes) APIs to monitor nodes joining the cluster: ```console GET _cat/health @@ -93,7 +93,7 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the 5. **Wait for all nodes to join the cluster and report a status of yellow.** - When a node joins the cluster, it begins to recover any primary shards that are stored locally. The [`_cat/health`](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-health.html) API initially reports a `status` of `red`, indicating that not all primary shards have been allocated. + When a node joins the cluster, it begins to recover any primary shards that are stored locally. The [`_cat/health`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-health) API initially reports a `status` of `red`, indicating that not all primary shards have been allocated. Once a node recovers its local shards, the cluster `status` switches to `yellow`, indicating that all primary shards have been recovered, but not all replica shards are allocated. This is to be expected because you have not yet re-enabled allocation. Delaying the allocation of replicas until all nodes are `yellow` allows the master to allocate replicas to nodes that already have local shard copies. @@ -112,7 +112,7 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the Once allocation is re-enabled, the cluster starts allocating replica shards to the data nodes. At this point it is safe to resume indexing and searching, but your cluster will recover more quickly if you can wait until all primary and replica shards have been successfully allocated and the status of all nodes is `green`. - You can monitor progress with the [`_cat/health`](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-health.html) and [`_cat/recovery`](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html) APIs: + You can monitor progress with the [`_cat/health`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-health) and [`_cat/recovery`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-recovery) APIs: ```console GET _cat/health @@ -122,13 +122,13 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the 7. **Restart machine learning jobs.** (Optional) - If you temporarily halted the tasks associated with your {{ml}} jobs, use the [set upgrade mode API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html) to return them to active states: + If you temporarily halted the tasks associated with your {{ml}} jobs, use the [set upgrade mode API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-set-upgrade-mode) to return them to active states: ```console POST _ml/set_upgrade_mode?enabled=false ``` - If you closed all {{ml}} jobs before stopping the nodes, open the jobs and start the datafeeds from {{kib}} or with the [open jobs](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-open-job.html) and [start datafeed](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-datafeed.html) APIs. + If you closed all {{ml}} jobs before stopping the nodes, open the jobs and start the datafeeds from {{kib}} or with the [open jobs](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-open-job) and [start datafeed](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-start-datafeed) APIs. @@ -151,7 +151,7 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the 2. **Stop non-essential indexing and perform a flush.** (Optional) - While you can continue indexing during the rolling restart, shard recovery can be faster if you temporarily stop non-essential indexing and perform a [flush](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-flush.html). + While you can continue indexing during the rolling restart, shard recovery can be faster if you temporarily stop non-essential indexing and perform a [flush](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-flush). ```console POST /_flush @@ -163,7 +163,7 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the You have two options to handle {{ml}} jobs and {{dfeeds}} when you shut down a cluster: - * Temporarily halt the tasks associated with your {{ml}} jobs and {{dfeeds}} and prevent new jobs from opening by using the [set upgrade mode API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html): + * Temporarily halt the tasks associated with your {{ml}} jobs and {{dfeeds}} and prevent new jobs from opening by using the [set upgrade mode API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-set-upgrade-mode): ```console POST _ml/set_upgrade_mode?enabled=true @@ -223,12 +223,12 @@ Nodes exceeding the low watermark threshold will be slow to restart. Reduce the 9. **Restart machine learning jobs.** (Optional) - If you temporarily halted the tasks associated with your {{ml}} jobs, use the [set upgrade mode API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html) to return them to active states: + If you temporarily halted the tasks associated with your {{ml}} jobs, use the [set upgrade mode API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-set-upgrade-mode) to return them to active states: ```console POST _ml/set_upgrade_mode?enabled=false ``` - If you closed all {{ml}} jobs before stopping the nodes, open the jobs and start the datafeeds from {{kib}} or with the [open jobs](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-open-job.html) and [start datafeed](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-datafeed.html) APIs. + If you closed all {{ml}} jobs before stopping the nodes, open the jobs and start the datafeeds from {{kib}} or with the [open jobs](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-open-job) and [start datafeed](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-start-datafeed) APIs. diff --git a/deploy-manage/monitor/logging-configuration/elasticsearch-audit-events.md b/deploy-manage/monitor/logging-configuration/elasticsearch-audit-events.md index cbca6ce141..a209e7406f 100644 --- a/deploy-manage/monitor/logging-configuration/elasticsearch-audit-events.md +++ b/deploy-manage/monitor/logging-configuration/elasticsearch-audit-events.md @@ -115,7 +115,7 @@ $$$event-authentication-success$$$ $$$event-change-disable-user$$$ `change_disable_user` -: Logged when the [enable user API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-enable-user.html) is invoked to disable a native or a built-in user. +: Logged when the [enable user API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-enable-user) is invoked to disable a native or a built-in user. You must include the `security_config_change` event type to audit the related event action. @@ -133,7 +133,7 @@ $$$event-change-disable-user$$$ $$$event-change-enable-user$$$ `change_enable_user` -: Logged when the [enable user API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-enable-user.html) is invoked to enable a native or a built-in user. +: Logged when the [enable user API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-enable-user) is invoked to enable a native or a built-in user. You must include the `security_config_change` event type to audit the related event action. @@ -151,7 +151,7 @@ $$$event-change-enable-user$$$ $$$event-change-password$$$ `change_password` -: Logged when the [change password API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-change-password.html) is invoked to change the password of a native or built-in user. +: Logged when the [change password API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-change-password) is invoked to change the password of a native or built-in user. You must include the `security_config_change` event type to audit the related event action. @@ -169,7 +169,7 @@ $$$event-change-password$$$ $$$event-create-service-token$$$ `create_service_token` -: Logged when the [create service account token API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html) is invoked to create a new index-based token for a service account. +: Logged when the [create service account token API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-service-token) is invoked to create a new index-based token for a service account. You must include the `security_config_change` event type to audit the related event action. @@ -219,7 +219,7 @@ $$$event-connection-granted$$$ $$$event-create-apikey$$$ `create_apikey` -: Logged when the [create API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) or the [grant API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-grant-api-key.html) APIs are invoked to create a new API key. +: Logged when the [create API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) or the [grant API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-grant-api-key) APIs are invoked to create a new API key. You must include the `security_config_change` event type to audit the related event action. @@ -244,7 +244,7 @@ $$$event-create-apikey$$$ $$$event-change-apikey$$$ `change_apikey` -: Logged when the [update API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-api-key.html) API is invoked to update the attributes of an existing API key. +: Logged when the [update API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-api-key) API is invoked to update the attributes of an existing API key. You must include the `security_config_change` event type to audit the related event action. @@ -269,7 +269,7 @@ $$$event-change-apikey$$$ $$$event-change-apikeys$$$ `change_apikeys` -: Logged when the [bulk update API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-bulk-update-api-keys.html) API is invoked to update the attributes of multiple existing API keys. +: Logged when the [bulk update API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-bulk-update-api-keys) API is invoked to update the attributes of multiple existing API keys. You must include the `security_config_change` event type to audit the related event action. @@ -295,7 +295,7 @@ $$$event-change-apikeys$$$ $$$event-delete-privileges$$$ `delete_privileges` -: Logged when the [delete application privileges API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-privilege.html) is invoked to remove one or more application privileges. +: Logged when the [delete application privileges API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-delete-privileges) is invoked to remove one or more application privileges. You must include the `security_config_change` event type to audit the related event action. @@ -313,7 +313,7 @@ $$$event-delete-privileges$$$ $$$event-delete-role$$$ `delete_role` -: Logged when the [delete role API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-role.html) is invoked to delete a role. +: Logged when the [delete role API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-delete-role) is invoked to delete a role. You must include the `security_config_change` event type to audit the related event action. @@ -331,7 +331,7 @@ $$$event-delete-role$$$ $$$event-delete-role-mapping$$$ `delete_role_mapping` -: Logged when the [delete role mapping API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-role-mapping.html) is invoked to delete a role mapping. +: Logged when the [delete role mapping API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-delete-role-mapping) is invoked to delete a role mapping. You must include the `security_config_change` event type to audit the related event action. @@ -349,7 +349,7 @@ $$$event-delete-role-mapping$$$ $$$event-delete-service-token$$$ `delete_service_token` -: Logged when the [delete service account token API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-service-token.html) is invoked to delete an index-based token for a service account. +: Logged when the [delete service account token API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-delete-service-token) is invoked to delete an index-based token for a service account. You must include the `security_config_change` event type to audit the related event action. @@ -367,7 +367,7 @@ $$$event-delete-service-token$$$ $$$event-delete-user$$$ `delete_user` -: Logged when the [delete user API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-user.html) is invoked to delete a specific native user. +: Logged when the [delete user API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-delete-user) is invoked to delete a specific native user. You must include the `security_config_change` event type to audit the related event action. @@ -385,7 +385,7 @@ $$$event-delete-user$$$ $$$event-invalidate-apikeys$$$ `invalidate_apikeys` -: Logged when the [invalidate API key API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-api-key.html) is invoked to invalidate one or more API keys. +: Logged when the [invalidate API key API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-invalidate-api-key) is invoked to invalidate one or more API keys. You must include the `security_config_change` event type to audit the related event action. @@ -404,7 +404,7 @@ $$$event-invalidate-apikeys$$$ $$$event-put-privileges$$$ `put_privileges` -: Logged when the [create or update privileges API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-privileges.html) is invoked to add or update one or more application privileges. +: Logged when the [create or update privileges API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-privileges) is invoked to add or update one or more application privileges. You must include the `security_config_change` event type to audit the related event action. @@ -423,7 +423,7 @@ $$$event-put-privileges$$$ $$$event-put-role$$$ `put_role` -: Logged when the [create or update role API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html) is invoked to create or update a role. +: Logged when the [create or update role API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-role) is invoked to create or update a role. You must include the `security_config_change` event type to audit the related event action. @@ -445,7 +445,7 @@ $$$event-put-role$$$ $$$event-put-role-mapping$$$ `put_role_mapping` -: Logged when the [create or update role mapping API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role-mapping.html) is invoked to create or update a role mapping. +: Logged when the [create or update role mapping API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-role-mapping) is invoked to create or update a role mapping. You must include the `security_config_change` event type to audit the related event action. @@ -464,7 +464,7 @@ $$$event-put-role-mapping$$$ $$$event-put-user$$$ `put_user` -: Logged when the [create or update user API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html) is invoked to create or update a native user. Note that user updates can also change the user’s password. +: Logged when the [create or update user API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-user) is invoked to create or update a native user. Note that user updates can also change the user’s password. You must include the `security_config_change` event type to audit the related event action. @@ -673,10 +673,10 @@ These events also have **one** of the following extra attributes (in addition to : The object representation of the security config that is being changed. It can be the `password`, `enable` or `disable`, config object for native or built-in users. If an API key is updated, the config object will be an `apikey`. `create` -: The object representation of the new security config that is being created. This is currently only used for API keys auditing. If the API key is created using the [create API key API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) it only contains an `apikey` config object. If the API key is created using the [grant API key API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-grant-api-key.html) it also contains a `grant` config object. +: The object representation of the new security config that is being created. This is currently only used for API keys auditing. If the API key is created using the [create API key API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) it only contains an `apikey` config object. If the API key is created using the [grant API key API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-grant-api-key) it also contains a `grant` config object. `invalidate` -: The object representation of the security configuration that is being invalidated. The only config that currently supports invalidation is `apikeys`, through the [invalidate API key API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-api-key.html). +: The object representation of the security configuration that is being invalidated. The only config that currently supports invalidation is `apikeys`, through the [invalidate API key API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-invalidate-api-key). The schemas of the security config objects mentioned above are as follows. They are very similar to the request bodies of the corresponding security APIs. @@ -818,10 +818,10 @@ There are a few events that have some more attributes in addition to those that : Method used to authenticate the user. Possible values are `REALM`, `API_KEY`, `TOKEN`, `ANONYMOUS` or `INTERNAL`. `apikey.id` - : API key ID returned by the [create API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) request. This attribute is only provided for authentication using an API key. + : API key ID returned by the [create API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) request. This attribute is only provided for authentication using an API key. `apikey.name` - : API key name provided in the [create API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) request. This attribute is only provided for authentication using an API key. + : API key name provided in the [create API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) request. This attribute is only provided for authentication using an API key. `authentication.token.name` : Name of the [service account](../../users-roles/cluster-or-deployment-auth/service-accounts.md) token. This attribute is only provided for authentication using a service account token. @@ -886,10 +886,10 @@ There are a few events that have some more attributes in addition to those that : Method used to authenticate the user. Possible values are `REALM`, `API_KEY`, `TOKEN`, `ANONYMOUS` or `INTERNAL`. `apikey.id` - : API key ID returned by the [create API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) request. This attribute is only provided for authentication using an API key. + : API key ID returned by the [create API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) request. This attribute is only provided for authentication using an API key. `apikey.name` - : API key name provided in the [create API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) request. This attribute is only provided for authentication using an API key. + : API key name provided in the [create API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) request. This attribute is only provided for authentication using an API key. `authentication.token.name` : Name of the [service account](../../users-roles/cluster-or-deployment-auth/service-accounts.md) token. This attribute is only provided for authentication using a service account token. diff --git a/deploy-manage/monitor/logging-configuration/elasticsearch-deprecation-logs.md b/deploy-manage/monitor/logging-configuration/elasticsearch-deprecation-logs.md index e79f2bfc57..b27edbb6fa 100644 --- a/deploy-manage/monitor/logging-configuration/elasticsearch-deprecation-logs.md +++ b/deploy-manage/monitor/logging-configuration/elasticsearch-deprecation-logs.md @@ -158,11 +158,11 @@ Log4J 2 log messages include a *level* field, which is one of the following (in By default {{es}} includes all messages at levels `INFO`, `WARN`, `ERROR` and `FATAL` in its logs, but filters out messages at levels `DEBUG` and `TRACE`. This is the recommended configuration. Do not filter out messages at `INFO` or higher log levels or else you may not be able to understand your cluster’s behaviour or troubleshoot common problems. Do not enable logging at levels `DEBUG` or `TRACE` unless you are following instructions elsewhere in this manual which call for more detailed logging, or you are an expert user who will be reading the {{es}} source code to determine the meaning of the logs. -Messages are logged by a hierarchy of loggers which matches the hierarchy of Java packages and classes in the [{{es}} source code](https://github.com/elastic/elasticsearch/). Every logger has a corresponding [dynamic setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) which can be used to control the verbosity of its logs. The setting’s name is the fully-qualified name of the package or class, prefixed with `logger.`. +Messages are logged by a hierarchy of loggers which matches the hierarchy of Java packages and classes in the [{{es}} source code](https://github.com/elastic/elasticsearch/). Every logger has a corresponding [dynamic setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) which can be used to control the verbosity of its logs. The setting’s name is the fully-qualified name of the package or class, prefixed with `logger.`. You may set each logger’s verbosity to the name of a log level, for instance `DEBUG`, which means that messages from this logger at levels up to the specified one will be included in the logs. You may also use the value `OFF` to suppress all messages from the logger. -For example, the `org.elasticsearch.discovery` package contains functionality related to the [discovery](../../distributed-architecture/discovery-cluster-formation/discovery-hosts-providers.md) process, and you can control the verbosity of its logs with the `logger.org.elasticsearch.discovery` setting. To enable `DEBUG` logging for this package, use the [Cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) as follows: +For example, the `org.elasticsearch.discovery` package contains functionality related to the [discovery](../../distributed-architecture/discovery-cluster-formation/discovery-hosts-providers.md) process, and you can control the verbosity of its logs with the `logger.org.elasticsearch.discovery` setting. To enable `DEBUG` logging for this package, use the [Cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) as follows: ```console PUT /_cluster/settings diff --git a/deploy-manage/monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md b/deploy-manage/monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md index bafe2b82c2..c17491b1b2 100644 --- a/deploy-manage/monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md +++ b/deploy-manage/monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md @@ -155,11 +155,11 @@ Log4J 2 log messages include a *level* field, which is one of the following (in By default {{es}} includes all messages at levels `INFO`, `WARN`, `ERROR` and `FATAL` in its logs, but filters out messages at levels `DEBUG` and `TRACE`. This is the recommended configuration. Do not filter out messages at `INFO` or higher log levels or else you may not be able to understand your cluster’s behaviour or troubleshoot common problems. Do not enable logging at levels `DEBUG` or `TRACE` unless you are following instructions elsewhere in this manual which call for more detailed logging, or you are an expert user who will be reading the {{es}} source code to determine the meaning of the logs. -Messages are logged by a hierarchy of loggers which matches the hierarchy of Java packages and classes in the [{{es}} source code](https://github.com/elastic/elasticsearch/). Every logger has a corresponding [dynamic setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) which can be used to control the verbosity of its logs. The setting’s name is the fully-qualified name of the package or class, prefixed with `logger.`. +Messages are logged by a hierarchy of loggers which matches the hierarchy of Java packages and classes in the [{{es}} source code](https://github.com/elastic/elasticsearch/). Every logger has a corresponding [dynamic setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) which can be used to control the verbosity of its logs. The setting’s name is the fully-qualified name of the package or class, prefixed with `logger.`. You may set each logger’s verbosity to the name of a log level, for instance `DEBUG`, which means that messages from this logger at levels up to the specified one will be included in the logs. You may also use the value `OFF` to suppress all messages from the logger. -For example, the `org.elasticsearch.discovery` package contains functionality related to the [discovery](../../distributed-architecture/discovery-cluster-formation/discovery-hosts-providers.md) process, and you can control the verbosity of its logs with the `logger.org.elasticsearch.discovery` setting. To enable `DEBUG` logging for this package, use the [Cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) as follows: +For example, the `org.elasticsearch.discovery` package contains functionality related to the [discovery](../../distributed-architecture/discovery-cluster-formation/discovery-hosts-providers.md) process, and you can control the verbosity of its logs with the `logger.org.elasticsearch.discovery` setting. To enable `DEBUG` logging for this package, use the [Cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) as follows: ```console PUT /_cluster/settings diff --git a/deploy-manage/monitor/logging-configuration/update-elasticsearch-logging-levels.md b/deploy-manage/monitor/logging-configuration/update-elasticsearch-logging-levels.md index f7ae66e009..14d6220ca0 100644 --- a/deploy-manage/monitor/logging-configuration/update-elasticsearch-logging-levels.md +++ b/deploy-manage/monitor/logging-configuration/update-elasticsearch-logging-levels.md @@ -158,11 +158,11 @@ Log4J 2 log messages include a *level* field, which is one of the following (in By default {{es}} includes all messages at levels `INFO`, `WARN`, `ERROR` and `FATAL` in its logs, but filters out messages at levels `DEBUG` and `TRACE`. This is the recommended configuration. Do not filter out messages at `INFO` or higher log levels or else you may not be able to understand your cluster’s behaviour or troubleshoot common problems. Do not enable logging at levels `DEBUG` or `TRACE` unless you are following instructions elsewhere in this manual which call for more detailed logging, or you are an expert user who will be reading the {{es}} source code to determine the meaning of the logs. -Messages are logged by a hierarchy of loggers which matches the hierarchy of Java packages and classes in the [{{es}} source code](https://github.com/elastic/elasticsearch/). Every logger has a corresponding [dynamic setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) which can be used to control the verbosity of its logs. The setting’s name is the fully-qualified name of the package or class, prefixed with `logger.`. +Messages are logged by a hierarchy of loggers which matches the hierarchy of Java packages and classes in the [{{es}} source code](https://github.com/elastic/elasticsearch/). Every logger has a corresponding [dynamic setting](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) which can be used to control the verbosity of its logs. The setting’s name is the fully-qualified name of the package or class, prefixed with `logger.`. You may set each logger’s verbosity to the name of a log level, for instance `DEBUG`, which means that messages from this logger at levels up to the specified one will be included in the logs. You may also use the value `OFF` to suppress all messages from the logger. -For example, the `org.elasticsearch.discovery` package contains functionality related to the [discovery](../../distributed-architecture/discovery-cluster-formation/discovery-hosts-providers.md) process, and you can control the verbosity of its logs with the `logger.org.elasticsearch.discovery` setting. To enable `DEBUG` logging for this package, use the [Cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) as follows: +For example, the `org.elasticsearch.discovery` package contains functionality related to the [discovery](../../distributed-architecture/discovery-cluster-formation/discovery-hosts-providers.md) process, and you can control the verbosity of its logs with the `logger.org.elasticsearch.discovery` setting. To enable `DEBUG` logging for this package, use the [Cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) as follows: ```console PUT /_cluster/settings diff --git a/deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-elastic-agent.md b/deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-elastic-agent.md index e228fb578c..b3f7491fd5 100644 --- a/deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-elastic-agent.md +++ b/deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-elastic-agent.md @@ -22,9 +22,9 @@ To change the settings of each data stream, edit the `metrics-{{product}}.stack_ You can also use the {{es}} API: -* Retrieve the component template using the [get component template API](https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-component-templates.html). +* Retrieve the component template using the [get component template API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-get-component-template). * Edit the component template. -* Store the updated component template using the [update component template API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-component-template.html). +* Store the updated component template using the [update component template API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-component-template). After changing the component template, the updated settings are only applied to the data stream’s new backing indices. [Roll over the data stream](../../../manage-data/data-store/index-types/use-data-stream.md#manually-roll-over-a-data-stream) to immediately apply the updated settings to the data stream’s write index. diff --git a/deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-metricbeat-8.md b/deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-metricbeat-8.md index d267e42bfb..f83dbe3025 100644 --- a/deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-metricbeat-8.md +++ b/deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-metricbeat-8.md @@ -32,9 +32,9 @@ You can clone index templates in {{kib}}: You can also use the {{es}} API: -* Retrieve the index template using the [get index template API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-template.html). +* Retrieve the index template using the [get index template API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-index-template). * Edit the index template: set the template `priority` to `500`, and specify the settings you want to change in the `settings` section. -* Store the updated index template under a different name, for example `custom_monitoring`, using the [create index template API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-template.html). +* Store the updated index template under a different name, for example `custom_monitoring`, using the [create index template API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-index-template). ::::{note} {{metricbeat}} 8 uses [composable templates](../../../manage-data/data-store/templates.md), rather than legacy templates. diff --git a/deploy-manage/monitor/monitoring-data/config-monitoring-indices-metricbeat-7-internal-collection.md b/deploy-manage/monitor/monitoring-data/config-monitoring-indices-metricbeat-7-internal-collection.md index 81c4589d2c..d914a95356 100644 --- a/deploy-manage/monitor/monitoring-data/config-monitoring-indices-metricbeat-7-internal-collection.md +++ b/deploy-manage/monitor/monitoring-data/config-monitoring-indices-metricbeat-7-internal-collection.md @@ -15,7 +15,7 @@ When monitoring [using {{metricbeat}} 7](../stack-monitoring/collecting-monitori * `.monitoring-{{product}}-7-mb-{{date}}`, when using {{metricbeat}} 7. * `.monitoring-{{product}}-7-{{date}}`, when using internal collection. -The settings and mappings for these indices are determined by [legacy index templates](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates-v1.html) named `.monitoring-{{product}}`. You can retrieve these templates in {{kib}} by navigating to **Stack Management** > **Index Management** > **Index Templates**, or by using the {{es}} `_template` API: +The settings and mappings for these indices are determined by [legacy index templates](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-template) named `.monitoring-{{product}}`. You can retrieve these templates in {{kib}} by navigating to **Stack Management** > **Index Management** > **Index Templates**, or by using the {{es}} `_template` API: ```console GET /_template/.monitoring-* diff --git a/deploy-manage/monitor/monitoring-data/ec-saas-metrics-accessing.md b/deploy-manage/monitor/monitoring-data/ec-saas-metrics-accessing.md index 4990f942be..e5bfbdcda2 100644 --- a/deploy-manage/monitor/monitoring-data/ec-saas-metrics-accessing.md +++ b/deploy-manage/monitor/monitoring-data/ec-saas-metrics-accessing.md @@ -98,7 +98,7 @@ Performance correlates directly with resources assigned to your cluster, and man It is not uncommon for performance issues on Elasticsearch Service to be caused by an undersized cluster that cannot cope with the workload it is being asked to handle. If your cluster performance metrics often shows high CPU usage or excessive memory pressure, consider increasing the size of your cluster soon to improve performance. This is especially true for clusters that regularly reach 100% of CPU usage or that suffer out-of-memory failures; it is better to resize your cluster early when it is not yet maxed out than to have to resize a cluster that is already overwhelmed. [Changing the configuration of your cluster](../../deploy/elastic-cloud/configure.md) may add some overhead if data needs to be migrated to the new nodes, which can increase the load on a cluster further and delay configuration changes. -To help diagnose high CPU usage you can also use the Elasticsearch [nodes hot threads API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-hot-threads.html), which identifies the threads on each node that have the highest CPU usage or that have been executing for a longer than normal period of time. +To help diagnose high CPU usage you can also use the Elasticsearch [nodes hot threads API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-hot-threads), which identifies the threads on each node that have the highest CPU usage or that have been executing for a longer than normal period of time. ::::{tip} Got an overwhelmed cluster that needs to be upsized? [Try enabling maintenance mode first](../../maintenance/ece/start-stop-routing-requests.md). It will likely help with configuration changes. diff --git a/deploy-manage/monitor/monitoring-data/elasticsearch-metrics.md b/deploy-manage/monitor/monitoring-data/elasticsearch-metrics.md index 44580320f4..14f6b1487a 100644 --- a/deploy-manage/monitor/monitoring-data/elasticsearch-metrics.md +++ b/deploy-manage/monitor/monitoring-data/elasticsearch-metrics.md @@ -105,9 +105,9 @@ To view {{ccr}} metrics, click **CCR**. For each follower index on the cluster, * **Error**: Any exceptions returned for the most recent document in the selected time period. -If you select a follower index, you can view the same information for each shard. For more information on the properties used to calculate these metrics, refer to the [get follower stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html) documentation. +If you select a follower index, you can view the same information for each shard. For more information on the properties used to calculate these metrics, refer to the [get follower stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-follow-stats) documentation. -If you select a shard, you can see graphs for the fetch and operation delays. You can also see advanced information, which contains additional stats from the [get follower stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html). +If you select a shard, you can see graphs for the fetch and operation delays. You can also see advanced information, which contains additional stats from the [get follower stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-follow-stats). Learn more about [{{ccr-cap}}](../../tools/cross-cluster-replication.md). diff --git a/deploy-manage/monitor/stack-monitoring/collecting-log-data-with-filebeat.md b/deploy-manage/monitor/stack-monitoring/collecting-log-data-with-filebeat.md index d703bb6df5..1ef1a04866 100644 --- a/deploy-manage/monitor/stack-monitoring/collecting-log-data-with-filebeat.md +++ b/deploy-manage/monitor/stack-monitoring/collecting-log-data-with-filebeat.md @@ -112,7 +112,7 @@ If you’re using {{agent}}, do not deploy {{filebeat}} for log collection. Inst 9. Check whether the appropriate indices exist on the monitoring cluster. - For example, use the [cat indices](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-indices.html) command to verify that there are new `filebeat-*` indices. + For example, use the [cat indices](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-indices) command to verify that there are new `filebeat-*` indices. ::::{tip} If you want to use the **Monitoring** UI in {{kib}}, there must also be `.monitoring-*` indices. Those indices are generated when you collect metrics about {{stack}} products. For example, see [Collecting monitoring data with {{metricbeat}}](collecting-monitoring-data-with-metricbeat.md). diff --git a/deploy-manage/monitor/stack-monitoring/es-legacy-collection-methods.md b/deploy-manage/monitor/stack-monitoring/es-legacy-collection-methods.md index 8ec9f98e92..d0f899a27c 100644 --- a/deploy-manage/monitor/stack-monitoring/es-legacy-collection-methods.md +++ b/deploy-manage/monitor/stack-monitoring/es-legacy-collection-methods.md @@ -33,7 +33,7 @@ To learn about monitoring in general, see [Monitor a cluster](../../monitor.md). :::: - For more information, see [Monitoring settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/monitoring-settings.html) and [Cluster update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). + For more information, see [Monitoring settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/monitoring-settings.html) and [Cluster update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). 2. Set the `xpack.monitoring.collection.enabled` setting to `true` on each node in the cluster. By default, it is disabled (`false`). @@ -59,7 +59,7 @@ To learn about monitoring in general, see [Monitor a cluster](../../monitor.md). Alternatively, you can enable this setting in {{kib}}. In the side navigation, click **Monitoring**. If data collection is disabled, you are prompted to turn it on. - For more information, see [Monitoring settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/monitoring-settings.html) and [Cluster update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). + For more information, see [Monitoring settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/monitoring-settings.html) and [Cluster update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). 3. Optional: Specify which indices you want to monitor. diff --git a/deploy-manage/monitor/stack-monitoring/es-monitoring-exporters.md b/deploy-manage/monitor/stack-monitoring/es-monitoring-exporters.md index afaf502c40..63043510f4 100644 --- a/deploy-manage/monitor/stack-monitoring/es-monitoring-exporters.md +++ b/deploy-manage/monitor/stack-monitoring/es-monitoring-exporters.md @@ -27,7 +27,7 @@ There are two types of exporters in {{es}}: Both exporters serve the same purpose: to set up the monitoring cluster and route monitoring data. However, they perform these tasks in very different ways. Even though things happen differently, both exporters are capable of sending all of the same data. -Exporters are configurable at both the node and cluster level. Cluster-wide settings, which are updated with the [`_cluster/settings` API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html), take precedence over settings in the `elasticsearch.yml` file on each node. When you update an exporter, it is completely replaced by the updated version of the exporter. +Exporters are configurable at both the node and cluster level. Cluster-wide settings, which are updated with the [`_cluster/settings` API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings), take precedence over settings in the `elasticsearch.yml` file on each node. When you update an exporter, it is completely replaced by the updated version of the exporter. ::::{important} It is critical that all nodes share the same setup. Otherwise, monitoring data might be routed in different ways or to different places. diff --git a/deploy-manage/monitor/stack-monitoring/es-pause-export.md b/deploy-manage/monitor/stack-monitoring/es-pause-export.md index ce63d4008f..65bf092d83 100644 --- a/deploy-manage/monitor/stack-monitoring/es-pause-export.md +++ b/deploy-manage/monitor/stack-monitoring/es-pause-export.md @@ -15,7 +15,7 @@ xpack.monitoring.collection.enabled: false When this setting is `false`, {{es}} monitoring data is not collected and all monitoring data from other sources such as {{kib}}, Beats, and Logstash is ignored. -You can update this setting by using the [Cluster Update Settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). +You can update this setting by using the [Cluster Update Settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). If you want to collect data from sources such as {{kib}}, Beats, and Logstash but not collect data about your {{es}} cluster, you can disable data collection just for {{es}}: diff --git a/deploy-manage/monitor/stack-monitoring/kibana-monitoring-legacy.md b/deploy-manage/monitor/stack-monitoring/kibana-monitoring-legacy.md index 739824d1c1..07c3755690 100644 --- a/deploy-manage/monitor/stack-monitoring/kibana-monitoring-legacy.md +++ b/deploy-manage/monitor/stack-monitoring/kibana-monitoring-legacy.md @@ -59,7 +59,7 @@ To learn about monitoring in general, see [Monitor a cluster](../../monitor.md). } ``` - For more information, see [Monitoring settings in {{es}}](https://www.elastic.co/guide/en/elasticsearch/reference/current/monitoring-settings.html) and [Cluster update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). + For more information, see [Monitoring settings in {{es}}](https://www.elastic.co/guide/en/elasticsearch/reference/current/monitoring-settings.html) and [Cluster update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). 2. Verify that `monitoring.enabled` and `monitoring.kibana.collection.enabled` are set to `true` in the `kibana.yml` file. These are the default values. For more information, see [Monitoring settings in {{kib}}](https://www.elastic.co/guide/en/kibana/current/monitoring-settings-kb.html). 3. Identify where to send monitoring data. {{kib}} automatically sends metrics to the {{es}} cluster specified in the `elasticsearch.hosts` setting in the `kibana.yml` file. This property has a default value of `http://localhost:9200`.
diff --git a/deploy-manage/monitor/stack-monitoring/kibana-monitoring-metricbeat.md b/deploy-manage/monitor/stack-monitoring/kibana-monitoring-metricbeat.md index ec6840dbc0..f9c303d813 100644 --- a/deploy-manage/monitor/stack-monitoring/kibana-monitoring-metricbeat.md +++ b/deploy-manage/monitor/stack-monitoring/kibana-monitoring-metricbeat.md @@ -62,7 +62,7 @@ To learn about monitoring in general, see [Monitor a cluster](../../monitor.md). } ``` - For more information, see [Monitoring settings in {{es}}](https://www.elastic.co/guide/en/elasticsearch/reference/current/monitoring-settings.html) and [Cluster update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). + For more information, see [Monitoring settings in {{es}}](https://www.elastic.co/guide/en/elasticsearch/reference/current/monitoring-settings.html) and [Cluster update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). 4. [Install {{metricbeat}}](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-installation-configuration.html) on the same server as {{kib}}. 5. Enable the {{kib}} {xpack} module in {{metricbeat}}.
diff --git a/deploy-manage/production-guidance/availability-and-resilience/resilience-in-larger-clusters.md b/deploy-manage/production-guidance/availability-and-resilience/resilience-in-larger-clusters.md index d11c8db75e..b212d0e942 100644 --- a/deploy-manage/production-guidance/availability-and-resilience/resilience-in-larger-clusters.md +++ b/deploy-manage/production-guidance/availability-and-resilience/resilience-in-larger-clusters.md @@ -51,7 +51,7 @@ As always, your indices should have at least one replica in case a node fails, u The cluster will be resilient to the loss of any zone as long as: -* The [cluster health status](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html) is `green`. +* The [cluster health status](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-health) is `green`. * There are at least two zones containing data nodes. * Every index that is not a [searchable snapshot index](../../tools/snapshot-and-restore/searchable-snapshots.md) has at least one replica of each shard, in addition to the primary. * [Shard allocation awareness](../../distributed-architecture/shard-allocation-relocation-recovery/shard-allocation-awareness.md) is configured to avoid concentrating all copies of a shard within a single zone. diff --git a/deploy-manage/production-guidance/availability-and-resilience/resilience-in-small-clusters.md b/deploy-manage/production-guidance/availability-and-resilience/resilience-in-small-clusters.md index 3533c35d56..337e17ff2b 100644 --- a/deploy-manage/production-guidance/availability-and-resilience/resilience-in-small-clusters.md +++ b/deploy-manage/production-guidance/availability-and-resilience/resilience-in-small-clusters.md @@ -11,7 +11,7 @@ In smaller clusters, it is most important to be resilient to single-node failure If your cluster consists of one node, that single node must do everything. To accommodate this, {{es}} assigns nodes every role by default. -A single node cluster is not resilient. If the node fails, the cluster will stop working. Because there are no replicas in a one-node cluster, you cannot store your data redundantly. However, by default at least one replica is required for a [`green` cluster health status](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html). To ensure your cluster can report a `green` status, override the default by setting [`index.number_of_replicas`](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#dynamic-index-settings) to `0` on every index. +A single node cluster is not resilient. If the node fails, the cluster will stop working. Because there are no replicas in a one-node cluster, you cannot store your data redundantly. However, by default at least one replica is required for a [`green` cluster health status](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-health). To ensure your cluster can report a `green` status, override the default by setting [`index.number_of_replicas`](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#dynamic-index-settings) to `0` on every index. If the node fails, you may need to restore an older copy of any lost indices from a [snapshot](../../tools/snapshot-and-restore.md). @@ -66,7 +66,7 @@ You may configure one of your master-eligible nodes to be a [voting-only node](. The cluster will be resilient to the loss of any node as long as: -* The [cluster health status](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html) is `green`. +* The [cluster health status](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-health) is `green`. * There are at least two data nodes. * Every index that is not a [searchable snapshot index](../../tools/snapshot-and-restore/searchable-snapshots.md) has at least one replica of each shard, in addition to the primary. * The cluster has at least three master-eligible nodes, as long as at least two of these nodes are not voting-only master-eligible nodes. diff --git a/deploy-manage/production-guidance/optimize-performance/approximate-knn-search.md b/deploy-manage/production-guidance/optimize-performance/approximate-knn-search.md index 6bfe76b8ca..94d308429a 100644 --- a/deploy-manage/production-guidance/optimize-performance/approximate-knn-search.md +++ b/deploy-manage/production-guidance/optimize-performance/approximate-knn-search.md @@ -27,7 +27,7 @@ The speed of kNN search scales linearly with the number of vector dimensions, be {{es}} stores the original JSON document that was passed at index time in the [`_source` field](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html). By default, each hit in the search results contains the full document `_source`. When the documents contain high-dimensional `dense_vector` fields, the `_source` can be quite large and expensive to load. This could significantly slow down the speed of kNN search. ::::{note} -[reindex](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html), [update](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html), and [update by query](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html) operations generally require the `_source` field. Disabling `_source` for a field might result in unexpected behavior for these operations. For example, reindex might not actually contain the `dense_vector` field in the new index. +[reindex](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex), [update](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update), and [update by query](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update-by-query) operations generally require the `_source` field. Disabling `_source` for a field might result in unexpected behavior for these operations. For example, reindex might not actually contain the `dense_vector` field in the new index. :::: @@ -38,7 +38,7 @@ Another option is to use [synthetic `_source`](https://www.elastic.co/guide/en/ ## Ensure data nodes have enough memory [_ensure_data_nodes_have_enough_memory] -{{es}} uses the [HNSW](https://arxiv.org/abs/1603.09320) algorithm for approximate kNN search. HNSW is a graph-based algorithm which only works efficiently when most vector data is held in memory. You should ensure that data nodes have at least enough RAM to hold the vector data and index structures. To check the size of the vector data, you can use the [Analyze index disk usage](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-disk-usage.html) API. +{{es}} uses the [HNSW](https://arxiv.org/abs/1603.09320) algorithm for approximate kNN search. HNSW is a graph-based algorithm which only works efficiently when most vector data is held in memory. You should ensure that data nodes have at least enough RAM to hold the vector data and index structures. To check the size of the vector data, you can use the [Analyze index disk usage](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-disk-usage) API. Here are estimates for different element types and quantization levels: @@ -105,7 +105,7 @@ When possible, it’s best to avoid heavy indexing during approximate kNN search Search can cause a lot of randomized read I/O. When the underlying block device has a high readahead value, there may be a lot of unnecessary read I/O done, especially when files are accessed using memory mapping (see [storage types](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-store.html#file-system)). -Most Linux distributions use a sensible readahead value of `128KiB` for a single plain device, however, when using software raid, LVM or dm-crypt the resulting block device (backing Elasticsearch [path.data](../../deploy/self-managed/important-settings-configuration.md#path-settings)) may end up having a very large readahead value (in the range of several MiB). This usually results in severe page (filesystem) cache thrashing adversely affecting search (or [update](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html)) performance. +Most Linux distributions use a sensible readahead value of `128KiB` for a single plain device, however, when using software raid, LVM or dm-crypt the resulting block device (backing Elasticsearch [path.data](../../deploy/self-managed/important-settings-configuration.md#path-settings)) may end up having a very large readahead value (in the range of several MiB). This usually results in severe page (filesystem) cache thrashing adversely affecting search (or [update](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-document)) performance. You can check the current value in `KiB` using `lsblk -o NAME,RA,MOUNTPOINT,TYPE,SIZE`. Consult the documentation of your distribution on how to alter this value (for example with a `udev` rule to persist across reboots, or via [blockdev --setra](https://man7.org/linux/man-pages/man8/blockdev.8.md) as a transient setting). We recommend a value of `128KiB` for readahead. diff --git a/deploy-manage/production-guidance/optimize-performance/disk-usage.md b/deploy-manage/production-guidance/optimize-performance/disk-usage.md index 1c1ac1094c..72d33f680e 100644 --- a/deploy-manage/production-guidance/optimize-performance/disk-usage.md +++ b/deploy-manage/production-guidance/optimize-performance/disk-usage.md @@ -8,7 +8,7 @@ mapped_pages: ## Disable the features you do not need [_disable_the_features_you_do_not_need] -By default, {{es}} indexes and adds doc values to most fields so that they can be searched and aggregated out of the box. For instance, if you have a numeric field called `foo` that you need to run histograms on but that you never need to filter on, you can safely disable indexing on this field in your [mappings](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html#mappings): +By default, {{es}} indexes and adds doc values to most fields so that they can be searched and aggregated out of the box. For instance, if you have a numeric field called `foo` that you need to run histograms on but that you never need to filter on, you can safely disable indexing on this field in your [mappings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-create): ```console PUT index @@ -56,7 +56,7 @@ PUT index ## Watch your shard size [_watch_your_shard_size] -Larger shards are going to be more efficient at storing data. To increase the size of your shards, you can decrease the number of primary shards in an index by [creating indices](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html) with fewer primary shards, creating fewer indices (e.g. by leveraging the [Rollover API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-rollover-index.html)), or modifying an existing index using the [Shrink API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-index.html). +Larger shards are going to be more efficient at storing data. To increase the size of your shards, you can decrease the number of primary shards in an index by [creating indices](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-create) with fewer primary shards, creating fewer indices (e.g. by leveraging the [Rollover API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-rollover)), or modifying an existing index using the [Shrink API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-shrink). Keep in mind that large shard sizes come with drawbacks, such as long full recovery times. @@ -75,7 +75,7 @@ The `_source` and stored fields can easily take a non negligible amount of disk Indices in Elasticsearch are stored in one or more shards. Each shard is a Lucene index and made up of one or more segments - the actual files on disk. Larger segments are more efficient for storing data. -The [force merge API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html) can be used to reduce the number of segments per shard. In many cases, the number of segments can be reduced to one per shard by setting `max_num_segments=1`. +The [force merge API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-forcemerge) can be used to reduce the number of segments per shard. In many cases, the number of segments can be reduced to one per shard by setting `max_num_segments=1`. ::::{warning} **We recommend only force merging a read-only index (meaning the index is no longer receiving writes).** When documents are updated or deleted, the old version is not immediately removed, but instead soft-deleted and marked with a "tombstone". These soft-deleted documents are automatically cleaned up during regular segment merges. But force merge can cause very large (> 5GB) segments to be produced, which are not eligible for regular merges. So the number of soft-deleted documents can then grow rapidly, resulting in higher disk usage and worse search performance. If you regularly force merge an index receiving writes, this can also make snapshots more expensive, since the new documents can’t be backed up incrementally. @@ -85,7 +85,7 @@ The [force merge API](https://www.elastic.co/guide/en/elasticsearch/reference/cu ## Shrink index [_shrink_index] -The [shrink API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-index.html) allows you to reduce the number of shards in an index. Together with the force merge API above, this can significantly reduce the number of shards and segments of an index. +The [shrink API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-shrink) allows you to reduce the number of shards in an index. Together with the force merge API above, this can significantly reduce the number of shards and segments of an index. ## Use the smallest numeric type that is sufficient [_use_the_smallest_numeric_type_that_is_sufficient] diff --git a/deploy-manage/production-guidance/optimize-performance/indexing-speed.md b/deploy-manage/production-guidance/optimize-performance/indexing-speed.md index 8a239091b8..0f91149843 100644 --- a/deploy-manage/production-guidance/optimize-performance/indexing-speed.md +++ b/deploy-manage/production-guidance/optimize-performance/indexing-speed.md @@ -22,7 +22,7 @@ Similarly to sizing bulk requests, only testing can tell what the optimal number ## Unset or increase the refresh interval [_unset_or_increase_the_refresh_interval] -The operation that consists of making changes visible to search - called a [refresh](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html) - is costly, and calling it often while there is ongoing indexing activity can hurt indexing speed. +The operation that consists of making changes visible to search - called a [refresh](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-refresh) - is costly, and calling it often while there is ongoing indexing activity can hurt indexing speed. By default, Elasticsearch periodically refreshes indices every second, but only on indices that have received one search request or more in the last 30 seconds. diff --git a/deploy-manage/production-guidance/optimize-performance/search-speed.md b/deploy-manage/production-guidance/optimize-performance/search-speed.md index fd6e920a90..beeb332ef5 100644 --- a/deploy-manage/production-guidance/optimize-performance/search-speed.md +++ b/deploy-manage/production-guidance/optimize-performance/search-speed.md @@ -15,7 +15,7 @@ Elasticsearch heavily relies on the filesystem cache in order to make search fas Search can cause a lot of randomized read I/O. When the underlying block device has a high readahead value, there may be a lot of unnecessary read I/O done, especially when files are accessed using memory mapping (see [storage types](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-store.html#file-system)). -Most Linux distributions use a sensible readahead value of `128KiB` for a single plain device, however, when using software raid, LVM or dm-crypt the resulting block device (backing Elasticsearch [path.data](../../deploy/self-managed/important-settings-configuration.md#path-settings)) may end up having a very large readahead value (in the range of several MiB). This usually results in severe page (filesystem) cache thrashing adversely affecting search (or [update](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html)) performance. +Most Linux distributions use a sensible readahead value of `128KiB` for a single plain device, however, when using software raid, LVM or dm-crypt the resulting block device (backing Elasticsearch [path.data](../../deploy/self-managed/important-settings-configuration.md#path-settings)) may end up having a very large readahead value (in the range of several MiB). This usually results in severe page (filesystem) cache thrashing adversely affecting search (or [update](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-document)) performance. You can check the current value in `KiB` using `lsblk -o NAME,RA,MOUNTPOINT,TYPE,SIZE`. Consult the documentation of your distribution on how to alter this value (for example with a `udev` rule to persist across reboots, or via [blockdev --setra](https://man7.org/linux/man-pages/man8/blockdev.8.md) as a transient setting). We recommend a value of `128KiB` for readahead. @@ -264,7 +264,7 @@ However such practice might make the query run slower in some cases since the ov ## Force-merge read-only indices [_force_merge_read_only_indices] -Indices that are read-only may benefit from being [merged down to a single segment](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html). This is typically the case with time-based indices: only the index for the current time frame is getting new documents while older indices are read-only. Shards that have been force-merged into a single segment can use simpler and more efficient data structures to perform searches. +Indices that are read-only may benefit from being [merged down to a single segment](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-forcemerge). This is typically the case with time-based indices: only the index for the current time frame is getting new documents while older indices are read-only. Shards that have been force-merged into a single segment can use simpler and more efficient data structures to perform searches. ::::{important} Do not force-merge indices to which you are still writing, or to which you will write again in the future. Instead, rely on the automatic background merge process to perform merges as needed to keep the index running smoothly. If you continue to write to a force-merged index then its performance may become much worse. @@ -274,7 +274,7 @@ Do not force-merge indices to which you are still writing, or to which you will ## Warm up global ordinals [_warm_up_global_ordinals] -[Global ordinals](https://www.elastic.co/guide/en/elasticsearch/reference/current/eager-global-ordinals.html) are a data structure that is used to optimize the performance of aggregations. They are calculated lazily and stored in the JVM heap as part of the [field data cache](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-fielddata.html). For fields that are heavily used for bucketing aggregations, you can tell {{es}} to construct and cache the global ordinals before requests are received. This should be done carefully because it will increase heap usage and can make [refreshes](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html) take longer. The option can be updated dynamically on an existing mapping by setting the [eager global ordinals](https://www.elastic.co/guide/en/elasticsearch/reference/current/eager-global-ordinals.html) mapping parameter: +[Global ordinals](https://www.elastic.co/guide/en/elasticsearch/reference/current/eager-global-ordinals.html) are a data structure that is used to optimize the performance of aggregations. They are calculated lazily and stored in the JVM heap as part of the [field data cache](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-fielddata.html). For fields that are heavily used for bucketing aggregations, you can tell {{es}} to construct and cache the global ordinals before requests are received. This should be done carefully because it will increase heap usage and can make [refreshes](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-refresh) take longer. The option can be updated dynamically on an existing mapping by setting the [eager global ordinals](https://www.elastic.co/guide/en/elasticsearch/reference/current/eager-global-ordinals.html) mapping parameter: ```console PUT index diff --git a/deploy-manage/production-guidance/optimize-performance/size-shards.md b/deploy-manage/production-guidance/optimize-performance/size-shards.md index 96e4030c9f..4f05e10ab5 100644 --- a/deploy-manage/production-guidance/optimize-performance/size-shards.md +++ b/deploy-manage/production-guidance/optimize-performance/size-shards.md @@ -84,7 +84,7 @@ You may be able to use larger shards depending on your network and use case, and If you use {{ilm-init}}, set the [rollover action](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-rollover.html)'s `max_primary_shard_size` threshold to `50gb` to avoid shards larger than 50GB and `min_primary_shard_size` threshold to `10gb` to avoid shards smaller than 10GB. -To see the current size of your shards, use the [cat shards API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-shards.html). +To see the current size of your shards, use the [cat shards API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-shards). ```console GET _cat/shards?v=true&h=index,prirep,shard,store&s=prirep,store&bytes=gb @@ -100,12 +100,12 @@ index prirep shard store If an index’s shard is experiencing degraded performance from surpassing the recommended 50GB size, you may consider fixing the index’s shards' sizing. Shards are immutable and therefore their size is fixed in place, so indices must be copied with corrected settings. This requires first ensuring sufficient disk to copy the data. Afterwards, you can copy the index’s data with corrected settings via one of the following options: -* running [Split Index](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html) to increase number of primary shards -* creating a destination index with corrected settings and then running [Reindex](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html) +* running [Split Index](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-split) to increase number of primary shards +* creating a destination index with corrected settings and then running [Reindex](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) -Kindly note performing a [Restore Snapshot](https://www.elastic.co/guide/en/elasticsearch/reference/current/restore-snapshot-api.html) and/or [Clone Index](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clone-index.html) would be insufficient to resolve shards' sizing. +Kindly note performing a [Restore Snapshot](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-restore) and/or [Clone Index](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-clone) would be insufficient to resolve shards' sizing. -Once a source index’s data is copied into its destination index, the source index can be [removed](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html). You may then consider setting [Create Alias](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-add-alias.html) against the destination index for the source index’s name to point to it for continuity. +Once a source index’s data is copied into its destination index, the source index can be [removed](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-delete). You may then consider setting [Create Alias](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-alias) against the destination index for the source index’s name to point to it for continuity. See this [fixing shard sizes video](https://www.youtube.com/watch?v=sHyNYnwbYro) for an example troubleshooting walkthrough. @@ -118,13 +118,13 @@ As a general rule of thumb, you should have fewer than 3000 indices per GB of he Note that this rule defines the absolute maximum number of indices that a master node can manage, but does not guarantee the performance of searches or indexing involving this many indices. You must also ensure that your data nodes have adequate resources for your workload and that your overall sharding strategy meets all your performance requirements. See also [Searches run on a single thread per shard](#single-thread-per-shard) and [Each index, shard, segment and field has overhead](#each-shard-has-overhead). -To check the configured size of each node’s heap, use the [cat nodes API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html). +To check the configured size of each node’s heap, use the [cat nodes API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-nodes). ```console GET _cat/nodes?v=true&h=heap.max ``` -You can use the [cat shards API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-shards.html) to check the number of shards per node. +You can use the [cat shards API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-shards) to check the number of shards per node. ```console GET _cat/shards?v=true @@ -143,7 +143,7 @@ Mapped fields consume some heap memory on each node, and require extra heap on d #### Mapping metadata in the cluster state [_mapping_metadata_in_the_cluster_state] -Each node in the cluster has a copy of the [cluster state](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-state.html#cluster-state-api-desc). The cluster state includes information about the field mappings for each index. This information has heap overhead. You can use the [Cluster stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-stats.html) to get the heap overhead of the total size of all mappings after deduplication and compression. +Each node in the cluster has a copy of the [cluster state](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-state). The cluster state includes information about the field mappings for each index. This information has heap overhead. You can use the [Cluster stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-stats) to get the heap overhead of the total size of all mappings after deduplication and compression. ```console GET _cluster/stats?human&filter_path=indices.mappings.total_deduplicated_mapping_size* @@ -165,7 +165,7 @@ This will show you information like in this example output: #### Retrieving heap size and field mapper overheads [_retrieving_heap_size_and_field_mapper_overheads] -You can use the [Nodes stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html) to get two relevant metrics for each node: +You can use the [Nodes stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-stats) to get two relevant metrics for each node: * The size of the heap on each node. * Any additional estimated heap overhead for the fields per node. This is specific to data nodes, where apart from the cluster state field information mentioned above, there is additional heap overhead for each mapped field of an index held by the data node. For nodes which are not data nodes, this field may be zero. @@ -223,7 +223,7 @@ Note that the above rules do not necessarily guarantee the performance of search If too many shards are allocated to a specific node, the node can become a hotspot. For example, if a single node contains too many shards for an index with a high indexing volume, the node is likely to have issues. -To prevent hotspots, use the [`index.routing.allocation.total_shards_per_node`](https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-total-shards.html#total-shards-per-node) index setting to explicitly limit the number of shards on a single node. You can configure `index.routing.allocation.total_shards_per_node` using the [update index settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html). +To prevent hotspots, use the [`index.routing.allocation.total_shards_per_node`](https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-total-shards.html#total-shards-per-node) index setting to explicitly limit the number of shards on a single node. You can configure `index.routing.allocation.total_shards_per_node` using the [update index settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-settings). ```console PUT my-index-000001/_settings @@ -239,7 +239,7 @@ PUT my-index-000001/_settings By default {{es}} [automatically creates a mapping](../../../manage-data/data-store/mapping/dynamic-mapping.md) for every field in every document it indexes. Every mapped field corresponds to some data structures on disk which are needed for efficient search, retrieval, and aggregations on this field. Details about each mapped field are also held in memory. In many cases this overhead is unnecessary because a field is not used in any searches or aggregations. Use [*Explicit mapping*](../../../manage-data/data-store/mapping/explicit-mapping.md) instead of dynamic mapping to avoid creating fields that are never used. If a collection of fields are typically used together, consider using [`copy_to`](https://www.elastic.co/guide/en/elasticsearch/reference/current/copy-to.html) to consolidate them at index time. If a field is only rarely used, it may be better to make it a [Runtime field](../../../manage-data/data-store/mapping/runtime-fields.md) instead. -You can get information about which fields are being used with the [Field usage stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/field-usage-stats.html) API, and you can analyze the disk usage of mapped fields using the [Analyze index disk usage](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-disk-usage.html) API. Note however that unnecessary mapped fields also carry some memory overhead as well as their disk usage. +You can get information about which fields are being used with the [Field usage stats](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-field-usage-stats) API, and you can analyze the disk usage of mapped fields using the [Analyze index disk usage](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-disk-usage) API. Note however that unnecessary mapped fields also carry some memory overhead as well as their disk usage. ## Reduce a cluster’s shard count [reduce-cluster-shard-count] @@ -258,13 +258,13 @@ If your retention policy requires a `max_age` threshold, increase it to create i If you’re using {{ilm-init}} and roll over indices based on a `max_age` threshold, you can inadvertently create indices with no documents. These empty indices provide no benefit but still consume resources. -You can find these empty indices using the [cat count API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-count.html). +You can find these empty indices using the [cat count API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-count). ```console GET _cat/count/my-index-000001?v=true ``` -Once you have a list of empty indices, you can delete them using the [delete index API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html). You can also delete any other unneeded indices. +Once you have a list of empty indices, you can delete them using the [delete index API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-delete). You can also delete any other unneeded indices. ```console DELETE my-index-000001 @@ -273,7 +273,7 @@ DELETE my-index-000001 ### Force merge during off-peak hours [force-merge-during-off-peak-hours] -If you no longer write to an index, you can use the [force merge API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html) to [merge](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-merge.html) smaller segments into larger ones. This can reduce shard overhead and improve search speeds. However, force merges are resource-intensive. If possible, run the force merge during off-peak hours. +If you no longer write to an index, you can use the [force merge API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-forcemerge) to [merge](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-merge.html) smaller segments into larger ones. This can reduce shard overhead and improve search speeds. However, force merges are resource-intensive. If possible, run the force merge during off-peak hours. ```console POST my-index-000001/_forcemerge @@ -282,14 +282,14 @@ POST my-index-000001/_forcemerge ### Shrink an existing index to fewer shards [shrink-existing-index-to-fewer-shards] -If you no longer write to an index, you can use the [shrink index API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-index.html) to reduce its shard count. +If you no longer write to an index, you can use the [shrink index API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-shrink) to reduce its shard count. {{ilm-init}} also has a [shrink action](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-shrink.html) for indices in the warm phase. ### Combine smaller indices [combine-smaller-indices] -You can also use the [reindex API](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html) to combine indices with similar mappings into a single large index. For time series data, you could reindex indices for short time periods into a new index covering a longer period. For example, you could reindex daily indices from October with a shared index pattern, such as `my-index-2099.10.11`, into a monthly `my-index-2099.10` index. After the reindex, delete the smaller indices. +You can also use the [reindex API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) to combine indices with similar mappings into a single large index. For time series data, you could reindex indices for short time periods into a new index covering a longer period. For example, you could reindex daily indices from October with a shared index pattern, such as `my-index-2099.10.11`, into a monthly `my-index-2099.10` index. After the reindex, delete the smaller indices. ```console POST _reindex @@ -313,7 +313,7 @@ Here’s how to resolve common shard-related errors. The [`cluster.max_shards_per_node`](https://www.elastic.co/guide/en/elasticsearch/reference/current/misc-cluster-settings.html#cluster-max-shards-per-node) cluster setting limits the maximum number of open shards for a cluster. This error indicates an action would exceed this limit. -If you’re confident your changes won’t destabilize the cluster, you can temporarily increase the limit using the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) and retry the action. +If you’re confident your changes won’t destabilize the cluster, you can temporarily increase the limit using the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) and retry the action. ```console PUT _cluster/settings @@ -324,7 +324,7 @@ PUT _cluster/settings } ``` -This increase should only be temporary. As a long-term solution, we recommend you add nodes to the oversharded data tier or [reduce your cluster’s shard count](#reduce-cluster-shard-count). To get a cluster’s current shard count after making changes, use the [cluster stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-stats.html). +This increase should only be temporary. As a long-term solution, we recommend you add nodes to the oversharded data tier or [reduce your cluster’s shard count](#reduce-cluster-shard-count). To get a cluster’s current shard count after making changes, use the [cluster stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-stats). ```console GET _cluster/stats?filter_path=indices.shards.total @@ -346,26 +346,26 @@ See this [fixing "max shards open" video](https://www.youtube.com/watch?v=tZKbDe ### Number of documents in the shard cannot exceed [2147483519] [troubleshooting-max-docs-limit] -Each {{es}} shard is a separate Lucene index, so it shares Lucene’s [`MAX_DOC` limit](https://github.com/apache/lucene/issues/5176) of having at most 2,147,483,519 (`(2^31)-129`) documents. This per-shard limit applies to the sum of `docs.count` plus `docs.deleted` as reported by the [Index stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html). Exceeding this limit will result in errors like the following: +Each {{es}} shard is a separate Lucene index, so it shares Lucene’s [`MAX_DOC` limit](https://github.com/apache/lucene/issues/5176) of having at most 2,147,483,519 (`(2^31)-129`) documents. This per-shard limit applies to the sum of `docs.count` plus `docs.deleted` as reported by the [Index stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-stats). Exceeding this limit will result in errors like the following: ```txt Elasticsearch exception [type=illegal_argument_exception, reason=Number of documents in the shard cannot exceed [2147483519]] ``` ::::{tip} -This calculation may differ from the [Count API’s](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-count.html) calculation, because the Count API does not include nested documents and does not count deleted documents. +This calculation may differ from the [Count API’s](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-count) calculation, because the Count API does not include nested documents and does not count deleted documents. :::: This limit is much higher than the [recommended maximum document count](#shard-size-recommendation) of approximately 200M documents per shard. -If you encounter this problem, try to mitigate it by using the [Force Merge API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html) to merge away some deleted docs. For example: +If you encounter this problem, try to mitigate it by using the [Force Merge API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-forcemerge) to merge away some deleted docs. For example: ```console POST my-index-000001/_forcemerge?only_expunge_deletes=true ``` -This will launch an asynchronous task which can be monitored via the [Task Management API](https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html). +This will launch an asynchronous task which can be monitored via the [Task Management API](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-tasks). -It may also be helpful to [delete unneeded documents](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html), or to [split](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html) or [reindex](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html) the index into one with a larger number of shards. +It may also be helpful to [delete unneeded documents](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-delete-by-query), or to [split](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-split) or [reindex](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) the index into one with a larger number of shards. diff --git a/deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md b/deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md index 9e818b88db..88b0850948 100644 --- a/deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md +++ b/deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md @@ -60,7 +60,7 @@ If you need to update the permissions granted by a cross-cluster API key for a r :::: -1. On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key with the appropriate permissions. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +1. On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key with the appropriate permissions. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. 2. Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next steps. 3. Go to the **Security** page of the local deployment and locate the **Remote connections** section. 4. Locate the API key currently used for connecting to the remote cluster, copy its current alias, and delete it. diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-ece.md b/deploy-manage/remote-clusters/ec-remote-cluster-ece.md index 0bf6856808..45e60ce21b 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-ece.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-ece.md @@ -78,7 +78,7 @@ In order to trust a deployment with cluster id `cf659f7fe6164d9691b284ae36811be1 :::::: ::::::{tab-item} API key -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -96,7 +96,7 @@ If you run into any issues, refer to [Troubleshooting](remote-clusters-troublesh #### Create a cross-cluster API key on the remote deployment [ec_create_a_cross_cluster_api_key_on_the_remote_deployment_3] -* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. * Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next step. @@ -221,7 +221,7 @@ On the local cluster, add the remote cluster using Kibana or the {{es}} API. ### Using the Elasticsearch API [ec_using_the_elasticsearch_api_3] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). Configure the following fields: +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: This value can be found on the **Security** page of the Elasticsearch Service deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9400` using a semicolon. @@ -327,7 +327,7 @@ curl -X GET -H "Authorization: ApiKey $EC_API_KEY" https://api.elastic-cloud.com ``` ::::{note} -The response will include just the remote clusters from the same organization in Elasticsearch Service. In order to obtain the whole list of remote clusters, use Kibana or the Elasticsearch API [Elasticsearch API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) directly. +The response will include just the remote clusters from the same organization in Elasticsearch Service. In order to obtain the whole list of remote clusters, use Kibana or the Elasticsearch API [Elasticsearch API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. :::: diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md b/deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md index 6071029e58..2f918911c7 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md @@ -67,7 +67,7 @@ In order to trust a deployment with cluster id `cf659f7fe6164d9691b284ae36811be1 :::::: ::::::{tab-item} API key -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -85,7 +85,7 @@ If you run into any issues, refer to [Troubleshooting](remote-clusters-troublesh #### Create a cross-cluster API key on the remote deployment [ec_create_a_cross_cluster_api_key_on_the_remote_deployment_2] -* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. * Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next step. @@ -157,7 +157,7 @@ On the local cluster, add the remote cluster using Kibana or the {{es}} API. ### Using the Elasticsearch API [ec_using_the_elasticsearch_api_2] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). Configure the following fields: +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: This value can be found on the **Security** page of the Elasticsearch Service deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9400` using a semicolon. @@ -263,7 +263,7 @@ curl -X GET -H "Authorization: ApiKey $EC_API_KEY" https://api.elastic-cloud.com ``` ::::{note} -The response will include just the remote clusters from the same organization in Elasticsearch Service. In order to obtain the whole list of remote clusters, use Kibana or the Elasticsearch API [Elasticsearch API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) directly. +The response will include just the remote clusters from the same organization in Elasticsearch Service. In order to obtain the whole list of remote clusters, use Kibana or the Elasticsearch API [Elasticsearch API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. :::: diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md b/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md index c2490808d9..7e0447ee2d 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md @@ -104,7 +104,7 @@ The `account_id` above represents the only account in an {{es}} environment, and :::::: ::::::{tab-item} API key -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -122,7 +122,7 @@ If you run into any issues, refer to [Troubleshooting](remote-clusters-troublesh #### Create a cross-cluster API key on the remote deployment [ec_create_a_cross_cluster_api_key_on_the_remote_deployment] -* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. * Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next step. @@ -194,7 +194,7 @@ On the local cluster, add the remote cluster using Kibana or the {{es}} API. ### Using the Elasticsearch API [ec_using_the_elasticsearch_api] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). Configure the following fields: +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: This value can be found on the **Security** page of the Elasticsearch Service deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9400` using a semicolon. @@ -300,7 +300,7 @@ curl -X GET -H "Authorization: ApiKey $EC_API_KEY" https://api.elastic-cloud.com ``` ::::{note} -The response will include just the remote clusters from the same organization in Elasticsearch Service. In order to obtain the whole list of remote clusters, use Kibana or the Elasticsearch API [Elasticsearch API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) directly. +The response will include just the remote clusters from the same organization in Elasticsearch Service. In order to obtain the whole list of remote clusters, use Kibana or the Elasticsearch API [Elasticsearch API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. :::: diff --git a/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md b/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md index ebe78098e1..c9a1fe0508 100644 --- a/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md +++ b/deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md @@ -115,7 +115,7 @@ In order to trust a cluster whose nodes present certificates with the subject na :::::: ::::::{tab-item} API key -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -133,7 +133,7 @@ If you run into any issues, refer to [Troubleshooting](remote-clusters-troublesh #### Create a cross-cluster API key on the remote deployment [ec_create_a_cross_cluster_api_key_on_the_remote_deployment_4] -* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. * Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next step. @@ -248,7 +248,7 @@ On the local cluster, add the remote cluster using Kibana or the {{es}} API. ### Using the Elasticsearch API [ec_using_the_elasticsearch_api_4] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). Configure the following fields: +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: This value can be found on the **Security** page of the Elasticsearch Service deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9400` using a semicolon. @@ -354,7 +354,7 @@ curl -X GET -H "Authorization: ApiKey $EC_API_KEY" https://api.elastic-cloud.com ``` ::::{note} -The response will include just the remote clusters from the same organization in Elasticsearch Service. In order to obtain the whole list of remote clusters, use Kibana or the Elasticsearch API [Elasticsearch API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) directly. +The response will include just the remote clusters from the same organization in Elasticsearch Service. In order to obtain the whole list of remote clusters, use Kibana or the Elasticsearch API [Elasticsearch API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. :::: diff --git a/deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md b/deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md index bf82284363..b49a529f34 100644 --- a/deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md +++ b/deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md @@ -60,7 +60,7 @@ If you need to update the permissions granted by a cross-cluster API key for a r :::: -1. On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key with the appropriate permissions. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +1. On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key with the appropriate permissions. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. 2. Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next steps. 3. Go to the **Security** page of the local deployment and locate the **Remote connections** section. 4. Locate the API key currently used for connecting to the remote cluster, copy its current alias, and delete it. diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md b/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md index f83c693410..c380a786d2 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md @@ -75,7 +75,7 @@ In order to trust a deployment with cluster id `cf659f7fe6164d9691b284ae36811be1 :::::: ::::::{tab-item} API key -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -91,7 +91,7 @@ If you run into any issues, refer to [Troubleshooting](remote-clusters-troublesh ### Create a cross-cluster API key on the remote deployment [ece_create_a_cross_cluster_api_key_on_the_remote_deployment_3] -* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. * Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next step. @@ -168,7 +168,7 @@ This configuration of remote clusters uses the [Proxy mode](https://www.elastic. ### Using the Elasticsearch API [ece_using_the_elasticsearch_api_3] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). Configure the following fields: +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: This value can be found on the **Security** page of the Elastic Cloud Enterprise deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9300` using a semicolon. @@ -274,7 +274,7 @@ curl -k -X GET -H "Authorization: ApiKey $ECE_API_KEY" https://COORDINATOR_HOST: ``` ::::{note} -The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use Kibana or the {{es}} API [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) directly. +The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use Kibana or the {{es}} API [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. :::: diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md b/deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md index 09ff5af1c9..ecd3e6bfee 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md @@ -100,7 +100,7 @@ In order to trust a deployment with cluster id `cf659f7fe6164d9691b284ae36811be1 :::::: ::::::{tab-item} API key -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -116,7 +116,7 @@ If you run into any issues, refer to [Troubleshooting](remote-clusters-troublesh ### Create a cross-cluster API key on the remote deployment [ece_create_a_cross_cluster_api_key_on_the_remote_deployment_2] -* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. * Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next step. @@ -246,7 +246,7 @@ This configuration of remote clusters uses the [Proxy mode](https://www.elastic. ### Using the Elasticsearch API [ece_using_the_elasticsearch_api_2] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). Configure the following fields: +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: This value can be found on the **Security** page of the Elastic Cloud Enterprise deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9300` using a semicolon. @@ -352,7 +352,7 @@ curl -k -X GET -H "Authorization: ApiKey $ECE_API_KEY" https://COORDINATOR_HOST: ``` ::::{note} -The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use Kibana or the {{es}} API [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) directly. +The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use Kibana or the {{es}} API [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. :::: diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md b/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md index 66938e8b02..303469989b 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md @@ -105,7 +105,7 @@ The `account_id` above represents the only account in an ECE environment, and th :::::: ::::::{tab-item} API key -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -121,7 +121,7 @@ If you run into any issues, refer to [Troubleshooting](remote-clusters-troublesh ### Create a cross-cluster API key on the remote deployment [ece_create_a_cross_cluster_api_key_on_the_remote_deployment] -* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. * Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next step. @@ -198,7 +198,7 @@ This configuration of remote clusters uses the [Proxy mode](https://www.elastic. ### Using the Elasticsearch API [ece_using_the_elasticsearch_api] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). Configure the following fields: +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: This value can be found on the **Security** page of the Elastic Cloud Enterprise deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9300` using a semicolon. @@ -304,7 +304,7 @@ curl -k -X GET -H "Authorization: ApiKey $ECE_API_KEY" https://COORDINATOR_HOST: ``` ::::{note} -The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use Kibana or the {{es}} API [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) directly. +The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use Kibana or the {{es}} API [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. :::: diff --git a/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md b/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md index ca4d1e91ad..c659f85019 100644 --- a/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md +++ b/deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md @@ -115,7 +115,7 @@ In order to trust a cluster whose nodes present certificates with the subject na :::::: ::::::{tab-item} API key -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -131,7 +131,7 @@ If you run into any issues, refer to [Troubleshooting](remote-clusters-troublesh ### Create a cross-cluster API key on the remote deployment [ece_create_a_cross_cluster_api_key_on_the_remote_deployment_4] -* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. +* On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [Kibana](../api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}. * Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next step. @@ -251,7 +251,7 @@ This configuration of remote clusters uses the [Proxy mode](https://www.elastic. ### Using the Elasticsearch API [ece_using_the_elasticsearch_api_4] -To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html). Configure the following fields: +To configure a deployment as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields: * `mode`: `proxy` * `proxy_address`: This value can be found on the **Security** page of the Elastic Cloud Enterprise deployment you want to use as a remote. Also, using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9300` using a semicolon. @@ -357,7 +357,7 @@ curl -k -X GET -H "Authorization: ApiKey $ECE_API_KEY" https://COORDINATOR_HOST: ``` ::::{note} -The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use Kibana or the {{es}} API [{{es}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) directly. +The response includes just the remote clusters from the same ECE environment. In order to obtain the whole list of remote clusters, use Kibana or the {{es}} API [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) directly. :::: diff --git a/deploy-manage/remote-clusters/eck-remote-clusters.md b/deploy-manage/remote-clusters/eck-remote-clusters.md index 0676ac4e8b..b971765b7a 100644 --- a/deploy-manage/remote-clusters/eck-remote-clusters.md +++ b/deploy-manage/remote-clusters/eck-remote-clusters.md @@ -49,7 +49,7 @@ Enabling the remote cluster server triggers a restart of the {{es}} cluster. Once the remote cluster server is enabled and started on the remote cluster you can configure the Elasticsearch reference on the local cluster to include the desired permissions for cross-cluster search, and cross-cluster replication. -Permissions have to be included under the `apiKey` field. The API model of the Elasticsearch resource is compatible with the [{{es}} Cross-Cluster API key API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html#security-api-create-cross-cluster-api-key-request-body) model. Fine-grained permissions can therefore be configured in both the `search` and `replication` fields: +Permissions have to be included under the `apiKey` field. The API model of the Elasticsearch resource is compatible with the [{{es}} Cross-Cluster API key API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) model. Fine-grained permissions can therefore be configured in both the `search` and `replication` fields: ```yaml apiVersion: elasticsearch.k8s.elastic.co/v1 diff --git a/deploy-manage/remote-clusters/remote-clusters-api-key.md b/deploy-manage/remote-clusters/remote-clusters-api-key.md index f04e5eff5b..251774bae0 100644 --- a/deploy-manage/remote-clusters/remote-clusters-api-key.md +++ b/deploy-manage/remote-clusters/remote-clusters-api-key.md @@ -5,7 +5,7 @@ mapped_pages: # Add remote clusters using API key authentication [remote-clusters-api-key] -API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. +API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges. All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key. @@ -99,7 +99,7 @@ If a remote cluster is part of an {{ess}} deployment, it has a valid certificate When prompted, enter the `CERT_PASSWORD` from the earlier step. 4. Restart the remote cluster. -5. On the remote cluster, generate a cross-cluster API key that provides access to the indices you want to use for {{ccs}} or {{ccr}}. You can use the [Create Cross-Cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) API or [Kibana](../api-keys/elasticsearch-api-keys.md). +5. On the remote cluster, generate a cross-cluster API key that provides access to the indices you want to use for {{ccs}} or {{ccr}}. You can use the [Create Cross-Cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) API or [Kibana](../api-keys/elasticsearch-api-keys.md). 6. Copy the encoded key (`encoded` in the response) to a safe location. You will need it to connect to the remote cluster later. @@ -125,7 +125,7 @@ If a remote cluster is part of an {{ess}} deployment, it has a valid certificate 2. Restart the local cluster to load changes to the keystore and settings. -**Note:** If you are configuring only the cross-cluster API key, you can call the [Nodes reload secure settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-reload-secure-settings.html) API, instead of restarting the cluster. Configuring the `remote_cluster_client` settings in `elasticsearch.yml` still requires a restart. +**Note:** If you are configuring only the cross-cluster API key, you can call the [Nodes reload secure settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-reload-secure-settings) API, instead of restarting the cluster. Configuring the `remote_cluster_client` settings in `elasticsearch.yml` still requires a restart. @@ -144,7 +144,7 @@ To add a remote cluster from Stack Management in {{kib}}: 2. Enter a name (*cluster alias*) for the remote cluster. 3. Specify the {{es}} endpoint URL, or the IP address or host name of the remote cluster followed by the remote cluster port (defaults to `9443`). For example, `cluster.es.eastus2.staging.azure.foundit.no:9443` or `192.168.1.1:9443`. -Alternatively, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) to add a remote cluster. You can also use this API to dynamically configure remote clusters for *every* node in the local cluster. To configure remote clusters on individual nodes in the local cluster, define static settings in `elasticsearch.yml` for each node. +Alternatively, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to add a remote cluster. You can also use this API to dynamically configure remote clusters for *every* node in the local cluster. To configure remote clusters on individual nodes in the local cluster, define static settings in `elasticsearch.yml` for each node. The following request adds a remote cluster with an alias of `cluster_one`. This *cluster alias* is a unique identifier that represents the connection to the remote cluster and is used to distinguish between local and remote indices. @@ -169,7 +169,7 @@ PUT /_cluster/settings 2. Specifies the hostname and remote cluster port of a seed node in the remote cluster. -You can use the [remote cluster info API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) to verify that the local cluster is successfully connected to the remote cluster: +You can use the [remote cluster info API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) to verify that the local cluster is successfully connected to the remote cluster: ```console GET /_remote/info @@ -201,7 +201,7 @@ The API response indicates that the local cluster is connected to the remote clu ### Dynamically configure remote clusters [_dynamically_configure_remote_clusters] -Use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) to dynamically configure remote settings on every node in the cluster. The following request adds three remote clusters: `cluster_one`, `cluster_two`, and `cluster_three`. +Use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to dynamically configure remote settings on every node in the cluster. The following request adds three remote clusters: `cluster_one`, `cluster_two`, and `cluster_three`. The `seeds` parameter specifies the hostname and [remote cluster port](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html) (default `9443`) of a seed node in the remote cluster. @@ -288,7 +288,7 @@ PUT _cluster/settings If you specify settings in `elasticsearch.yml`, only the nodes with those settings can connect to the remote cluster and serve remote cluster requests. ::::{note} -Remote cluster settings that are specified using the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) take precedence over settings that you specify in `elasticsearch.yml` for individual nodes. +Remote cluster settings that are specified using the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) take precedence over settings that you specify in `elasticsearch.yml` for individual nodes. :::: @@ -320,9 +320,9 @@ cluster: To use a remote cluster for {{ccr}} or {{ccs}}, you need to create user roles with [remote indices privileges](../users-roles/cluster-or-deployment-auth/defining-roles.md#roles-remote-indices-priv) or [remote cluster privileges](../users-roles/cluster-or-deployment-auth/defining-roles.md#roles-remote-cluster-priv) on the local cluster. -You can manage users and roles from Stack Management in {{kib}} by selecting **Security > Roles** from the side navigation. You can also use the [role management APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api.html#security-role-apis) to add, update, remove, and retrieve roles dynamically. +You can manage users and roles from Stack Management in {{kib}} by selecting **Security > Roles** from the side navigation. You can also use the [role management APIs](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-security) to add, update, remove, and retrieve roles dynamically. -The following examples use the [Create or update roles](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html) API. You must have at least the `manage_security` cluster privilege to use this API. +The following examples use the [Create or update roles](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-role) API. You must have at least the `manage_security` cluster privilege to use this API. ::::{note} The cross-cluster API key used by the local cluster to connect the remote cluster must have sufficient privileges to cover all remote indices privileges required by individual users. @@ -353,7 +353,7 @@ POST /_security/role/remote-replication } ``` -After creating the local `remote-replication` role, use the [Create or update users](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html) API to create a user on the local cluster cluster and assign the `remote-replication` role. For example, the following request assigns the `remote-replication` role to a user named `cross-cluster-user`: +After creating the local `remote-replication` role, use the [Create or update users](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-user) API to create a user on the local cluster cluster and assign the `remote-replication` role. For example, the following request assigns the `remote-replication` role to a user named `cross-cluster-user`: ```console POST /_security/user/cross-cluster-user @@ -389,7 +389,7 @@ POST /_security/role/remote-search } ``` -After creating the `remote-search` role, use the [Create or update users](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html) API to create a user on the local cluster and assign the `remote-search` role. For example, the following request assigns the `remote-search` role to a user named `cross-search-user`: +After creating the `remote-search` role, use the [Create or update users](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-user) API to create a user on the local cluster and assign the `remote-search` role. For example, the following request assigns the `remote-search` role to a user named `cross-search-user`: ```console POST /_security/user/cross-search-user diff --git a/deploy-manage/remote-clusters/remote-clusters-cert.md b/deploy-manage/remote-clusters/remote-clusters-cert.md index 0ff8ce2117..40008ac9a4 100644 --- a/deploy-manage/remote-clusters/remote-clusters-cert.md +++ b/deploy-manage/remote-clusters/remote-clusters-cert.md @@ -92,7 +92,7 @@ To add a remote cluster from Stack Management in {{kib}}: 2. Enter a name (*cluster alias*) for the remote cluster. 3. Specify the {{es}} endpoint URL, or the IP address or host name of the remote cluster followed by the transport port (defaults to `9300`). For example, `cluster.es.eastus2.staging.azure.foundit.no:9300` or `192.168.1.1:9300`. -Alternatively, use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) to add a remote cluster. You can also use this API to dynamically configure remote clusters for *every* node in the local cluster. To configure remote clusters on individual nodes in the local cluster, define static settings in `elasticsearch.yml` for each node. +Alternatively, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to add a remote cluster. You can also use this API to dynamically configure remote clusters for *every* node in the local cluster. To configure remote clusters on individual nodes in the local cluster, define static settings in `elasticsearch.yml` for each node. The following request adds a remote cluster with an alias of `cluster_one`. This *cluster alias* is a unique identifier that represents the connection to the remote cluster and is used to distinguish between local and remote indices. @@ -117,7 +117,7 @@ PUT /_cluster/settings 2. Specifies the hostname and transport port of a seed node in the remote cluster. -You can use the [remote cluster info API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) to verify that the local cluster is successfully connected to the remote cluster: +You can use the [remote cluster info API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) to verify that the local cluster is successfully connected to the remote cluster: ```console GET /_remote/info @@ -147,7 +147,7 @@ The API response indicates that the local cluster is connected to the remote clu ### Dynamically configure remote clusters [_dynamically_configure_remote_clusters_2] -Use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) to dynamically configure remote settings on every node in the cluster. The following request adds three remote clusters: `cluster_one`, `cluster_two`, and `cluster_three`. +Use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to dynamically configure remote settings on every node in the cluster. The following request adds three remote clusters: `cluster_one`, `cluster_two`, and `cluster_three`. The `seeds` parameter specifies the hostname and [transport port](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html) (default `9300`) of a seed node in the remote cluster. @@ -234,7 +234,7 @@ PUT _cluster/settings If you specify settings in `elasticsearch.yml`, only the nodes with those settings can connect to the remote cluster and serve remote cluster requests. ::::{note} -Remote cluster settings that are specified using the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) take precedence over settings that you specify in `elasticsearch.yml` for individual nodes. +Remote cluster settings that are specified using the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) take precedence over settings that you specify in `elasticsearch.yml` for individual nodes. :::: @@ -271,9 +271,9 @@ You must use the same role names on both the local and remote clusters. For exam :::: -You can manage users and roles from Stack Management in {{kib}} by selecting **Security > Roles** from the side navigation. You can also use the [role management APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api.html#security-role-mapping-apis) to add, update, remove, and retrieve roles dynamically. When you use the APIs to manage roles in the `native` realm, the roles are stored in an internal {{es}} index. +You can manage users and roles from Stack Management in {{kib}} by selecting **Security > Roles** from the side navigation. You can also use the [role management APIs](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-security) to add, update, remove, and retrieve roles dynamically. When you use the APIs to manage roles in the `native` realm, the roles are stored in an internal {{es}} index. -The following requests use the [create or update roles API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html). You must have at least the `manage_security` cluster privilege to use this API. +The following requests use the [create or update roles API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-role). You must have at least the `manage_security` cluster privilege to use this API. ### Configure privileges for {{ccr}} [remote-clusters-privileges-ccr] @@ -285,7 +285,7 @@ The {{ccr}} user requires different cluster and index privileges on the remote c On the remote cluster that contains the leader index, the {{ccr}} role requires the `read_ccr` cluster privilege, and `monitor` and `read` privileges on the leader index. ::::{note} -If requests are authenticated with an [API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), the API key requires the above privileges on the **local** cluster, instead of the remote. +If requests are authenticated with an [API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key), the API key requires the above privileges on the **local** cluster, instead of the remote. :::: @@ -345,7 +345,7 @@ POST /_security/role/remote-replication } ``` -After creating the `remote-replication` role on each cluster, use the [create or update users API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html) to create a user on the local cluster cluster and assign the `remote-replication` role. For example, the following request assigns the `remote-replication` role to a user named `cross-cluster-user`: +After creating the `remote-replication` role on each cluster, use the [create or update users API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-user) to create a user on the local cluster cluster and assign the `remote-replication` role. For example, the following request assigns the `remote-replication` role to a user named `cross-cluster-user`: ```console POST /_security/user/cross-cluster-user @@ -373,7 +373,7 @@ The {{ccs}} user requires different cluster and index privileges on the remote c On the remote cluster, the {{ccs}} role requires the `read` and `read_cross_cluster` privileges for the target indices. ::::{note} -If requests are authenticated with an [API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), the API key requires the above privileges on the **local** cluster, instead of the remote. +If requests are authenticated with an [API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key), the API key requires the above privileges on the **local** cluster, instead of the remote. :::: @@ -413,7 +413,7 @@ POST /_security/role/remote-search {} ``` -After creating the `remote-search` role on each cluster, use the [create or update users API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html) to create a user on the local cluster and assign the `remote-search` role. For example, the following request assigns the `remote-search` role to a user named `cross-search-user`: +After creating the `remote-search` role on each cluster, use the [create or update users API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-user) to create a user on the local cluster and assign the `remote-search` role. For example, the following request assigns the `remote-search` role to a user named `cross-search-user`: ```console POST /_security/user/cross-search-user diff --git a/deploy-manage/remote-clusters/remote-clusters-migrate.md b/deploy-manage/remote-clusters/remote-clusters-migrate.md index 9749e0e199..3bf205d98d 100644 --- a/deploy-manage/remote-clusters/remote-clusters-migrate.md +++ b/deploy-manage/remote-clusters/remote-clusters-migrate.md @@ -96,7 +96,7 @@ On the remote cluster: When prompted, enter the `CERT_PASSWORD` from the earlier step. 4. Restart the remote cluster. -5. On the remote cluster, generate a cross-cluster API key that provides access to the indices you want to use for {{ccs}} or {{ccr}}. You can use the [Create Cross-Cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) API or [Kibana](../api-keys/elasticsearch-api-keys.md). +5. On the remote cluster, generate a cross-cluster API key that provides access to the indices you want to use for {{ccs}} or {{ccr}}. You can use the [Create Cross-Cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) API or [Kibana](../api-keys/elasticsearch-api-keys.md). 6. Copy the encoded key (`encoded` in the response) to a safe location. You will need it to connect to the remote cluster later. @@ -104,10 +104,10 @@ On the remote cluster: On the local cluster, stop any persistent tasks that refer to the remote cluster: -* Use the [Stop {{transforms}}](https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-transform.html) API to stop any transforms. -* Use the [Close jobs](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-close-job.html) API to close any anomaly detection jobs. -* Use the [Pause auto-follow pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-pause-auto-follow-pattern.html) API to pause any auto-follow {{ccr}}. -* Use the [Pause follower](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html) API to pause any manual {{ccr}} or existing indices that were created from the auto-follow pattern. +* Use the [Stop {{transforms}}](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-transform-stop-transform) API to stop any transforms. +* Use the [Close jobs](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-close-job) API to close any anomaly detection jobs. +* Use the [Pause auto-follow pattern](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-pause-auto-follow-pattern) API to pause any auto-follow {{ccr}}. +* Use the [Pause follower](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-pause-follow) API to pause any manual {{ccr}} or existing indices that were created from the auto-follow pattern. ## Reconnect to the remote cluster [remote-clusters-migration-reconnect] @@ -180,7 +180,7 @@ On the local cluster: 1. Update the `cluster.remote` settings in `elasticsearch.yml` on each node of the local cluster. Change the port into the remote cluster port, which defaults to `9443`. 2. Restart the local cluster to load changes to the keystore and settings. -7. Use the [remote cluster info API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) to verify that the local cluster has successfully connected to the remote cluster: +7. Use the [remote cluster info API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) to verify that the local cluster has successfully connected to the remote cluster: ```console GET /_remote/info @@ -213,10 +213,10 @@ On the local cluster: Resume any persistent tasks that you stopped earlier. Tasks should be restarted by the same user or API key that created the task before the migration. Ensure the roles of this user or API key have been updated with the required `remote_indices` or `remote_cluster` privileges. For users, tasks capture the caller’s credentials when started and run in that user’s security context. For API keys, restarting a task will update the task with the updated API key. -* Use the [Start {{transform}}](https://www.elastic.co/guide/en/elasticsearch/reference/current/start-transform.html) API to start any transforms. -* Use the [Open jobs](https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-open-job.html) API to open any anomaly detection jobs. -* Use the [Resume follower](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-resume-follow.html) API to resume any auto-follow {{ccr}}. -* Use the [Resume auto-follow pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-resume-auto-follow-pattern.html) API to resume any manual {{ccr}} or existing indices that were created from the auto-follow pattern. +* Use the [Start {{transform}}](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-transform-start-transform) API to start any transforms. +* Use the [Open jobs](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-open-job) API to open any anomaly detection jobs. +* Use the [Resume follower](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-resume-follow) API to resume any auto-follow {{ccr}}. +* Use the [Resume auto-follow pattern](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-resume-auto-follow-pattern) API to resume any manual {{ccr}} or existing indices that were created from the auto-follow pattern. ## Disable certificate based authentication and authorization [remote-clusters-migration-disable-cert] @@ -247,7 +247,7 @@ If you need to roll back, follow these steps on the local cluster: 4. On each node, remove the `remote_cluster_client.ssl.*` settings from `elasticsearch.yml`. 5. Restart the local cluster to apply changes to the keystore and `elasticsearch.yml`. 6. On the local cluster, apply the original remote cluster settings. If the remote cluster connection has been configured statically (using the `elasticsearch.yml` file), restart the cluster. -7. Use the [remote cluster info API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) to verify that the local cluster has connected to the remote cluster. The response should have `"connected": true` and not have `"cluster_credentials": "::es_redacted::"`. +7. Use the [remote cluster info API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) to verify that the local cluster has connected to the remote cluster. The response should have `"connected": true` and not have `"cluster_credentials": "::es_redacted::"`. 8. Restart any persistent tasks that you’ve stopped earlier. diff --git a/deploy-manage/remote-clusters/remote-clusters-settings.md b/deploy-manage/remote-clusters/remote-clusters-settings.md index 0cec6b0f4c..a6b31c5d27 100644 --- a/deploy-manage/remote-clusters/remote-clusters-settings.md +++ b/deploy-manage/remote-clusters/remote-clusters-settings.md @@ -36,7 +36,7 @@ In Elasticsearch 8.15, the default value for `skip_unavailable` was changed from $$$remote-cluster-credentials-setting$$$ `cluster.remote..credentials` -: ([Secure](../security/secure-settings.md), [Reloadable](../security/secure-settings.md#reloadable-secure-settings)) Per-cluster setting for configuring [remote clusters with the API Key based model](remote-clusters-api-key.md). This setting takes the encoded value of a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) and must be set in the [{{es}} keystore](../security/secure-settings.md) on each node in the cluster. The presence (or not) of this setting determines which model a remote cluster uses. If present, the remote cluster uses the API key based model. Otherwise, it uses the certificate based model. If the setting is added, removed, or updated in the [{{es}} keystore](../security/secure-settings.md) and reloaded via the [Nodes reload secure settings](../security/secure-settings.md) API, the cluster will automatically rebuild its connection to the remote. +: ([Secure](../security/secure-settings.md), [Reloadable](../security/secure-settings.md#reloadable-secure-settings)) Per-cluster setting for configuring [remote clusters with the API Key based model](remote-clusters-api-key.md). This setting takes the encoded value of a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) and must be set in the [{{es}} keystore](../security/secure-settings.md) on each node in the cluster. The presence (or not) of this setting determines which model a remote cluster uses. If present, the remote cluster uses the API key based model. Otherwise, it uses the certificate based model. If the setting is added, removed, or updated in the [{{es}} keystore](../security/secure-settings.md) and reloaded via the [Nodes reload secure settings](../security/secure-settings.md) API, the cluster will automatically rebuild its connection to the remote. ## Sniff mode remote cluster settings [remote-cluster-sniff-settings] diff --git a/deploy-manage/remote-clusters/remote-clusters-troubleshooting.md b/deploy-manage/remote-clusters/remote-clusters-troubleshooting.md index 720b49e8f0..5fe48aee9e 100644 --- a/deploy-manage/remote-clusters/remote-clusters-troubleshooting.md +++ b/deploy-manage/remote-clusters/remote-clusters-troubleshooting.md @@ -15,7 +15,7 @@ You may encounter several issues when setting up a remote cluster for {{ccr}} or ### Checking whether a remote cluster has connected successfully [remote-clusters-troubleshooting-check-connection] -A successful call to the cluster settings update API for adding or updating remote clusters does not necessarily mean the configuration is successful. Use the [remote cluster info API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) to verify that a local cluster is successfully connected to a remote cluster. +A successful call to the cluster settings update API for adding or updating remote clusters does not necessarily mean the configuration is successful. Use the [remote cluster info API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) to verify that a local cluster is successfully connected to a remote cluster. ```console GET /_remote/info @@ -238,7 +238,7 @@ Check the port number and ensure you are indeed connecting to the remote cluster ### Connecting without a cross-cluster API key [remote-clusters-troubleshooting-no-api-key] -A local cluster uses the presence of a cross-cluster API key to determine the model with which it connects to a remote cluster. If a cross-cluster API key is present, it uses API key based authentication. Otherwise, it uses certificate based authentication. You can check what model is being used with the [remote cluster info API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html) on the local cluster: +A local cluster uses the presence of a cross-cluster API key to determine the model with which it connects to a remote cluster. If a cross-cluster API key is present, it uses API key based authentication. Otherwise, it uses certificate based authentication. You can check what model is being used with the [remote cluster info API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-remote-info) on the local cluster: ```console GET /_remote/info @@ -302,13 +302,13 @@ This does not show up in the logs of the remote cluster. #### Resolution [_resolution_5] -Add the cross-cluster API key to {{es}} keystore on every node of the local cluster. Use the [Nodes reload secure settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-reload-secure-settings.html) API to reload the keystore. +Add the cross-cluster API key to {{es}} keystore on every node of the local cluster. Use the [Nodes reload secure settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-reload-secure-settings) API to reload the keystore. ### Using the wrong API key type [remote-clusters-troubleshooting-wrong-api-key-type] -API key based authentication requires [cross-cluster API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). It does not work with [REST API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html). +API key based authentication requires [cross-cluster API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). It does not work with [REST API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key). #### Symptom [_symptom_5] @@ -325,7 +325,7 @@ This does not show up in the logs of the remote cluster. #### Resolution [_resolution_6] -Ask the remote cluster administrator to create and distribute a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). Replace the existing API key in the {{es}} keystore with this cross-cluster API key on every node of the local cluster. Use the [Nodes reload secure settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-reload-secure-settings.html) API to reload the keystore. +Ask the remote cluster administrator to create and distribute a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). Replace the existing API key in the {{es}} keystore with this cross-cluster API key on every node of the local cluster. Use the [Nodes reload secure settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-reload-secure-settings) API to reload the keystore. @@ -352,7 +352,7 @@ The remote cluster logs `Authentication using apikey failed`: #### Resolution [_resolution_7] -Ask the remote cluster administrator to create and distribute a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). Replace the existing API key in the {{es}} keystore with this cross-cluster API key on every node of the local cluster. Use the [Nodes reload secure settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-reload-secure-settings.html) API to reload the keystore. +Ask the remote cluster administrator to create and distribute a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). Replace the existing API key in the {{es}} keystore with this cross-cluster API key on every node of the local cluster. Use the [Nodes reload secure settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-reload-secure-settings) API to reload the keystore. @@ -377,7 +377,7 @@ This does not show up in any logs. #### Resolution [_resolution_8] 1. Check that the local user has the necessary `remote_indices` or `remote_cluster` privileges. Grant sufficient `remote_indices` or `remote_cluster` privileges if necessary. -2. If permission is not an issue locally, ask the remote cluster administrator to create and distribute a [cross-cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html). Replace the existing API key in the {{es}} keystore with this cross-cluster API key on every node of the local cluster. Use the [Nodes reload secure settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-reload-secure-settings.html) API to reload the keystore. +2. If permission is not an issue locally, ask the remote cluster administrator to create and distribute a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). Replace the existing API key in the {{es}} keystore with this cross-cluster API key on every node of the local cluster. Use the [Nodes reload secure settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-reload-secure-settings) API to reload the keystore. diff --git a/deploy-manage/security/different-ca.md b/deploy-manage/security/different-ca.md index dc6be56af4..f335bffe2b 100644 --- a/deploy-manage/security/different-ca.md +++ b/deploy-manage/security/different-ca.md @@ -140,7 +140,7 @@ If your organization has its own CA, you’ll need to [generate Certificate Sign ``` 5. Start the node where you updated the keystore. -6. $$$verify-keystore-newca$$$(Optional) Use the [SSL certificate API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html) to verify that {{es}} loaded the new keystore. +6. $$$verify-keystore-newca$$$(Optional) Use the [SSL certificate API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ssl-certificates) to verify that {{es}} loaded the new keystore. ```console GET /_ssl/certificates @@ -264,13 +264,13 @@ This process is different for each client, so refer to your client’s documenta 9. Start the node where you updated the keystore. - Use the [cat nodes API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html) to confirm that the node joined the cluster: + Use the [cat nodes API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-nodes) to confirm that the node joined the cluster: ```console GET _cat/nodes ``` -10. $$$verify-keystore-http-newca$$$(Optional) Use the [SSL certificate API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html) to verify that {{es}} loaded the new keystore. +10. $$$verify-keystore-http-newca$$$(Optional) Use the [SSL certificate API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ssl-certificates) to verify that {{es}} loaded the new keystore. ```console GET /_ssl/certificates diff --git a/deploy-manage/security/same-ca.md b/deploy-manage/security/same-ca.md index e15f978d4f..a70a096544 100644 --- a/deploy-manage/security/same-ca.md +++ b/deploy-manage/security/same-ca.md @@ -93,7 +93,7 @@ The following examples use PKCS#12 files, but the same steps apply to JKS keysto ``` 7. Start the node where you updated the keystore. -8. $$$verify-keystore$$$(Optional) Use the [SSL certificate API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html) to verify that {{es}} loaded the new keystore. +8. $$$verify-keystore$$$(Optional) Use the [SSL certificate API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ssl-certificates) to verify that {{es}} loaded the new keystore. ```console GET /_ssl/certificates @@ -194,13 +194,13 @@ If your organization has its own CA, you’ll need to [generate Certificate Sign 9. Start the node where you updated the keystore. - Use the [cat nodes API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html) to confirm that the node joined the cluster: + Use the [cat nodes API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-nodes) to confirm that the node joined the cluster: ```console GET _cat/nodes ``` -10. $$$verify-keystore-http$$$(Optional) Use the [SSL certificate API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html) to verify that {{es}} loaded the new keystore. +10. $$$verify-keystore-http$$$(Optional) Use the [SSL certificate API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ssl-certificates) to verify that {{es}} loaded the new keystore. ```console GET /_ssl/certificates diff --git a/deploy-manage/security/secure-endpoints.md b/deploy-manage/security/secure-endpoints.md index 5774bf28c7..aac93e5bd3 100644 --- a/deploy-manage/security/secure-endpoints.md +++ b/deploy-manage/security/secure-endpoints.md @@ -20,7 +20,7 @@ Never try to run {{es}} as the `root` user, which would invalidate any defense s ## Protect {{es}} from public internet traffic [security-protect-cluster-traffic] -Even with security enabled, never expose {{es}} to public internet traffic. Using an application to sanitize requests to {{es}} still poses risks, such as a malicious user writing [`_search`](https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html) requests that could overwhelm an {{es}} cluster and bring it down. Keep {{es}} as isolated as possible, preferably behind a firewall and a VPN. Any internet-facing applications should run pre-canned aggregations, or not run aggregations at all. +Even with security enabled, never expose {{es}} to public internet traffic. Using an application to sanitize requests to {{es}} still poses risks, such as a malicious user writing [`_search`](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-search) requests that could overwhelm an {{es}} cluster and bring it down. Keep {{es}} as isolated as possible, preferably behind a firewall and a VPN. Any internet-facing applications should run pre-canned aggregations, or not run aggregations at all. While you absolutely shouldn’t expose {{es}} directly to the internet, you also shouldn’t expose {{es}} directly to users. Instead, use an intermediary application to make requests on behalf of users. This implementation allows you to track user behaviors, such as can submit requests, and to which specific nodes in the cluster. For example, you can implement an application that accepts a search term from a user and funnels it through a [`simple_query_string`](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html) query. diff --git a/deploy-manage/security/updating-certificates.md b/deploy-manage/security/updating-certificates.md index 7954665913..be20e93324 100644 --- a/deploy-manage/security/updating-certificates.md +++ b/deploy-manage/security/updating-certificates.md @@ -5,7 +5,7 @@ mapped_pages: # Updating certificates [update-node-certs] -You might need to update your TLS certificates if your current node certificates expire soon, you’re adding new nodes to your secured cluster, or a security breach has broken the trust of your certificate chain. Use the [SSL certificate](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html) API to check when your certificates are expiring. +You might need to update your TLS certificates if your current node certificates expire soon, you’re adding new nodes to your secured cluster, or a security breach has broken the trust of your certificate chain. Use the [SSL certificate](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ssl-certificates) API to check when your certificates are expiring. In instances where you have access to the original Certificate Authority (CA) key and certificate that you used to sign your existing node certificates (and where you can still trust your CA), you can [use that CA to sign the new certificates](same-ca.md). diff --git a/deploy-manage/tools/cross-cluster-replication.md b/deploy-manage/tools/cross-cluster-replication.md index 0f32c02a48..05c6f03562 100644 --- a/deploy-manage/tools/cross-cluster-replication.md +++ b/deploy-manage/tools/cross-cluster-replication.md @@ -182,7 +182,7 @@ You can modify dynamic [remote recovery settings](https://www.elastic.co/guide/e :::: -Use the [recovery API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html) on the cluster containing the follower index to obtain information about an in-progress remote recovery. Because {{es}} implements remote recoveries using the [snapshot and restore](snapshot-and-restore.md) infrastructure, running remote recoveries are labelled as type `snapshot` in the recovery API. +Use the [recovery API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-recovery) on the cluster containing the follower index to obtain information about an in-progress remote recovery. Because {{es}} implements remote recoveries using the [snapshot and restore](snapshot-and-restore.md) infrastructure, running remote recoveries are labelled as type `snapshot` in the recovery API. ## Replicating a leader requires soft deletes [ccr-leader-requirements] @@ -196,7 +196,7 @@ The [`index.soft_deletes.retention_lease.period`](https://www.elastic.co/guide/e Soft deletes must be enabled for indices that you want to use as leader indices. Soft deletes are enabled by default on new indices created on or after {{es}} 7.0.0. ::::{important} -{{ccr-cap}} cannot be used on existing indices created using {{es}} 7.0.0 or earlier, where soft deletes are disabled. You must [reindex](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html) your data into a new index with soft deletes enabled. +{{ccr-cap}} cannot be used on existing indices created using {{es}} 7.0.0 or earlier, where soft deletes are disabled. You must [reindex](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) your data into a new index with soft deletes enabled. :::: @@ -218,7 +218,7 @@ This following sections provide more information about how to configure and use * [System indices](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#system-indices) * [Machine learning jobs](../../explore-analyze/machine-learning.md) * [index templates](../../manage-data/data-store/templates.md) -* [{{ilm-cap}}](../../manage-data/lifecycle/index-lifecycle-management.md) and [{{slm}}](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-lifecycle-management-api.html) polices +* [{{ilm-cap}}](../../manage-data/lifecycle/index-lifecycle-management.md) and [{{slm}}](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-slm) polices * [User permissions and role mappings](../users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md) * [Snapshot repository settings](snapshot-and-restore/self-managed.md) * [Cluster settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cluster.html) diff --git a/deploy-manage/tools/cross-cluster-replication/_configure_privileges_for_cross_cluster_replication_2.md b/deploy-manage/tools/cross-cluster-replication/_configure_privileges_for_cross_cluster_replication_2.md index b3f31f78b3..ebc237b41b 100644 --- a/deploy-manage/tools/cross-cluster-replication/_configure_privileges_for_cross_cluster_replication_2.md +++ b/deploy-manage/tools/cross-cluster-replication/_configure_privileges_for_cross_cluster_replication_2.md @@ -13,7 +13,7 @@ The {{ccr}} user requires different cluster and index privileges on the remote c On the remote cluster that contains the leader index, the {{ccr}} role requires the `read_ccr` cluster privilege, and `monitor` and `read` privileges on the leader index. ::::{note} -If requests are authenticated with an [API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), the API key requires the above privileges on the **local** cluster, instead of the remote. +If requests are authenticated with an [API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key), the API key requires the above privileges on the **local** cluster, instead of the remote. :::: @@ -73,7 +73,7 @@ POST /_security/role/remote-replication } ``` -After creating the `remote-replication` role on each cluster, use the [create or update users API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html) to create a user on the local cluster cluster and assign the `remote-replication` role. For example, the following request assigns the `remote-replication` role to a user named `cross-cluster-user`: +After creating the `remote-replication` role on each cluster, use the [create or update users API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-user) to create a user on the local cluster cluster and assign the `remote-replication` role. For example, the following request assigns the `remote-replication` role to a user named `cross-cluster-user`: ```console POST /_security/user/cross-cluster-user diff --git a/deploy-manage/tools/cross-cluster-replication/_connect_to_a_remote_cluster.md b/deploy-manage/tools/cross-cluster-replication/_connect_to_a_remote_cluster.md index 5fc01b35a1..998b59198e 100644 --- a/deploy-manage/tools/cross-cluster-replication/_connect_to_a_remote_cluster.md +++ b/deploy-manage/tools/cross-cluster-replication/_connect_to_a_remote_cluster.md @@ -18,7 +18,7 @@ To configure a remote cluster from Stack Management in {{kib}}: 3. Specify the {{es}} endpoint URL, or the IP address or host name of the remote cluster (`ClusterA`) followed by the transport port (defaults to `9300`). For example, `cluster.es.eastus2.staging.azure.foundit.no:9400` or `192.168.1.1:9300`. ::::{dropdown} API example -You can also use the [cluster update settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) to add a remote cluster: +You can also use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) to add a remote cluster: ```console PUT /_cluster/settings diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-create.md b/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-create.md index f356aadfdf..efdb32c987 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-create.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-create.md @@ -7,5 +7,5 @@ mapped_pages: When you [create an auto-follow pattern](ccr-getting-started-auto-follow.md), you are configuring a collection of patterns against a single remote cluster. When an index is created in the remote cluster with a name that matches one of the patterns in the collection, a follower index is configured in the local cluster. The follower index uses the new index as its leader index. -Use the [create auto-follow pattern API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-auto-follow-pattern.html) to add a new auto-follow pattern configuration. +Use the [create auto-follow pattern API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-put-auto-follow-pattern) to add a new auto-follow pattern configuration. diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-delete.md b/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-delete.md index 0dcdb8d921..e520a44eeb 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-delete.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-delete.md @@ -9,5 +9,5 @@ To delete an auto-follow pattern collection, [access {{kib}}](manage-auto-follow When the pattern status changes to Paused, choose **Manage pattern > Delete pattern**. -Use the [delete auto-follow pattern API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-delete-auto-follow-pattern.html) to delete a configured auto-follow pattern collection. +Use the [delete auto-follow pattern API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-delete-auto-follow-pattern) to delete a configured auto-follow pattern collection. diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-pause.md b/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-pause.md index 882f055938..657f8a9726 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-pause.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-pause.md @@ -9,5 +9,5 @@ To pause and resume replication of auto-follow pattern collections, [access {{ki To resume replication, select the pattern and choose **Manage pattern > Resume replication**. -Use the [pause auto-follow pattern API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-pause-auto-follow-pattern.html) to pause auto-follow patterns. Use the [resume auto-follow pattern API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-resume-auto-follow-pattern.html) to resume auto-follow patterns. +Use the [pause auto-follow pattern API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-pause-auto-follow-pattern) to pause auto-follow patterns. Use the [resume auto-follow pattern API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-resume-auto-follow-pattern) to resume auto-follow patterns. diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-retrieve.md b/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-retrieve.md index ffdac7ddb5..ac6d57c544 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-retrieve.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-retrieve.md @@ -9,5 +9,5 @@ To view existing auto-follow patterns and make changes to the backing patterns, Select the auto-follow pattern that you want to view details about. From there, you can make changes to the auto-follow pattern. You can also view your follower indices included in the auto-follow pattern. -Use the [get auto-follow pattern API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-auto-follow-pattern.html) to inspect all configured auto-follow pattern collections. +Use the [get auto-follow pattern API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-get-auto-follow-pattern-1) to inspect all configured auto-follow pattern collections. diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-getting-started-auto-follow.md b/deploy-manage/tools/cross-cluster-replication/ccr-getting-started-auto-follow.md index c015a003b6..c935d3870d 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-getting-started-auto-follow.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-getting-started-auto-follow.md @@ -25,7 +25,7 @@ As new indices matching these patterns are created on the remote, {{es}} automat ::: ::::{dropdown} API example -Use the [create auto-follow pattern API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-auto-follow-pattern.html) to configure auto-follow patterns. +Use the [create auto-follow pattern API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-put-auto-follow-pattern) to configure auto-follow patterns. ```console PUT /_ccr/auto_follow/beats diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-getting-started-follower-index.md b/deploy-manage/tools/cross-cluster-replication/ccr-getting-started-follower-index.md index ae41820f2a..fa7e41c29f 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-getting-started-follower-index.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-getting-started-follower-index.md @@ -24,7 +24,7 @@ When you index documents into your leader index, {{es}} replicates the documents ::: ::::{dropdown} API example -You can also use the [create follower API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-follow.html) to create follower indices. When you create a follower index, you must reference the remote cluster and the leader index that you created in the remote cluster. +You can also use the [create follower API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-follow) to create follower indices. When you create a follower index, you must reference the remote cluster and the leader index that you created in the remote cluster. When initiating the follower request, the response returns before the [remote recovery](../cross-cluster-replication.md#ccr-remote-recovery) process completes. To wait for the process to complete, add the `wait_for_active_shards` parameter to your request. @@ -36,7 +36,7 @@ PUT /server-metrics-follower/_ccr/follow?wait_for_active_shards=1 } ``` -Use the [get follower stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html) to inspect the status of replication. +Use the [get follower stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-follow-stats) to inspect the status of replication. :::: diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-inspect-progress.md b/deploy-manage/tools/cross-cluster-replication/ccr-inspect-progress.md index faab724e44..740ba3b2ce 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-inspect-progress.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-inspect-progress.md @@ -12,7 +12,7 @@ Select the name of the follower index you want to view replication details for. To view more detailed statistics, click **View in Index Management**, and then select the name of the follower index in Index Management. Open the tabs for detailed statistics about the follower index. ::::{dropdown} API example -Use the [get follower stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html) to inspect replication progress at the shard level. This API provides insight into the read and writes managed by the follower shard. The API also reports read exceptions that can be retried and fatal exceptions that require user intervention. +Use the [get follower stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-follow-stats) to inspect replication progress at the shard level. This API provides insight into the read and writes managed by the follower shard. The API also reports read exceptions that can be retried and fatal exceptions that require user intervention. :::: diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-pause-replication.md b/deploy-manage/tools/cross-cluster-replication/ccr-pause-replication.md index ee532bf249..46c040cee1 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-pause-replication.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-pause-replication.md @@ -12,7 +12,7 @@ Select the follower index you want to pause and choose **Manage > Pause Replicat To resume replication, select the follower index and choose **Resume replication**. ::::{dropdown} API example -You can pause replication with the [pause follower API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html) and then later resume replication with the [resume follower API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-resume-follow.html). Using these APIs in tandem enables you to adjust the read and write parameters on the follower shard task if your initial configuration is not suitable for your use case. +You can pause replication with the [pause follower API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-pause-follow) and then later resume replication with the [resume follower API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-resume-follow). Using these APIs in tandem enables you to adjust the read and write parameters on the follower shard task if your initial configuration is not suitable for your use case. :::: diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-recreate-follower-index.md b/deploy-manage/tools/cross-cluster-replication/ccr-recreate-follower-index.md index 115469d846..1faca2059a 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-recreate-follower-index.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-recreate-follower-index.md @@ -27,7 +27,7 @@ In the side navigation, choose **Index Management**. Select the follower index f You can then [recreate the follower index](ccr-getting-started-follower-index.md) to restart the replication process. ::::{dropdown} Use the API -Use the [pause follow API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html) to pause the replication process. Then, close the follower index and recreate it. For example: +Use the [pause follow API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-pause-follow) to pause the replication process. Then, close the follower index and recreate it. For example: ```console POST /follower_index/_ccr/pause_follow diff --git a/deploy-manage/tools/cross-cluster-replication/ccr-terminate-replication.md b/deploy-manage/tools/cross-cluster-replication/ccr-terminate-replication.md index 9f653287d7..786a46272f 100644 --- a/deploy-manage/tools/cross-cluster-replication/ccr-terminate-replication.md +++ b/deploy-manage/tools/cross-cluster-replication/ccr-terminate-replication.md @@ -16,7 +16,7 @@ The follower index will be converted to a standard index and will no longer disp You can then choose **Index Management**, select the follower index from the previous steps, and close the follower index. ::::{dropdown} Use the API -You can terminate replication with the [unfollow API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-unfollow.html). This API converts a follower index to a standard (non-follower) index. +You can terminate replication with the [unfollow API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-unfollow). This API converts a follower index to a standard (non-follower) index. :::: diff --git a/deploy-manage/tools/cross-cluster-replication/manage-auto-follow-patterns.md b/deploy-manage/tools/cross-cluster-replication/manage-auto-follow-patterns.md index a13251440c..f30bc5e7bb 100644 --- a/deploy-manage/tools/cross-cluster-replication/manage-auto-follow-patterns.md +++ b/deploy-manage/tools/cross-cluster-replication/manage-auto-follow-patterns.md @@ -8,13 +8,13 @@ mapped_pages: To replicate time series indices, you configure an auto-follow pattern so that each new index in the series is replicated automatically. Whenever the name of a new index on the remote cluster matches the auto-follow pattern, a corresponding follower index is added to the local cluster. ::::{note} -Auto-follow patterns only match open indices on the remote cluster that have all primary shards started. Auto-follow patterns do not match indices that can’t be used for {{ccr-init}} such as [closed indices](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html#open-index-api-desc) or [{{search-snaps}}](../snapshot-and-restore/searchable-snapshots.md). Avoid using an auto-follow pattern that matches indices with a [read or write block](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-blocks.html#index-block-settings). These blocks prevent follower indices from replicating such indices. +Auto-follow patterns only match open indices on the remote cluster that have all primary shards started. Auto-follow patterns do not match indices that can’t be used for {{ccr-init}} such as [closed indices](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-open) or [{{search-snaps}}](../snapshot-and-restore/searchable-snapshots.md). Avoid using an auto-follow pattern that matches indices with a [read or write block](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-blocks.html#index-block-settings). These blocks prevent follower indices from replicating such indices. :::: You can also create auto-follow patterns for data streams. When a new backing index is generated on a remote cluster, that index and its data stream are automatically followed if the data stream name matches an auto-follow pattern. If you create a data stream after creating the auto-follow pattern, all backing indices are followed automatically. -The data streams replicated from a remote cluster by CCR are protected from local rollovers. The [promote data stream API](https://www.elastic.co/guide/en/elasticsearch/reference/current/promote-data-stream-api.html) can be used to turn these data streams into regular data streams. +The data streams replicated from a remote cluster by CCR are protected from local rollovers. The [promote data stream API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-promote-data-stream) can be used to turn these data streams into regular data streams. Auto-follow patterns are especially useful with [{{ilm-cap}}](../../../manage-data/lifecycle/index-lifecycle-management.md), which might continually create new indices on the cluster containing the leader index. diff --git a/deploy-manage/tools/snapshot-and-restore.md b/deploy-manage/tools/snapshot-and-restore.md index edf149f36a..3d6d6bd17f 100644 --- a/deploy-manage/tools/snapshot-and-restore.md +++ b/deploy-manage/tools/snapshot-and-restore.md @@ -126,7 +126,7 @@ Snapshots don’t contain or back up: A **feature state** contains the indices and data streams used to store configurations, history, and other data for an Elastic feature, such as **Elasticsearch security** or **Kibana**. ::::{note} -To retrieve a list of feature states, use the [Features API](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-features-api.html). +To retrieve a list of feature states, use the [Features API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-features-get-features). :::: A feature state typically includes one or more [system indices or system data streams](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#system-indices). It may also include regular indices and data streams used by the feature. For example, a feature state may include a regular index that contains the feature’s execution history. Storing this history in a regular index lets you more easily search it. diff --git a/deploy-manage/tools/snapshot-and-restore/cloud-on-k8s.md b/deploy-manage/tools/snapshot-and-restore/cloud-on-k8s.md index 7f419e912a..3e99b456f9 100644 --- a/deploy-manage/tools/snapshot-and-restore/cloud-on-k8s.md +++ b/deploy-manage/tools/snapshot-and-restore/cloud-on-k8s.md @@ -13,7 +13,7 @@ Snapshots are essential for recovering Elasticsearch indices in case of accident To set up automated snapshots for Elasticsearch on Kubernetes you have to: 1. Register the snapshot repository with the Elasticsearch API. -2. Set up a Snapshot Lifecycle Management Policy through [API](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-lifecycle-management-api.html) or the [Kibana UI](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html) +2. Set up a Snapshot Lifecycle Management Policy through [API](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-slm) or the [Kibana UI](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html) ::::{note} Support for S3, GCS and Azure repositories is bundled in Elasticsearch by default from version 8.0. On older versions of Elasticsearch, or if another snapshot repository plugin should be used, you have to [Install a snapshot repository plugin](#k8s-install-plugin). diff --git a/deploy-manage/tools/snapshot-and-restore/create-snapshots.md b/deploy-manage/tools/snapshot-and-restore/create-snapshots.md index 2d73c11da8..78dc01d03a 100644 --- a/deploy-manage/tools/snapshot-and-restore/create-snapshots.md +++ b/deploy-manage/tools/snapshot-and-restore/create-snapshots.md @@ -109,7 +109,7 @@ POST _security/role/slm-read-only To manage {{slm-init}} in {{kib}}, go to the main menu and click **Stack Management** > **Snapshot and Restore*** > ***Policies**. To create a policy, click **Create policy**. -You can also manage {{slm-init}} using the [{{slm-init}} APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-lifecycle-management-api.html). To create a policy, use the [create {{slm-init}} policy API](https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put-policy.html). +You can also manage {{slm-init}} using the [{{slm-init}} APIs](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-slm). To create a policy, use the [create {{slm-init}} policy API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-put-lifecycle). The following request creates a policy that backs up the cluster state, all data streams, and all indices daily at 1:30 a.m. UTC. @@ -144,7 +144,7 @@ PUT _slm/policy/nightly-snapshots You can manually run an {{slm-init}} policy to immediately create a snapshot. This is useful for testing a new policy or taking a snapshot before an upgrade. Manually running a policy doesn’t affect its snapshot schedule. -To run a policy in {{kib}}, go to the **Policies** page and click the run icon under the **Actions** column. You can also use the [execute {{slm-init}} policy API](https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute-lifecycle.html). +To run a policy in {{kib}}, go to the **Policies** page and click the run icon under the **Actions** column. You can also use the [execute {{slm-init}} policy API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-execute-lifecycle). ```console POST _slm/policy/nightly-snapshots/_execute @@ -166,7 +166,7 @@ PUT _cluster/settings } ``` -To immediately run the retention task, use the [execute {{slm-init}} retention policy API](https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute-retention.html). +To immediately run the retention task, use the [execute {{slm-init}} retention policy API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-execute-retention). ```console POST _slm/_execute_retention @@ -184,7 +184,7 @@ A snapshot repository can safely scale to thousands of snapshots. However, to ma ## Manually create a snapshot [manually-create-snapshot] -To take a snapshot without an {{slm-init}} policy, use the [create snapshot API](https://www.elastic.co/guide/en/elasticsearch/reference/current/create-snapshot-api.html). The snapshot name supports [date math](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names). +To take a snapshot without an {{slm-init}} policy, use the [create snapshot API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create). The snapshot name supports [date math](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names). ```console # PUT _snapshot/my_repository/ @@ -197,18 +197,18 @@ Depending on its size, a snapshot can take a while to complete. By default, the PUT _snapshot/my_repository/my_snapshot?wait_for_completion=true ``` -You can also clone an existing snapshot using [clone snapshot API](https://www.elastic.co/guide/en/elasticsearch/reference/current/clone-snapshot-api.html). +You can also clone an existing snapshot using [clone snapshot API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-clone). ## Monitor a snapshot [monitor-snapshot] -To monitor any currently running snapshots, use the [get snapshot API](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-snapshot-api.html) with the `_current` request path parameter. +To monitor any currently running snapshots, use the [get snapshot API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-get) with the `_current` request path parameter. ```console GET _snapshot/my_repository/_current ``` -To get a complete breakdown of each shard participating in any currently running snapshots, use the [get snapshot status API](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-snapshot-api.html). +To get a complete breakdown of each shard participating in any currently running snapshots, use the [get snapshot status API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-get). ```console GET _snapshot/_status @@ -217,13 +217,13 @@ GET _snapshot/_status ### Check {{slm-init}} history [check-slm-history] -To get more information about a cluster’s {{slm-init}} execution history, including stats for each {{slm-init}} policy, use the [get {{slm-init}} stats API](https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get-stats.html). The API also returns information about the cluster’s snapshot retention task history. +To get more information about a cluster’s {{slm-init}} execution history, including stats for each {{slm-init}} policy, use the [get {{slm-init}} stats API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-stats). The API also returns information about the cluster’s snapshot retention task history. ```console GET _slm/stats ``` -To get information about a specific {{slm-init}} policy’s execution history, use the [get {{slm-init}} policy API](https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get-policy.html). The response includes: +To get information about a specific {{slm-init}} policy’s execution history, use the [get {{slm-init}} policy API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-lifecycle). The response includes: * The next scheduled policy execution. * The last time the policy successfully started the snapshot process, if applicable. A successful start doesn’t guarantee the snapshot completed. @@ -236,7 +236,7 @@ GET _slm/policy/nightly-snapshots ## Delete or cancel a snapshot [delete-snapshot] -To delete a snapshot in {{kib}}, go to the **Snapshots** page and click the trash icon under the **Actions** column. You can also use the [delete snapshot API](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-snapshot-api.html). +To delete a snapshot in {{kib}}, go to the **Snapshots** page and click the trash icon under the **Actions** column. You can also use the [delete snapshot API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-delete). ```console DELETE _snapshot/my_repository/my_snapshot_2099.05.06 @@ -261,7 +261,7 @@ By default, a snapshot that includes the cluster state also includes all [featur You can also configure a snapshot to only include specific feature states, regardless of the cluster state. -To get a list of available features, use the [get features API](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-features-api.html). +To get a list of available features, use the [get features API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-features-get-features). ```console GET _features @@ -315,7 +315,7 @@ PUT _slm/policy/nightly-snapshots } ``` -Any index or data stream that’s part of the feature state will display in a snapshot’s contents. For example, if you back up the `security` feature state, the `security-*` system indices display in the [get snapshot API](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-snapshot-api.html)'s response under both `indices` and `feature_states`. +Any index or data stream that’s part of the feature state will display in a snapshot’s contents. For example, if you back up the `security` feature state, the `security-*` system indices display in the [get snapshot API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-get)'s response under both `indices` and `feature_states`. ## Dedicated cluster state snapshots [cluster-state-snapshots] diff --git a/deploy-manage/tools/snapshot-and-restore/google-cloud-storage-repository.md b/deploy-manage/tools/snapshot-and-restore/google-cloud-storage-repository.md index eb2afdd9a2..cd27f5ee31 100644 --- a/deploy-manage/tools/snapshot-and-restore/google-cloud-storage-repository.md +++ b/deploy-manage/tools/snapshot-and-restore/google-cloud-storage-repository.md @@ -87,7 +87,7 @@ PUT _snapshot/my_gcs_repository } ``` -The `credentials_file` settings are [reloadable](../../security/secure-settings.md#reloadable-secure-settings). You can define these settings before the node is started, or call the [Nodes reload secure settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-reload-secure-settings.html) after the settings are defined to apply them to a running node. +The `credentials_file` settings are [reloadable](../../security/secure-settings.md#reloadable-secure-settings). You can define these settings before the node is started, or call the [Nodes reload secure settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-reload-secure-settings) after the settings are defined to apply them to a running node. After you reload the settings, the internal `gcs` clients, which are used to transfer the snapshot contents, utilize the latest settings from the keystore. diff --git a/deploy-manage/tools/snapshot-and-restore/read-only-url-repository.md b/deploy-manage/tools/snapshot-and-restore/read-only-url-repository.md index 0d2c35e443..61625bdadd 100644 --- a/deploy-manage/tools/snapshot-and-restore/read-only-url-repository.md +++ b/deploy-manage/tools/snapshot-and-restore/read-only-url-repository.md @@ -12,7 +12,7 @@ This repository type is only available if you run {{es}} on your own hardware. I You can use a URL repository to give a cluster read-only access to a shared file system. Since URL repositories are always read-only, they’re a safer and more convenient alternative to registering a read-only shared filesystem repository. -Use {{kib}} or the [create snapshot repository API](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-snapshot-repo-api.html) to register a URL repository. +Use {{kib}} or the [create snapshot repository API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository) to register a URL repository. ```console PUT _snapshot/my_read_only_url_repository diff --git a/deploy-manage/tools/snapshot-and-restore/s3-repository.md b/deploy-manage/tools/snapshot-and-restore/s3-repository.md index 6a4fbccdc9..61563dea5d 100644 --- a/deploy-manage/tools/snapshot-and-restore/s3-repository.md +++ b/deploy-manage/tools/snapshot-and-restore/s3-repository.md @@ -68,7 +68,7 @@ bin/elasticsearch-keystore remove s3.client.default.secret_key bin/elasticsearch-keystore remove s3.client.default.session_token ``` -Define the relevant secure settings in each node’s keystore before starting the node. The secure settings described here are all [reloadable](../../security/secure-settings.md#reloadable-secure-settings) so you may update the keystore contents on each node while the node is running and then call the [Nodes reload secure settings API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-reload-secure-settings.html) to apply the updated settings to the nodes in the cluster. After this API completes, {{es}} will use the updated setting values for all future snapshot operations, but ongoing operations may continue to use older setting values. +Define the relevant secure settings in each node’s keystore before starting the node. The secure settings described here are all [reloadable](../../security/secure-settings.md#reloadable-secure-settings) so you may update the keystore contents on each node while the node is running and then call the [Nodes reload secure settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-reload-secure-settings) to apply the updated settings to the nodes in the cluster. After this API completes, {{es}} will use the updated setting values for all future snapshot operations, but ongoing operations may continue to use older setting values. The following list contains the available client settings. Those that must be stored in the keystore are marked as "secure" and are **reloadable**; the other settings belong in the `elasticsearch.yml` file. @@ -381,7 +381,7 @@ By default {{es}} communicates with your storage system using HTTPS, and validat There are many systems, including some from very well-known storage vendors, which claim to offer an S3-compatible API despite failing to emulate S3’s behaviour in full. If you are using such a system for your snapshots, consider using a [shared filesystem repository](shared-file-system-repository.md) based on a standardized protocol such as NFS to access your storage system instead. The `s3` repository type requires full compatibility with S3. In particular it must support the same set of API endpoints, with the same parameters, return the same errors in case of failures, and offer consistency and performance at least as good as S3 even when accessed concurrently by multiple nodes. You will need to work with the supplier of your storage system to address any incompatibilities you encounter. Please do not report {{es}} issues involving storage systems which claim to be S3-compatible unless you can demonstrate that the same issue exists when using a genuine AWS S3 repository. -You can perform some basic checks of the suitability of your storage system using the [repository analysis API](https://www.elastic.co/guide/en/elasticsearch/reference/current/repo-analysis-api.html). If this API does not complete successfully, or indicates poor performance, then your storage system is not fully compatible with AWS S3 and therefore unsuitable for use as a snapshot repository. However, these checks do not guarantee full compatibility. +You can perform some basic checks of the suitability of your storage system using the [repository analysis API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-analyze). If this API does not complete successfully, or indicates poor performance, then your storage system is not fully compatible with AWS S3 and therefore unsuitable for use as a snapshot repository. However, these checks do not guarantee full compatibility. Most storage systems can be configured to log the details of their interaction with {{es}}. If you are investigating a suspected incompatibility with AWS S3, it is usually simplest to collect these logs and provide them to the supplier of your storage system for further analysis. If the incompatibility is not clear from the logs emitted by the storage system, configure {{es}} to log every request it makes to the S3 API by [setting the logging level](../../monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md#configuring-logging-levels) of the `com.amazonaws.request` logger to `DEBUG`. @@ -398,7 +398,7 @@ PUT /_cluster/settings } ``` -Collect the Elasticsearch logs covering the time period of the failed analysis from all nodes in your cluster and share them with the supplier of your storage system along with the analysis response so they can use them to determine the problem. See the [AWS Java SDK](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-../../monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md) documentation for further information, including details about other loggers that can be used to obtain even more verbose logs. When you have finished collecting the logs needed by your supplier, set the logger settings back to `null` to return to the default logging configuration and disable insecure network trace logging again. See [Logger](https://www.elastic.co/guide/en/elasticsearch/reference/current/misc-cluster-settings.html#cluster-logger) and [Cluster update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) for more information. +Collect the Elasticsearch logs covering the time period of the failed analysis from all nodes in your cluster and share them with the supplier of your storage system along with the analysis response so they can use them to determine the problem. See the [AWS Java SDK](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-../../monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md) documentation for further information, including details about other loggers that can be used to obtain even more verbose logs. When you have finished collecting the logs needed by your supplier, set the logger settings back to `null` to return to the default logging configuration and disable insecure network trace logging again. See [Logger](https://www.elastic.co/guide/en/elasticsearch/reference/current/misc-cluster-settings.html#cluster-logger) and [Cluster update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) for more information. ## Linearizable register implementation [repository-s3-linearizable-registers] diff --git a/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md b/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md index 7e9aaff719..fd7a4898b0 100644 --- a/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md +++ b/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md @@ -18,20 +18,20 @@ By default, {{search-snap}} indices have no replicas. The underlying snapshot pr If a node fails and {{search-snap}} shards need to be recovered elsewhere, there is a brief window of time while {{es}} allocates the shards to other nodes where the cluster health will not be `green`. Searches that hit these shards may fail or return partial results until the shards are reallocated to healthy nodes. -You typically manage {{search-snaps}} through {{ilm-init}}. The [searchable snapshots](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-searchable-snapshot.html) action automatically converts a regular index into a {{search-snap}} index when it reaches the `cold` or `frozen` phase. You can also make indices in existing snapshots searchable by manually mounting them using the [mount snapshot](https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots-api-mount-snapshot.html) API. +You typically manage {{search-snaps}} through {{ilm-init}}. The [searchable snapshots](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-searchable-snapshot.html) action automatically converts a regular index into a {{search-snap}} index when it reaches the `cold` or `frozen` phase. You can also make indices in existing snapshots searchable by manually mounting them using the [mount snapshot](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-searchable-snapshots-mount) API. -To mount an index from a snapshot that contains multiple indices, we recommend creating a [clone](https://www.elastic.co/guide/en/elasticsearch/reference/current/clone-snapshot-api.html) of the snapshot that contains only the index you want to search, and mounting the clone. You should not delete a snapshot if it has any mounted indices, so creating a clone enables you to manage the lifecycle of the backup snapshot independently of any {{search-snaps}}. If you use {{ilm-init}} to manage your {{search-snaps}} then it will automatically look after cloning the snapshot as needed. +To mount an index from a snapshot that contains multiple indices, we recommend creating a [clone](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-clone) of the snapshot that contains only the index you want to search, and mounting the clone. You should not delete a snapshot if it has any mounted indices, so creating a clone enables you to manage the lifecycle of the backup snapshot independently of any {{search-snaps}}. If you use {{ilm-init}} to manage your {{search-snaps}} then it will automatically look after cloning the snapshot as needed. You can control the allocation of the shards of {{search-snap}} indices using the same mechanisms as for regular indices. For example, you could use [Index-level shard allocation filtering](../../distributed-architecture/shard-allocation-relocation-recovery/index-level-shard-allocation.md) to restrict {{search-snap}} shards to a subset of your nodes. The speed of recovery of a {{search-snap}} index is limited by the repository setting `max_restore_bytes_per_sec` and the node setting `indices.recovery.max_bytes_per_sec` just like a normal restore operation. By default `max_restore_bytes_per_sec` is unlimited, but the default for `indices.recovery.max_bytes_per_sec` depends on the configuration of the node. See [Recovery settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/recovery.html#recovery-settings). -We recommend that you [force-merge](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html) indices to a single segment per shard before taking a snapshot that will be mounted as a {{search-snap}} index. Each read from a snapshot repository takes time and costs money, and the fewer segments there are the fewer reads are needed to restore the snapshot or to respond to a search. +We recommend that you [force-merge](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-forcemerge) indices to a single segment per shard before taking a snapshot that will be mounted as a {{search-snap}} index. Each read from a snapshot repository takes time and costs money, and the fewer segments there are the fewer reads are needed to restore the snapshot or to respond to a search. ::::{tip} {{search-snaps-cap}} are ideal for managing a large archive of historical data. Historical information is typically searched less frequently than recent data and therefore may not need replicas for their performance benefits. -For more complex or time-consuming searches, you can use [Async search](https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html) with {{search-snaps}}. +For more complex or time-consuming searches, you can use [Async search](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-async-search-submit) with {{search-snaps}}. :::: @@ -46,7 +46,7 @@ Use any of the following repository types with searchable snapshots: * [Shared filesystems](shared-file-system-repository.md) such as NFS * [Read-only HTTP and HTTPS repositories](read-only-url-repository.md) -You can also use alternative implementations of these repository types, for instance [MinIO](s3-repository.md#repository-s3-client), as long as they are fully compatible. Use the [Repository analysis](https://www.elastic.co/guide/en/elasticsearch/reference/current/repo-analysis-api.html) API to analyze your repository’s suitability for use with searchable snapshots. +You can also use alternative implementations of these repository types, for instance [MinIO](s3-repository.md#repository-s3-client), as long as they are fully compatible. Use the [Repository analysis](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-analyze) API to analyze your repository’s suitability for use with searchable snapshots. ## How {{search-snaps}} work [how-searchable-snapshots-work] @@ -58,7 +58,7 @@ If a node holding one of these shards fails, {{es}} automatically allocates the ### Mount options [searchable-snapshot-mount-storage-options] -To search a snapshot, you must first mount it locally as an index. Usually {{ilm-init}} will do this automatically, but you can also call the [mount snapshot](https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots-api-mount-snapshot.html) API yourself. There are two options for mounting an index from a snapshot, each with different performance characteristics and local storage footprints: +To search a snapshot, you must first mount it locally as an index. Usually {{ilm-init}} will do this automatically, but you can also call the [mount snapshot](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-searchable-snapshots-mount) API yourself. There are two options for mounting an index from a snapshot, each with different performance characteristics and local storage footprints: $$$fully-mounted$$$ @@ -136,7 +136,7 @@ You can only configure these settings on nodes with the [`data_frozen`](../../di : ([Dynamic](../../deploy/self-managed/configure-elasticsearch.md#dynamic-cluster-setting)) The number of documents that are searched for and bulk-deleted at once during the periodic cleanup of the `.snapshot-blob-cache` index. Defaults to `100`. `searchable_snapshots.blob_cache.periodic_cleanup.pit_keep_alive` -: ([Dynamic](../../deploy/self-managed/configure-elasticsearch.md#dynamic-cluster-setting)) The value used for the [point-in-time keep alive](https://www.elastic.co/guide/en/elasticsearch/reference/current/point-in-time-api.html#point-in-time-keep-alive) requests executed during the periodic cleanup of the `.snapshot-blob-cache` index. Defaults to `10m`. +: ([Dynamic](../../deploy/self-managed/configure-elasticsearch.md#dynamic-cluster-setting)) The value used for the [point-in-time keep alive](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-open-point-in-time) requests executed during the periodic cleanup of the `.snapshot-blob-cache` index. Defaults to `10m`. ## Reduce costs with {{search-snaps}} [searchable-snapshots-costs] diff --git a/deploy-manage/tools/snapshot-and-restore/self-managed.md b/deploy-manage/tools/snapshot-and-restore/self-managed.md index 9643395aec..984031e170 100644 --- a/deploy-manage/tools/snapshot-and-restore/self-managed.md +++ b/deploy-manage/tools/snapshot-and-restore/self-managed.md @@ -47,11 +47,11 @@ When registering a snapshot repository, keep the following in mind: You can register and manage snapshot repositories in two ways: * {{kib}}'s **Snapshot and Restore** feature -* {{es}}'s [snapshot repository management APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore-apis.html#snapshot-restore-repo-apis) +* {{es}}'s [snapshot repository management APIs](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-snapshot) To manage repositories in {{kib}}, go to the main menu and click **Stack Management** > **Snapshot and Restore*** > ***Repositories**. To register a snapshot repository, click **Register repository**. -You can also register a repository using the [Create snapshot repository API](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-snapshot-repo-api.html). +You can also register a repository using the [Create snapshot repository API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository). ## Snapshot repository types [snapshot-repo-types] @@ -96,14 +96,14 @@ You can also use alternative storage implementations with these repository types Note that some storage systems claim to be compatible with these repository types without emulating their behaviour in full. {{es}} requires full compatibility. In particular the alternative implementation must support the same set of API endpoints, return the same errors in case of failures, and offer equivalent consistency guarantees and performance even when accessed concurrently by multiple nodes. Incompatible error codes, consistency or performance may be particularly hard to track down since errors, consistency failures, and performance issues are usually rare and hard to reproduce. -You can perform some basic checks of the suitability of your storage system using the [Repository analysis](https://www.elastic.co/guide/en/elasticsearch/reference/current/repo-analysis-api.html) API. If this API does not complete successfully, or indicates poor performance, then your storage system is not fully compatible and is therefore unsuitable for use as a snapshot repository. You will need to work with the supplier of your storage system to address any incompatibilities you encounter. +You can perform some basic checks of the suitability of your storage system using the [Repository analysis](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-analyze) API. If this API does not complete successfully, or indicates poor performance, then your storage system is not fully compatible and is therefore unsuitable for use as a snapshot repository. You will need to work with the supplier of your storage system to address any incompatibilities you encounter. ## Verify a repository [snapshots-repository-verification] When you register a snapshot repository, {{es}} automatically verifies that the repository is available and functional on all master and data nodes. -To disable this verification, set the [create snapshot repository API](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-snapshot-repo-api.html)'s `verify` query parameter to `false`. You can’t disable repository verification in {{kib}}. +To disable this verification, set the [create snapshot repository API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository)'s `verify` query parameter to `false`. You can’t disable repository verification in {{kib}}. ```console PUT _snapshot/my_unverified_backup?verify=false @@ -115,7 +115,7 @@ PUT _snapshot/my_unverified_backup?verify=false } ``` -If wanted, you can manually run the repository verification check. To verify a repository in {{kib}}, go to the **Repositories** list page and click the name of a repository. Then click **Verify repository**. You can also use the [verify snapshot repository API](https://www.elastic.co/guide/en/elasticsearch/reference/current/verify-snapshot-repo-api.html). +If wanted, you can manually run the repository verification check. To verify a repository in {{kib}}, go to the **Repositories** list page and click the name of a repository. Then click **Verify repository**. You can also use the [verify snapshot repository API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-verify-repository). ```console POST _snapshot/my_unverified_backup/_verify @@ -123,7 +123,7 @@ POST _snapshot/my_unverified_backup/_verify If successful, the request returns a list of nodes used to verify the repository. If verification fails, the request returns an error. -You can test a repository more thoroughly using the [repository analysis API](https://www.elastic.co/guide/en/elasticsearch/reference/current/repo-analysis-api.html). +You can test a repository more thoroughly using the [repository analysis API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-analyze). ## Clean up a repository [snapshots-repository-cleanup] @@ -132,7 +132,7 @@ Repositories can over time accumulate data that is not referenced by any existin To run the repository cleanup operation in {{kib}}, go to the **Repositories** list page and click the name of a repository. Then click **Clean up repository**. -You can also use the [clean up snapshot repository API](https://www.elastic.co/guide/en/elasticsearch/reference/current/clean-up-snapshot-repo-api.html). +You can also use the [clean up snapshot repository API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-cleanup-repository). ```console POST _snapshot/my_repository/_cleanup @@ -172,4 +172,4 @@ Do not use filesystem snapshots of individual nodes as a backup mechanism. You m :::: -When restoring a repository from a backup, you must not register the repository with {{es}} until the repository contents are fully restored. If you alter the contents of a repository while it is registered with {{es}} then the repository may become unreadable or may silently lose some of its contents. After restoring a repository from a backup, use the [Verify repository integrity](https://www.elastic.co/guide/en/elasticsearch/reference/current/verify-repo-integrity-api.html) API to verify its integrity before you start to use the repository. +When restoring a repository from a backup, you must not register the repository with {{es}} until the repository contents are fully restored. If you alter the contents of a repository while it is registered with {{es}} then the repository may become unreadable or may silently lose some of its contents. After restoring a repository from a backup, use the [Verify repository integrity](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-verify-integrity) API to verify its integrity before you start to use the repository. diff --git a/deploy-manage/tools/snapshot-and-restore/shared-file-system-repository.md b/deploy-manage/tools/snapshot-and-restore/shared-file-system-repository.md index f3bb084eb3..3cf7f392a9 100644 --- a/deploy-manage/tools/snapshot-and-restore/shared-file-system-repository.md +++ b/deploy-manage/tools/snapshot-and-restore/shared-file-system-repository.md @@ -28,7 +28,7 @@ path: - /mount/long_term_backups ``` -After restarting each node, use {{kib}} or the [create snapshot repository API](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-snapshot-repo-api.html) to register the repository. When registering the repository, specify the file system’s path: +After restarting each node, use {{kib}} or the [create snapshot repository API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository) to register the repository. When registering the repository, specify the file system’s path: ```console PUT _snapshot/my_fs_backup @@ -87,7 +87,7 @@ path: 2. UNC path -After restarting each node, use {{kib}} or the [create snapshot repository API](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-snapshot-repo-api.html) to register the repository. When registering the repository, specify the file system’s path: +After restarting each node, use {{kib}} or the [create snapshot repository API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository) to register the repository. When registering the repository, specify the file system’s path: ```console PUT _snapshot/my_fs_backup @@ -171,7 +171,7 @@ PUT _snapshot/my_fs_backup {{es}} interacts with a shared file system repository using the file system abstraction in your operating system. This means that every {{es}} node must be able to perform operations within the repository path such as creating, opening, and renaming files, and creating and listing directories, and operations performed by one node must be visible to other nodes as soon as they complete. -Check for common misconfigurations using the [Verify snapshot repository](https://www.elastic.co/guide/en/elasticsearch/reference/current/verify-snapshot-repo-api.html) API and the [Repository analysis](https://www.elastic.co/guide/en/elasticsearch/reference/current/repo-analysis-api.html) API. When the repository is properly configured, these APIs will complete successfully. If the verify repository or repository analysis APIs report a problem then you will be able to reproduce this problem outside {{es}} by performing similar operations on the file system directly. +Check for common misconfigurations using the [Verify snapshot repository](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-verify-repository) API and the [Repository analysis](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-analyze) API. When the repository is properly configured, these APIs will complete successfully. If the verify repository or repository analysis APIs report a problem then you will be able to reproduce this problem outside {{es}} by performing similar operations on the file system directly. If the verify repository or repository analysis APIs fail with an error indicating insufficient permissions then adjust the configuration of the repository within your operating system to give {{es}} an appropriate level of access. To reproduce such problems directly, perform the same operations as {{es}} in the same security context as the one in which {{es}} is running. For example, on Linux, use a command such as `su` to switch to the user as which {{es}} runs. diff --git a/deploy-manage/tools/snapshot-and-restore/source-only-repository.md b/deploy-manage/tools/snapshot-and-restore/source-only-repository.md index 210a1b69dc..e94da6100f 100644 --- a/deploy-manage/tools/snapshot-and-restore/source-only-repository.md +++ b/deploy-manage/tools/snapshot-and-restore/source-only-repository.md @@ -9,7 +9,7 @@ You can use a source-only repository to take minimal, source-only snapshots that Unlike other repository types, a source-only repository doesn’t directly store snapshots. It delegates storage to another registered snapshot repository. -When you take a snapshot using a source-only repository, {{es}} creates a source-only snapshot in the delegated storage repository. This snapshot only contains stored fields and metadata. It doesn’t include index or doc values structures and isn’t immediately searchable when restored. To search the restored data, you first have to [reindex](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html) it into a new data stream or index. +When you take a snapshot using a source-only repository, {{es}} creates a source-only snapshot in the delegated storage repository. This snapshot only contains stored fields and metadata. It doesn’t include index or doc values structures and isn’t immediately searchable when restored. To search the restored data, you first have to [reindex](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) it into a new data stream or index. ::::{important} Source-only snapshots are only supported if the `_source` field is enabled and no source-filtering is applied. As a result, indices adopting synthetic source cannot be restored. When you restore a source-only snapshot: @@ -17,12 +17,12 @@ Source-only snapshots are only supported if the `_source` field is enabled and n * The restored index is read-only and can only serve `match_all` search or scroll requests to enable reindexing. * Queries other than `match_all` and `_get` requests are not supported. * The mapping of the restored index is empty, but the original mapping is available from the types top level `meta` element. -* Information such as document count, deleted document count and store size are not available for such indices since these indices do not contain the relevant data structures to retrieve this information from. Therefore, this information is not shown for such indices in APIs such as the [cat indices API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-indices.html). +* Information such as document count, deleted document count and store size are not available for such indices since these indices do not contain the relevant data structures to retrieve this information from. Therefore, this information is not shown for such indices in APIs such as the [cat indices API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-indices). :::: -Before registering a source-only repository, use {{kib}} or the [create snapshot repository API](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-snapshot-repo-api.html) to register a snapshot repository of another type to use for storage. Then register the source-only repository and specify the delegated storage repository in the request. +Before registering a source-only repository, use {{kib}} or the [create snapshot repository API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository) to register a snapshot repository of another type to use for storage. Then register the source-only repository and specify the delegated storage repository in the request. ```console PUT _snapshot/my_src_only_repository @@ -44,7 +44,7 @@ PUT _snapshot/my_src_only_repository : (Optional, Boolean) If `true`, metadata files, such as index mappings and settings, are compressed in snapshots. Data files are not compressed. Defaults to `true`. `delegate_type` -: (Optional, string) Delegated repository type. For valid values, see the [`type` parameter](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-snapshot-repo-api.html#put-snapshot-repo-api-request-type). +: (Optional, string) Delegated repository type. For valid values, see the [`type` parameter](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository#put-snapshot-repo-api-request-type). `source` repositories can use `settings` properties for its delegated repository type. See [Source-only repository](). diff --git a/deploy-manage/upgrade/deployment-or-cluster/archived-settings.md b/deploy-manage/upgrade/deployment-or-cluster/archived-settings.md index 0be64f173a..63d27ef8d1 100644 --- a/deploy-manage/upgrade/deployment-or-cluster/archived-settings.md +++ b/deploy-manage/upgrade/deployment-or-cluster/archived-settings.md @@ -14,13 +14,13 @@ Archived settings start with the `archived.` prefix. ## Archived cluster settings [archived-cluster-settings] -Use the following [cluster update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) request to check for archived cluster settings. If the request returns an empty object (`{ }`), there are no archived cluster settings. +Use the following [cluster update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) request to check for archived cluster settings. If the request returns an empty object (`{ }`), there are no archived cluster settings. ```console GET _cluster/settings?flat_settings=true&filter_path=persistent.archived* ``` -To remove any archived cluster settings, use the following [cluster update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) request. +To remove any archived cluster settings, use the following [cluster update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings) request. ```console PUT _cluster/settings @@ -43,13 +43,13 @@ Before you upgrade, remove any unsupported index settings from index and compone Archived index settings don’t affect an index’s configuration or most index operations, such as indexing or search. However, you’ll need to remove them before you can configure other settings for the index, such as `index.hidden`. -Use the following [get index settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html) request to get a list indices with archived settings. If the request returns an empty object (`{ }`), there are no archived index settings. +Use the following [get index settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-settings) request to get a list indices with archived settings. If the request returns an empty object (`{ }`), there are no archived index settings. ```console GET */_settings?flat_settings=true&filter_path=**.settings.archived* ``` -To remove any archived index settings, use the following [indices update settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html) request. +To remove any archived index settings, use the following [indices update settings](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-settings) request. ```console PUT /my-index/_settings diff --git a/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md b/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md index 979de41482..0c08ec28aa 100644 --- a/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md +++ b/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md @@ -9,7 +9,7 @@ mapped_pages: The archive functionality provides slower read-only access to older {{es}} data, for compliance or regulatory reasons, the occasional lookback or investigation, or to rehydrate parts of it. Access to the data is expected to be infrequent, and can therefore happen with limited performance and query capabilities. -For this, {{es}} has the ability to access older snapshot repositories (going back to version 5). The legacy indices in the [snapshot repository](../../tools/snapshot-and-restore.md) can either be [restored](https://www.elastic.co/guide/en/elasticsearch/reference/current/restore-snapshot-api.html), or can be directly accessed via [searchable snapshots](../../tools/snapshot-and-restore/searchable-snapshots.md) so that the archived data won’t even need to fully reside on local disks for access. +For this, {{es}} has the ability to access older snapshot repositories (going back to version 5). The legacy indices in the [snapshot repository](../../tools/snapshot-and-restore.md) can either be [restored](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-restore), or can be directly accessed via [searchable snapshots](../../tools/snapshot-and-restore/searchable-snapshots.md) so that the archived data won’t even need to fully reside on local disks for access. ## Supported field types [archive-indices-supported-field-types] @@ -32,21 +32,21 @@ Old mappings are imported as much "as-is" as possible into {{es}} 8, but only pr {{es}} 5 indices with mappings that have [multiple mapping types](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/removal-of-types.html) are collapsed together on a best-effort basis before they are imported. -In case the auto-import of mappings does not work, or the new {{es}} version can’t make sense of the mapping, it falls back to importing the index without the mapping, but stores the original mapping in the [_meta](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-meta-field.html) section of the imported index. The legacy mapping can then be introspected using the [GET mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html) API and an updated mapping can be manually put in place using the [update mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html) API, copying and adapting relevant sections of the legacy mapping to work with the current {{es}} version. While auto-import is expected to work in most cases, failures of doing so should be [raised](https://github.com/elastic/elasticsearch/issues/new/choose) with the Elastic team for future improvements. +In case the auto-import of mappings does not work, or the new {{es}} version can’t make sense of the mapping, it falls back to importing the index without the mapping, but stores the original mapping in the [_meta](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-meta-field.html) section of the imported index. The legacy mapping can then be introspected using the [GET mapping](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-mapping) API and an updated mapping can be manually put in place using the [update mapping](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-mapping) API, copying and adapting relevant sections of the legacy mapping to work with the current {{es}} version. While auto-import is expected to work in most cases, failures of doing so should be [raised](https://github.com/elastic/elasticsearch/issues/new/choose) with the Elastic team for future improvements. ## Supported APIs [_supported_apis] -Archive indices are read-only, and provide data access via the [search](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html) and [field capabilities](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-field-caps.html) APIs. They do not support the [Get API](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html) nor any write APIs. +Archive indices are read-only, and provide data access via the [search](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search) and [field capabilities](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-field-caps) APIs. They do not support the [Get API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-get) nor any write APIs. Archive indices allow running queries as well as aggregations in so far as they are [supported by the given field type](#archive-indices-supported-field-types). -Due to `_source` access the data can also be [reindexed](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html) to a new index that has full compatibility with the current {{es}} version. +Due to `_source` access the data can also be [reindexed](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) to a new index that has full compatibility with the current {{es}} version. ## How to upgrade older {{es}} 5 or 6 clusters? [_how_to_upgrade_older_es_5_or_6_clusters] -Take a snapshot of the indices in the old cluster, delete indices that are not directly supported by ES 8 (i.e. indices older than 7.0), upgrade the cluster without the old indices, and then [restore](https://www.elastic.co/guide/en/elasticsearch/reference/current/restore-snapshot-api.html) the legacy indices from the snapshot or [mount](https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots-api-mount-snapshot.html) them via searchable snapshots. +Take a snapshot of the indices in the old cluster, delete indices that are not directly supported by ES 8 (i.e. indices older than 7.0), upgrade the cluster without the old indices, and then [restore](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-restore) the legacy indices from the snapshot or [mount](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-searchable-snapshots-mount) them via searchable snapshots. In the future, we plan on streamlining the upgrade process going forward, making it easier to take legacy indices along when going to future major {{es}} versions. diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md b/deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md index f8910b7690..acb90a3f46 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md @@ -10,7 +10,7 @@ The {{stack-security-features}} authenticate users by using realms and one or mo A *realm* is used to resolve and authenticate users based on authentication tokens. The {{security-features}} provide the following built-in realms: *native* -: An internal realm where users are stored in a dedicated {{es}} index. This realm supports an authentication token in the form of username and password, and is available by default when no realms are explicitly configured. The users are managed via the [user management APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api.html#security-user-apis). See [Native user authentication](native.md). +: An internal realm where users are stored in a dedicated {{es}} index. This realm supports an authentication token in the form of username and password, and is available by default when no realms are explicitly configured. The users are managed via the [user management APIs](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-security). See [Native user authentication](native.md). *ldap* : A realm that uses an external LDAP server to authenticate the users. This realm supports an authentication token in the form of username and password, and requires explicit configuration in order to be used. See [LDAP user authentication](ldap.md). diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md index b6d5ae31cb..cefbfb99e7 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md @@ -21,7 +21,7 @@ The cached user credentials are hashed in memory. By default, the {{es}} {securi ## Evicting users from the cache [cache-eviction-api] -You can use the [clear cache API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-clear-cache.html) to force the eviction of cached users . For example, the following request evicts all users from the `ad1` realm: +You can use the [clear cache API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-clear-cached-realms) to force the eviction of cached users . For example, the following request evicts all users from the `ad1` realm: ```js $ curl -XPOST 'http://localhost:9200/_security/realm/ad1/_clear_cache' diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md b/deploy-manage/users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md index 85d1c10d39..5039fdeca9 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md @@ -13,7 +13,7 @@ This section lists the privileges that you can assign to a role. : All cluster administration operations, like snapshotting, node shutdown/restart, settings update, rerouting, or managing users and roles. `cancel_task` -: Privileges to cancel tasks and delete async searches. See [delete async search](https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html#delete-async-search) API for more informations. +: Privileges to cancel tasks and delete async searches. See [delete async search](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-async-search-submit) API for more informations. `create_snapshot` : Privileges to create snapshots for existing repositories. Can also list and view details on existing repositories and snapshots. @@ -27,7 +27,7 @@ This section lists the privileges that you can assign to a role. This privilege is not available in {{serverless-full}}. ::::{note} - This privilege should *not* be directly granted. It is used internally by [Create Cross-Cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) and [Update Cross-Cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-cross-cluster-api-key.html) to manage cross-cluster API keys. + This privilege should *not* be directly granted. It is used internally by [Create Cross-Cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) and [Update Cross-Cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-cross-cluster-api-key) to manage cross-cluster API keys. :::: @@ -37,7 +37,7 @@ This section lists the privileges that you can assign to a role. This privilege is not available in {{serverless-full}}. ::::{note} - This privilege should *not* be directly granted. It is used internally by [Create Cross-Cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) and [Update Cross-Cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-cross-cluster-api-key.html) to manage cross-cluster API keys. + This privilege should *not* be directly granted. It is used internally by [Create Cross-Cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) and [Update Cross-Cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-cross-cluster-api-key) to manage cross-cluster API keys. :::: @@ -51,7 +51,7 @@ This section lists the privileges that you can assign to a role. : Builds on `monitor` and adds cluster operations that change values in the cluster. This includes snapshotting, updating settings, and rerouting. It also includes obtaining snapshot and restore status. This privilege does not include the ability to manage security. `manage_api_key` -: All security-related operations on {{es}} REST API keys including [creating new API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), [retrieving information about API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-api-key.html), [querying API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-query-api-key.html), [updating API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-api-key.html), [bulk updating API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-bulk-update-api-keys.html), and [invalidating API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-api-key.html). +: All security-related operations on {{es}} REST API keys including [creating new API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key), [retrieving information about API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-api-key), [querying API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-query-api-keys), [updating API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-api-key), [bulk updating API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-bulk-update-api-keys), and [invalidating API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-invalidate-api-key). ::::{note} * When you create new API keys, they will always be owned by the authenticated user. @@ -111,13 +111,13 @@ This section lists the privileges that you can assign to a role. `manage_oidc` -: Enables the use of {{es}} APIs ([OpenID connect prepare authentication](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-oidc-prepare-authentication.html), [OpenID connect authenticate](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-oidc-authenticate.html), and [OpenID connect logout](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-oidc-logout.html)) to initiate and manage OpenID Connect authentication on behalf of other users. +: Enables the use of {{es}} APIs ([OpenID connect prepare authentication](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-oidc-prepare-authentication), [OpenID connect authenticate](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-oidc-authenticate), and [OpenID connect logout](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-oidc-logout)) to initiate and manage OpenID Connect authentication on behalf of other users. This privilege is not available in {{serverless-full}}. `manage_own_api_key` -: All security-related operations on {{es}} API keys that are owned by the current authenticated user. The operations include [creating new API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), [retrieving information about API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-api-key.html), [querying API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-query-api-key.html), [updating API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-api-key.html), [bulk updating API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-bulk-update-api-keys.html), and [invalidating API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-api-key.html). +: All security-related operations on {{es}} API keys that are owned by the current authenticated user. The operations include [creating new API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key), [retrieving information about API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-api-key), [querying API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-query-api-keys), [updating API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-api-key), [bulk updating API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-bulk-update-api-keys), and [invalidating API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-invalidate-api-key). `manage_pipeline` : All operations on ingest pipelines. @@ -135,19 +135,19 @@ This section lists the privileges that you can assign to a role. `manage_search_application` -: All CRUD operations on [search applications](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-application-apis.html). +: All CRUD operations on [search applications](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-search_application). `manage_search_query_rules` -: All CRUD operations on [query rules](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-rules-apis.html). +: All CRUD operations on [query rules](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-query_rules). `manage_search_synonyms` -: All synonyms management operations on [Synonyms APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/synonyms-apis.html). +: All synonyms management operations on [Synonyms APIs](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-synonyms). `manage_security` : All security-related operations such as CRUD operations on users and roles and cache clearing. `manage_service_account` -: All security-related operations on {{es}} service accounts including [Get service accounts](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-service-accounts.html), [Create service account tokens](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html), [Delete service account token](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-service-token.html), and [Get service account credentials](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-service-credentials.html). +: All security-related operations on {{es}} service accounts including [Get service accounts](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-service-accounts), [Create service account tokens](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-service-token), [Delete service account token](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-delete-service-token), and [Get service account credentials](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-service-credentials). This privilege is not available in {{serverless-full}}. @@ -157,7 +157,7 @@ This section lists the privileges that you can assign to a role. This privilege is not available in {{serverless-full}}. - [8.15] Also grants the permission to start and stop {{Ilm}}, using the [ILM start](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-start.html) and [ILM stop](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-stop.html) APIs. In a future major release, this privilege will not grant any {{Ilm}} permissions. + [8.15] Also grants the permission to start and stop {{Ilm}}, using the [ILM start](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-start) and [ILM stop](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-stop) APIs. In a future major release, this privilege will not grant any {{Ilm}} permissions. `manage_token` @@ -213,7 +213,7 @@ This section lists the privileges that you can assign to a role. `monitor_text_structure` -: All read-only operations related to the [find structure API](https://www.elastic.co/guide/en/elasticsearch/reference/current/find-structure.html). +: All read-only operations related to the [find structure API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-text-structure-find-structure). This privilege is not available in {{serverless-full}}. @@ -247,11 +247,11 @@ This section lists the privileges that you can assign to a role. This privilege is not available in {{serverless-full}}. - [8.15] Also grants the permission to get the {{Ilm}} status, using the [ILM get status API](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-status.html). In a future major release, this privilege will not grant any {{Ilm}} permissions. + [8.15] Also grants the permission to get the {{Ilm}} status, using the [ILM get status API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ilm-get-status). In a future major release, this privilege will not grant any {{Ilm}} permissions. `read_security` -: All read-only security-related operations, such as getting users, user profiles, {{es}} API keys, {{es}} service accounts, roles and role mappings. Allows [querying](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-query-api-key.html) and [retrieving information](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-api-key.html) on all {{es}} API keys. +: All read-only security-related operations, such as getting users, user profiles, {{es}} API keys, {{es}} service accounts, roles and role mappings. Allows [querying](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-query-api-keys) and [retrieving information](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-api-key) on all {{es}} API keys. `transport_client` : All privileges necessary for a transport client to connect. Required by the remote cluster to enable [{{ccs}}](../../remote-clusters.md). @@ -266,12 +266,12 @@ This section lists the privileges that you can assign to a role. : Any action on an index or data stream. `auto_configure` -: Permits auto-creation of indices and data streams. An auto-create action is the result of an [index](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html) or [bulk](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html) request that targets a non-existent index or data stream rather than an explicit [create index](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html) or [create data stream](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-data-stream.html) request. Also permits auto-update of mappings on indices and data streams if they do not contradict existing mappings. An auto-update mapping action is the result of an index or bulk request on an index or data stream that contains new fields that may be mapped rather than an explicit [update mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html) request. +: Permits auto-creation of indices and data streams. An auto-create action is the result of an [index](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create) or [bulk](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-bulk) request that targets a non-existent index or data stream rather than an explicit [create index](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-create) or [create data stream](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-create-data-stream) request. Also permits auto-update of mappings on indices and data streams if they do not contradict existing mappings. An auto-update mapping action is the result of an index or bulk request on an index or data stream that contains new fields that may be mapped rather than an explicit [update mapping](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-mapping) request. `create` : Privilege to index documents. - [8.0] Also grants the permission to update the index mapping (but not the data streams mapping), using the [updating mapping API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html) or by relying on [dynamic field mapping](../../../manage-data/data-store/mapping/dynamic-mapping.md). In a future major release, this privilege will not grant any mapping update permissions. + [8.0] Also grants the permission to update the index mapping (but not the data streams mapping), using the [updating mapping API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-mapping) or by relying on [dynamic field mapping](../../../manage-data/data-store/mapping/dynamic-mapping.md). In a future major release, this privilege will not grant any mapping update permissions. ::::{note} This privilege does not restrict the index operation to the creation of documents but instead restricts API use to the index API. The index API allows a user to overwrite a previously indexed document. See the `create_doc` privilege for an alternative. @@ -281,10 +281,10 @@ This section lists the privileges that you can assign to a role. `create_doc` : Privilege to index documents. It does not grant the permission to update or overwrite existing documents. - [8.0] Also grants the permission to update the index mapping (but not the data streams mapping), using the [updating mapping API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html) or by relying on [dynamic field mapping](../../../manage-data/data-store/mapping/dynamic-mapping.md). In a future major release, this privilege will not grant any mapping update permissions. + [8.0] Also grants the permission to update the index mapping (but not the data streams mapping), using the [updating mapping API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-mapping) or by relying on [dynamic field mapping](../../../manage-data/data-store/mapping/dynamic-mapping.md). In a future major release, this privilege will not grant any mapping update permissions. ::::{note} - This privilege relies on the `op_type` of indexing requests ([Index](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html) and [Bulk](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html)). When ingesting documents as a user who has the `create_doc` privilege (and no higher privilege such as `index` or `write`), you must ensure that *op_type* is set to *create* through one of the following: + This privilege relies on the `op_type` of indexing requests ([Index](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create) and [Bulk](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-bulk)). When ingesting documents as a user who has the `create_doc` privilege (and no higher privilege such as `index` or `write`), you must ensure that *op_type* is set to *create* through one of the following: * Explicitly setting the `op_type` in the index or bulk APIs * Using the `_create` endpoint for the index API @@ -308,7 +308,7 @@ This section lists the privileges that you can assign to a role. This privilege is not available in {{serverless-full}}. ::::{note} - This privilege should *not* be directly granted. It is used internally by [Create Cross-Cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html) and [Update Cross-Cluster API key](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-cross-cluster-api-key.html) to manage cross-cluster API keys. + This privilege should *not* be directly granted. It is used internally by [Create Cross-Cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) and [Update Cross-Cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-cross-cluster-api-key) to manage cross-cluster API keys. :::: @@ -321,7 +321,7 @@ This section lists the privileges that you can assign to a role. `index` : Privilege to index and update documents. - [8.0] Also grants the permission to update the index mapping (but not the data streams mapping), using the [updating mapping API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html) or by relying on [dynamic field mapping](../../../manage-data/data-store/mapping/dynamic-mapping.md). In a future major release, this privilege will not grant any mapping update permissions. + [8.0] Also grants the permission to update the index mapping (but not the data streams mapping), using the [updating mapping API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-mapping) or by relying on [dynamic field mapping](../../../manage-data/data-store/mapping/dynamic-mapping.md). In a future major release, this privilege will not grant any mapping update permissions. `maintenance` @@ -346,7 +346,7 @@ This section lists the privileges that you can assign to a role. `manage_leader_index` -: All actions that are required to manage the lifecycle of a leader index, which includes [forgetting a follower](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-forget-follower.html). This privilege is necessary only on clusters that contain leader indices. +: All actions that are required to manage the lifecycle of a leader index, which includes [forgetting a follower](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ccr-forget-follower). This privilege is necessary only on clusters that contain leader indices. This privilege is not available in {{serverless-full}}. @@ -369,7 +369,7 @@ This section lists the privileges that you can assign to a role. `write` : Privilege to perform all write operations to documents, which includes the permission to index, update, and delete documents as well as performing bulk operations, while also allowing to dynamically update the index mapping. - [8.0] It also grants the permission to update the index mapping (but not the data streams mapping), using the [updating mapping API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html). This will be retracted in a future major release. + [8.0] It also grants the permission to update the index mapping (but not the data streams mapping), using the [updating mapping API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-mapping). This will be retracted in a future major release. @@ -382,8 +382,8 @@ This privilege is not available in {{serverless-full}}. ## Application privileges [application-privileges] -Application privileges are managed within {{es}} and can be retrieved with the [has privileges API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-has-privileges.html) and the [get application privileges API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-privileges.html). They do not, however, grant access to any actions or resources within {{es}}. Their purpose is to enable applications to represent and store their own privilege models within {{es}} roles. +Application privileges are managed within {{es}} and can be retrieved with the [has privileges API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-has-privileges) and the [get application privileges API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-privileges). They do not, however, grant access to any actions or resources within {{es}}. Their purpose is to enable applications to represent and store their own privilege models within {{es}} roles. -To create application privileges, use the [add application privileges API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-privileges.html). You can then associate these application privileges with roles, as described in [Defining roles](defining-roles.md). +To create application privileges, use the [add application privileges API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-privileges). You can then associate these application privileges with roles, as described in [Defining roles](defining-roles.md). diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md b/deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md index a29a5e0a29..61e7634cb8 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md @@ -31,10 +31,10 @@ If you want to use a realm only for user lookup and prevent users from authentic :::: -The user lookup feature is an internal capability that is used to implement the `run-as` and delegated authorization features - there are no APIs for user lookup. If you wish to test your user lookup configuration, then you can do this with `run_as`. Use the [Authenticate](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-authenticate.html) API, authenticate as a `superuser` (e.g. the builtin `elastic` user) and specify the [`es-security-runas-user` request header](submitting-requests-on-behalf-of-other-users.md). +The user lookup feature is an internal capability that is used to implement the `run-as` and delegated authorization features - there are no APIs for user lookup. If you wish to test your user lookup configuration, then you can do this with `run_as`. Use the [Authenticate](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-authenticate) API, authenticate as a `superuser` (e.g. the builtin `elastic` user) and specify the [`es-security-runas-user` request header](submitting-requests-on-behalf-of-other-users.md). ::::{note} -The [Get users](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-user.html) API and [User profiles](user-profiles.md) feature are alternative ways to retrieve information about a {{stack}} user. Those APIs are not related to the user lookup feature. +The [Get users](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-user) API and [User profiles](user-profiles.md) feature are alternative ways to retrieve information about a {{stack}} user. Those APIs are not related to the user lookup feature. :::: diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/operator-only-functionality.md b/deploy-manage/users-roles/cluster-or-deployment-auth/operator-only-functionality.md index 7e148f55e9..5ccbeb1923 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/operator-only-functionality.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/operator-only-functionality.md @@ -14,16 +14,16 @@ Operator privileges provide protection for APIs and dynamic cluster settings. An ## Operator-only APIs [operator-only-apis] -* [Voting configuration exclusions](https://www.elastic.co/guide/en/elasticsearch/reference/current/voting-config-exclusions.html) -* [Delete license](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-license.html) -* [Update license](https://www.elastic.co/guide/en/elasticsearch/reference/current/update-license.html) -* [Create or update autoscaling policy](https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-put-autoscaling-policy.html) -* [Delete autoscaling policy](https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-delete-autoscaling-policy.html) -* [Create or update desired nodes](https://www.elastic.co/guide/en/elasticsearch/reference/current/update-desired-nodes.html) -* [Get desired nodes](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-desired-nodes.html) -* [Delete desired nodes](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-desired-nodes.html) -* [Get desired balance](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-desired-balance.html) -* [Reset desired balance](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-desired-balance.html) +* [Voting configuration exclusions](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-post-voting-config-exclusions) +* [Delete license](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-license-delete) +* [Update license](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-license-post) +* [Create or update autoscaling policy](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-autoscaling-put-autoscaling-policy) +* [Delete autoscaling policy](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-autoscaling-delete-autoscaling-policy) +* [Create or update desired nodes](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-cluster) +* [Get desired nodes](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-cluster) +* [Delete desired nodes](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-cluster) +* [Get desired balance](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-cluster) +* [Reset desired balance](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-cluster) ## Operator-only dynamic cluster settings [operator-only-dynamic-cluster-settings] diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/pki.md b/deploy-manage/users-roles/cluster-or-deployment-auth/pki.md index 9cb96aafff..5c537ae6dc 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/pki.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/pki.md @@ -99,7 +99,7 @@ To use PKI in {{es}}, you configure a PKI realm, enable client authentication on 7. Map roles for PKI users. - You map roles for PKI users through the [role mapping APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api.html#security-role-mapping-apis) or by using a file stored on each node. Both configuration options are merged together. When a user authenticates against a PKI realm, the privileges for that user are the union of all privileges defined by the roles to which the user is mapped. + You map roles for PKI users through the [role mapping APIs](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-security) or by using a file stored on each node. Both configuration options are merged together. When a user authenticates against a PKI realm, the privileges for that user are the union of all privileges defined by the roles to which the user is mapped. You identify a user by the distinguished name in their certificate. For example, the following mapping configuration maps `John Doe` to the `user` role using the role mapping API: @@ -132,7 +132,7 @@ To use PKI in {{es}}, you configure a PKI realm, enable client authentication on The distinguished name for a PKI user follows X.500 naming conventions which place the most specific fields (like `cn` or `uid`) at the beginning of the name and the most general fields (like `o` or `dc`) at the end of the name. Some tools, such as *openssl*, may print out the subject name in a different format. - One way that you can determine the correct DN for a certificate is to use the [authenticate API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-authenticate.html) (use the relevant PKI certificate as the means of authentication) and inspect the metadata field in the result. The user’s distinguished name will be populated under the `pki_dn` key. You can also use the authenticate API to validate your role mapping. + One way that you can determine the correct DN for a certificate is to use the [authenticate API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-authenticate) (use the relevant PKI certificate as the means of authentication) and inspect the metadata field in the result. The user’s distinguished name will be populated under the `pki_dn` key. You can also use the authenticate API to validate your role mapping. For more information, see [Mapping users and groups to roles](mapping-users-groups-to-roles.md). @@ -170,7 +170,7 @@ After you restart {{es}}, this realm can validate delegated PKI authentication. A PKI realm with `delegation.enabled` still works unchanged for clients connecting directly to {{es}}. Directly authenticated users and users that are PKI authenticated by delegation to {{kib}} both follow the same [role mapping rules](mapping-users-groups-to-roles.md) or [authorization realms configurations](realm-chains.md#authorization_realms). -If you use the [role mapping APIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api.html#security-role-mapping-apis), however, you can distinguish between users that are authenticated by delegation and users that are authenticated directly. The former have the extra fields `pki_delegated_by_user` and `pki_delegated_by_realm` in the user’s metadata. In the common setup, where authentication is delegated to {{kib}}, the values of these fields are `kibana` and `reserved`, respectively. For example, the following role mapping rule assigns the `role_for_pki1_direct` role to all users that have been authenticated directly by the `pki1` realm, by connecting to {{es}} instead of going through {{kib}}: +If you use the [role mapping APIs](https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-security), however, you can distinguish between users that are authenticated by delegation and users that are authenticated directly. The former have the extra fields `pki_delegated_by_user` and `pki_delegated_by_realm` in the user’s metadata. In the common setup, where authentication is delegated to {{kib}}, the values of these fields are `kibana` and `reserved`, respectively. For example, the following role mapping rule assigns the `role_for_pki1_direct` role to all users that have been authenticated directly by the `pki1` realm, by connecting to {{es}} instead of going through {{kib}}: ```console PUT /_security/role_mapping/direct_pki_only diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md b/deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md index a4a1b7abf3..3f4fd02a3a 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md @@ -8,7 +8,7 @@ mapped_pages: Role restriction can be used to specify conditions under which a role should be effective. When conditions are not met, the role will be disabled, which will result in access being denied. Not specifying restriction means the role is not restricted and thus always effective. This is the default behaviour. ::::{note} -Currently, the role restriction is only supported for [API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), with limitation that the API key can only have a single role descriptor. +Currently, the role restriction is only supported for [API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key), with limitation that the API key can only have a single role descriptor. :::: @@ -17,7 +17,7 @@ Currently, the role restriction is only supported for [API keys](https://www.ela Workflows allow to restrict the role to be effective exclusively when calling certain REST APIs. Calling a REST API that is not allowed by a workflow, will result in the role being disabled. The below section lists workflows that you can restrict the role to: `search_application_query` -: This workflow restricts the role to the [Search Application Search API](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-application-search.html) only. +: This workflow restricts the role to the [Search Application Search API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search-application-search) only. ::::{note} Workflow names are case-sensitive. @@ -27,7 +27,7 @@ Workflow names are case-sensitive. ### Examples [_examples_5] -The following example creates an API key with a [restriction]() to the `search_application_query` workflow, which allows to call only [Search Application Search API](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-application-search.html): +The following example creates an API key with a [restriction]() to the `search_application_query` workflow, which allows to call only [Search Application Search API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search-application-search): ```console POST /_security/api_key diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md b/deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md index 6def0f65b1..1c1f0237c4 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md @@ -11,7 +11,7 @@ For example, a single [user profile](user-profiles.md) is associated with a user ## Resource sharing across domains [security-domain-resource-sharing] -Some types of resources in {{es}} are owned by a single user, such as [async search contexts](https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html), [API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), and [user profiles](user-profiles.md). When a user creates a resource, {{es}} captures the user’s username and realm information as part of the resource’s metadata. Likewise, if a user updates a resource, such as an API key, {{es}} automatically re-captures the user’s current realm information. +Some types of resources in {{es}} are owned by a single user, such as [async search contexts](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-async-search-submit), [API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key), and [user profiles](user-profiles.md). When a user creates a resource, {{es}} captures the user’s username and realm information as part of the resource’s metadata. Likewise, if a user updates a resource, such as an API key, {{es}} automatically re-captures the user’s current realm information. When a user later attempts to access the resource, {{es}} compares the captured username and realm information against those from the accessing user. {{es}} will deny access unless both the realm and username match. If {{es}} detects that a username from two different realms is attempting to access a resource, {{es}} assumes that these users are distinct and doesn’t allow resources to be shared between those users. @@ -72,7 +72,7 @@ To configure a security domain: :::: -3. Apply the same configuration across all nodes in the cluster before performing operations related to security domains, including creating and managing resources such as [user profiles](user-profiles.md), [API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), and [async search](https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html). +3. Apply the same configuration across all nodes in the cluster before performing operations related to security domains, including creating and managing resources such as [user profiles](user-profiles.md), [API keys](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key), and [async search](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-async-search-submit). When adding realms to a security domain, avoid authenticating with a newly-added realm until changes are fully applied to all nodes. @@ -82,8 +82,8 @@ To configure a security domain: Removing realms from a security domain can lead to unexpected behaviors and is not recommended. Resources created or updated before the removal can be owned by different users depending on the resource type: -* [User profiles](user-profiles.md) are owned by the user for whom the profile was last [activated](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-activate-user-profile.html). For users whose realms are no longer in the same domain as the owner user, a new user profile will be created for them next time the activate user profile API is called. -* An API key is owned by the user who originally [created](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) or last [updated](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-api-key.html) it. Users, including the original creator of the API key, will lose ownership if their realms are no longer in the same domain as those of the current API key owner. +* [User profiles](user-profiles.md) are owned by the user for whom the profile was last [activated](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-activate-user-profile). For users whose realms are no longer in the same domain as the owner user, a new user profile will be created for them next time the activate user profile API is called. +* An API key is owned by the user who originally [created](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) or last [updated](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-api-key) it. Users, including the original creator of the API key, will lose ownership if their realms are no longer in the same domain as those of the current API key owner. * Resources such as async search contexts are owned by the user who originally created them. Instead of removing realms, consider disabling them and keeping them as part of the security domain. Under all circumstances, resource sharing across realms is only possible between users with the same username. diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md b/deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md index 10e60da14b..04ac524e36 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md @@ -14,15 +14,15 @@ You can create multiple service tokens for the same service account, which preve Service accounts provide flexibility over [built-in users](built-in-users.md) because they: * Do not rely on the [internal `native` realm](native.md), and aren’t always required to rely on the `.security` index -* Use a [role descriptor](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html#security-api-create-api-key-request-body) named after the service account principal instead of traditional roles +* Use a [role descriptor](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) named after the service account principal instead of traditional roles * Support multiple credentials through service account tokens -Service accounts are not included in the response of the [get users API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-user.html). To retrieve a service account, use the [get service accounts API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-service-accounts.html). Use the [get service account credentials API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-service-credentials.html) to retrieve all service credentials for a service account. +Service accounts are not included in the response of the [get users API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-user). To retrieve a service account, use the [get service accounts API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-service-accounts). Use the [get service account credentials API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-service-credentials) to retrieve all service credentials for a service account. ## Service accounts usage [service-accounts-explanation] -Service accounts have a [unique principal](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-service-accounts.html#security-api-get-service-accounts-path-params) that takes the format of `/`, where the `namespace` is a top-level grouping of service accounts, and `service` is the name of the service and must be unique within its namespace. +Service accounts have a [unique principal](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-service-accounts#security-api-get-service-accounts-path-params) that takes the format of `/`, where the `namespace` is a top-level grouping of service accounts, and `service` is the name of the service and must be unique within its namespace. Service accounts are predefined in code. The following service accounts are available: @@ -49,14 +49,14 @@ Service tokens can be backed by either the `.security` index (recommended) or th You must create a service token to use a service account. You can create a service token using either: -* The [create service account token API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html), which saves the new service token in the `.security` index and returns the bearer token in the HTTP response. +* The [create service account token API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-service-token), which saves the new service token in the `.security` index and returns the bearer token in the HTTP response. * The [elasticsearch-service-tokens](https://www.elastic.co/guide/en/elasticsearch/reference/current/service-tokens-command.html) CLI tool, which saves the new service token in the `$ES_HOME/config/service_tokens` file and outputs the bearer token to your terminal We recommend that you create service tokens via the REST API rather than the CLI. The API stores service tokens within the `.security` index which means that the tokens are available for authentication on all nodes, and will be backed up within cluster snapshots. The use of the CLI is intended for cases where there is an external orchestration process (such as [{{ece}}](https://www.elastic.co/guide/en/cloud-enterprise/{{ece-version-link}}) or [{{eck}}](https://www.elastic.co/guide/en/cloud-on-k8s/current)) that will manage the creation and distribution of the `service_tokens` file. Both of these methods (API and CLI) create a service token with a guaranteed secret string length of `22`. The minimal, acceptable length of a secret string for a service token is `10`. If the secret string doesn’t meet this minimal length, authentication with {{es}} will fail without even checking the value of the service token. -Service tokens never expire. You must actively [delete](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-service-token.html) them if they are no longer needed. +Service tokens never expire. You must actively [delete](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-delete-service-token) them if they are no longer needed. ## Authenticate with service tokens [authenticate-with-service-account-token] diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md b/deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md index c1807f4134..266582d35d 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md @@ -52,7 +52,7 @@ For example, JWT realms can authenticate external users specified in JWTs, and e ## Apply the `run_as` privilege to roles [run-as-privilege-apply] -You can apply the `run_as` privilege when creating roles with the [create or update roles API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html). Users who are assigned a role that contains the `run_as` privilege inherit all privileges from their role, and can also submit requests on behalf of the indicated users. +You can apply the `run_as` privilege when creating roles with the [create or update roles API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-put-role). Users who are assigned a role that contains the `run_as` privilege inherit all privileges from their role, and can also submit requests on behalf of the indicated users. ::::{note} Roles for the authenticated user and the `run_as` user are not merged. If a user authenticates without specifying the `run_as` parameter, only the authenticated user’s roles are used. If a user authenticates and their roles include the `run_as` parameter, only the `run_as` user’s roles are used. diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md b/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md index 6ea700d1ff..1074128244 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md @@ -10,7 +10,7 @@ The {{stack-security-features}} authenticate users by using realms and one or mo The {{security-features}} provide the following built-in token-based authentication services, which are listed in the order they are consulted: *service-accounts* -: The [service accounts](service-accounts.md) use either the [create service account token API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html) or the [elasticsearch-service-tokens](https://www.elastic.co/guide/en/elasticsearch/reference/current/service-tokens-command.html) CLI tool to generate service account tokens. +: The [service accounts](service-accounts.md) use either the [create service account token API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-service-token) or the [elasticsearch-service-tokens](https://www.elastic.co/guide/en/elasticsearch/reference/current/service-tokens-command.html) CLI tool to generate service account tokens. To use a service account token, include the generated token value in a request with an `Authorization: Bearer` header: @@ -27,7 +27,7 @@ Do not attempt to use service accounts for authenticating individual users. Serv $$$token-authentication-access-token$$$ *token-service* -: The token service uses the [get token API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-token.html) to generate access tokens and refresh tokens based on the OAuth2 specification. The access token is a short-lived token. By default, it expires after 20 minutes but it can be configured to last a maximum of 1 hour. It can be refreshed by using a refresh token, which has a lifetime of 24 hours. The access token is a bearer token. You can use it by sending a request with an `Authorization` header with a value that has the prefix "Bearer " followed by the value of the access token. For example: +: The token service uses the [get token API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-token) to generate access tokens and refresh tokens based on the OAuth2 specification. The access token is a short-lived token. By default, it expires after 20 minutes but it can be configured to last a maximum of 1 hour. It can be refreshed by using a refresh token, which has a lifetime of 24 hours. The access token is a bearer token. You can use it by sending a request with an `Authorization` header with a value that has the prefix "Bearer " followed by the value of the access token. For example: ```shell curl -H "Authorization: Bearer dGhpcyBpcyBub3Qx5...F0YS4gZG8gbm90IHRyeSB0byByZWFkIHRva2VuIQ==" http://localhost:9200/_cluster/health @@ -37,14 +37,14 @@ $$$token-authentication-access-token$$$ $$$token-authentication-api-key$$$ *api-key-service* -: The API key service uses the [create API key API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) to generate API keys. By default, the API keys do not expire. When you make a request to create API keys, you can specify an expiration and permissions for the API key. The permissions are limited by the authenticated user’s permissions. You can use the API key by sending a request with an `Authorization` header with a value that has the prefix "ApiKey " followed by the credentials. The credentials are the base64 encoding of the API key ID and the API key joined by a colon. For example: +: The API key service uses the [create API key API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-api-key) to generate API keys. By default, the API keys do not expire. When you make a request to create API keys, you can specify an expiration and permissions for the API key. The permissions are limited by the authenticated user’s permissions. You can use the API key by sending a request with an `Authorization` header with a value that has the prefix "ApiKey " followed by the credentials. The credentials are the base64 encoding of the API key ID and the API key joined by a colon. For example: ```shell curl -H "Authorization: ApiKey VnVhQ2ZHY0JDZGJrU...W0tZTVhT3g6dWkybHAyYXhUTm1zeWFrd0dk5udw==" http://localhost:9200/_cluster/health ``` -Depending on your use case, you may want to decide on the lifetime of the tokens generated by these services. You can then use this information to decide which service to use to generate and manage the tokens. Non-expiring API keys may seem like the easy option but you must consider the security implications that come with non-expiring keys. Both the *token-service* and *api-key-service* permit you to invalidate the tokens. See [invalidate token API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-token.html) and [invalidate API key API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-api-key.html). +Depending on your use case, you may want to decide on the lifetime of the tokens generated by these services. You can then use this information to decide which service to use to generate and manage the tokens. Non-expiring API keys may seem like the easy option but you must consider the security implications that come with non-expiring keys. Both the *token-service* and *api-key-service* permit you to invalidate the tokens. See [invalidate token API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-invalidate-token) and [invalidate API key API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-invalidate-api-key). ::::{important} Authentication support for JWT bearer tokens was introduced in {{es}} 8.2 through the [JWT authentication](jwt.md), which cannot be enabled through token-authentication services. Realms offer flexible order and configurations of zero, one, or multiple JWT realms. diff --git a/deploy-manage/users-roles/cluster-or-deployment-auth/user-profiles.md b/deploy-manage/users-roles/cluster-or-deployment-auth/user-profiles.md index 66f837d985..a39f4c7b6e 100644 --- a/deploy-manage/users-roles/cluster-or-deployment-auth/user-profiles.md +++ b/deploy-manage/users-roles/cluster-or-deployment-auth/user-profiles.md @@ -37,20 +37,20 @@ For use cases where one individual can authenticate against multiple realms, you ## Create and manage user profiles [_create_and_manage_user_profiles] -To create a new user profile or update an existing one, use the [activate user profile API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-activate-user-profile.html). When you submit a request, {{es}} attempts to locate an existing profile document for the specified user. If one doesn’t exist, {{es}} creates a new profile document. +To create a new user profile or update an existing one, use the [activate user profile API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-activate-user-profile). When you submit a request, {{es}} attempts to locate an existing profile document for the specified user. If one doesn’t exist, {{es}} creates a new profile document. -In either case, the profile document captures the user’s `full_name`, `email`, `roles`, and `realms`, and also includes the profile unique ID and timestamp of the operation. You can retrieve a user profile with the [get user profile API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-user-profile.html) by including the profile’s unique ID (`uid`). +In either case, the profile document captures the user’s `full_name`, `email`, `roles`, and `realms`, and also includes the profile unique ID and timestamp of the operation. You can retrieve a user profile with the [get user profile API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-user-profile) by including the profile’s unique ID (`uid`). -In addition to the user’s basic information, you can add data to a profile document with the [update user profile API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-user-profile-data.html). For example, you can add user-specific preferences as part of the profile data. +In addition to the user’s basic information, you can add data to a profile document with the [update user profile API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-update-user-profile-data). For example, you can add user-specific preferences as part of the profile data. -Use the [suggest user profile API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-suggest-user-profile.html) to retrieve profiles that match given criteria. This API is designed to support user-suggestions, in collaboration with features such as those found in {{kib}}. However, the suggest user profile API is not intended to provide a general-purpose search API. +Use the [suggest user profile API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-suggest-user-profiles) to retrieve profiles that match given criteria. This API is designed to support user-suggestions, in collaboration with features such as those found in {{kib}}. However, the suggest user profile API is not intended to provide a general-purpose search API. -Lastly, you can use the [has privileges API for user profiles](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-has-privileges-user-profile.html) to check the privileges of multiple users by specifying their profiles' unique IDs. This can be used in conjunction with the suggest user profile API in order to restrict the suggestions only to users that have the necessary permissions to actually perform the action in the context. +Lastly, you can use the [has privileges API for user profiles](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-has-privileges-user-profile) to check the privileges of multiple users by specifying their profiles' unique IDs. This can be used in conjunction with the suggest user profile API in order to restrict the suggestions only to users that have the necessary permissions to actually perform the action in the context. ## Limitations [_limitations_10] -* Creating a new user profile requires a user’s authentication details (`username` and `password` or its [OAuth2 access token](token-based-authentication-services.md)). This means that a user must authenticate at least one time to create a user profile. Users who have never authenticated to {{kib}} (or another profile-aware application) won’t have a user profile, and the [suggest user profile API](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-suggest-user-profile.html) won’t return any results for those users. +* Creating a new user profile requires a user’s authentication details (`username` and `password` or its [OAuth2 access token](token-based-authentication-services.md)). This means that a user must authenticate at least one time to create a user profile. Users who have never authenticated to {{kib}} (or another profile-aware application) won’t have a user profile, and the [suggest user profile API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-suggest-user-profiles) won’t return any results for those users. * User profiles are meant for interactive users, such as a human user who interacts with {{kib}}. Therefore, user profiles don’t support API keys or [service accounts](service-accounts.md). ::::{note}