From e8815ec3282498bc4240be2ee5565259d4c3d63a Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Fri, 23 Jan 2026 18:58:29 -0500 Subject: [PATCH 01/13] eck installation --- .../cc-connect-self-managed-to-autoops.md | 303 ++++++++++-------- .../monitor/autoops/ec-autoops-faq.md | 1 + 2 files changed, 165 insertions(+), 139 deletions(-) diff --git a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md index a47a98d0c0..76dcba9ff8 100644 --- a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md +++ b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md @@ -12,9 +12,9 @@ products: # Connect your self-managed cluster to AutoOps -To use AutoOps with your ECE, ECK, or self-managed cluster, you first need to create an {{ecloud}} account or log in to your existing account. An installation wizard then guides you through the steps of installing {{agent}} to send metrics from your cluster to AutoOps in {{ecloud}}. +To use AutoOps with your self-managed cluster, you first need to create an {{ecloud}} account or log in to your existing account. An installation wizard then guides you through the steps of installing {{agent}} to send metrics from your cluster to AutoOps in {{ecloud}}. -Complete the steps in the following subsections to connect your cluster to AutoOps. The connection process takes about 10 minutes. +The connection process takes about 10 minutes. :::{note} If you have an {{es}} cluster set up for local development or testing, you can connect it to AutoOps using Docker. Refer to [](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md). @@ -25,8 +25,9 @@ If you have an {{es}} cluster set up for local development or testing, you can c Ensure your system meets the following requirements before proceeding: * Your cluster is on a [supported {{es}} version](https://www.elastic.co/support/eol) (7.17.x and above). -* Your cluster is on an [Enterprise self-managed license](https://www.elastic.co/subscriptions) or an active self-managed [trial](https://cloud.elastic.co/registration). +* Your cluster is on an [Enterprise self-managed license](https://www.elastic.co/subscriptions) or an [active self-managed trial](https://cloud.elastic.co/registration). * The agent you install for the connection is allowed to send metrics to {{ecloud}}. +* For {{eck}} environments, your ECK operator is on version 3.3.0 and above. ## Connect to AutoOps [connect-to-autoops] @@ -35,33 +36,7 @@ Ensure your system meets the following requirements before proceeding: ::: ::: -The following steps describe how to connect your ECE, ECK, or self-managed cluster to AutoOps. - - +The following steps describe how to connect your cluster to AutoOps. :::::{tab-set} :group: existing-or-new-cloud-account @@ -95,12 +70,10 @@ This is the first step of the installation wizard. Your cluster ships metrics to Select one of the following methods to install {{agent}}: -* **Kubernetes** +* **{{k8s}}** * **Docker** * **Linux** - +* **{{eck}} (ECK)** :::{note} macOS is not a supported platform for installing {{agent}} to connect to AutoOps in a self-managed production environment. However, you can use macOS to [connect your local development cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md). @@ -120,105 +93,107 @@ Depending on your selected installation method, you may have to provide the foll * **{{es}} endpoint URL**: Enter the URL for the {{es}} cluster you want to monitor by connecting to AutoOps. * **Preferred authentication method**: Choose one of the following: -:::::{tab-set} -:group: api-key-or-basic - -::::{tab-item} API key -:sync: api-key - -With this authentication method, you need to create an API key to grant access to your cluster. Complete the following steps: - -1. Go to {{kib}} in your self-managed cluster. -2. Go to the **API keys** management page in the navigation menu or use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). -3. Select **Create API key**. -4. In the flyout, enter a name for your key and select **User API key**. -5. Enable **Control security privileges** and enter the following script: -```json -{ - "autoops": { - "cluster": [ - "monitor", - "read_ilm", - "read_slm" - ], - "indices": [ - { - "names": [ - "*" - ], - "privileges": [ - "monitor", - "view_index_metadata" - ], - "allow_restricted_indices": true - } - ], - "applications": [], - "run_as": [], - "metadata": {}, - "transient_metadata": { - "enabled": true - } - } -} - -``` -5. Select **Create API key**. -6. Copy the key and save it for later. You will need it when you [install the agent](#install-agent). - -:::: - -::::{tab-item} Basic -:sync: basic - -With this authentication method, you need the username and password of a user with the necessary privileges to grant access to your cluster. There are two ways to set up a user with the these privileges: + + :::::{tab-set} + :group: api-key-or-basic + + ::::{tab-item} API key + :sync: api-key + + With this authentication method, you need to create an API key to grant access to your cluster. Complete the following steps: + + 1. Go to {{kib}} in your self-managed cluster. + 2. Go to the **API keys** management page in the navigation menu or use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). + 3. Select **Create API key**. + 4. In the flyout, enter a name for your key and select **User API key**. + 5. Enable **Control security privileges** and enter the following script: + ```json + { + "autoops": { + "cluster": [ + "monitor", + "read_ilm", + "read_slm" + ], + "indices": [ + { + "names": [ + "*" + ], + "privileges": [ + "monitor", + "view_index_metadata" + ], + "allow_restricted_indices": true + } + ], + "applications": [], + "run_as": [], + "metadata": {}, + "transient_metadata": { + "enabled": true + } + } + } -* (Recommended) Go to {{kib}} in your self-managed cluster and then go to **Developer tools**. In **Console**, run the following command: -```js -POST /_security/role/autoops -{ - "cluster": [ - "monitor", - "read_ilm", - "read_slm" - ], - "indices": [ - { - "names": [ - "*" - ], - "privileges": [ - "monitor", - "view_index_metadata" - ], - "allow_restricted_indices": true + ``` + 6. Select **Create API key**. + 7. Copy the key and save it for later. You will need it when you [install the agent](#install-agent). + + :::: + + ::::{tab-item} Basic + :sync: basic + + With this authentication method, you need the username and password of a user with the necessary privileges to grant access to your cluster. There are two ways to set up a user with the these privileges: + + * (Recommended) Go to {{kib}} in your self-managed cluster and then go to **Developer tools**. In **Console**, run the following command: + ```js + POST /_security/role/autoops + { + "cluster": [ + "monitor", + "read_ilm", + "read_slm" + ], + "indices": [ + { + "names": [ + "*" + ], + "privileges": [ + "monitor", + "view_index_metadata" + ], + "allow_restricted_indices": true + } + ], + "applications": [], + "run_as": [], + "metadata": { + "description": "Allows Elastic agent to pull cluster metrics for AutoOps." + }, + "transient_metadata": { + "enabled": true } - ], - "applications": [], - "run_as": [], - "metadata": { - "description": "Allows Elastic agent to pull cluster metrics for AutoOps." - }, - "transient_metadata": { - "enabled": true } -} -``` -* Alternatively, manually assign the following privileges in your account: + ``` + * Alternatively, manually assign the following privileges in your account: - | Setting | Privileges | - | --- | --- | - | Cluster privileges | `monitor`, `read_ilm`, and `read_slm` | - | Index privileges | Indices: `*`
`monitor`, `view_index_metadata` | -:::{{note}} -If you manually assign privileges, you won't be able to allow {{agent}} to access restricted indices. -::: -:::: + | Setting | Privileges | + | --- | --- | + | Cluster privileges | `monitor`, `read_ilm`, and `read_slm` | + | Index privileges | Indices: `*`
`monitor`, `view_index_metadata` | -::::: + :::{note} + If you manually assign privileges, you won't be able to allow {{agent}} to access restricted indices. + ::: + :::: + + ::::: * **System architecture**: Select the system architecture of the machine running the agent. * $$$storage-location$$$**Storage location**: Select where to store your metrics data.\ - In the **Cloud provider** field, select **Amazon Web Services**. In the **Region** field, select from the list of available AWS regions: +In the **Cloud provider** field, select **Amazon Web Services**. In the **Region** field, select from the list of available AWS regions: :::{include} ../_snippets/autoops-cc-regions.md ::: @@ -229,28 +204,30 @@ $$$firewall-allowlist$$$ ### Install agent -The wizard generates an installation command based on your configuration. Depending on your installation method, the following command formats are available: +The wizard generates a YAML manifest or an installation command based on your configuration. Depending on your installation method, the following formats are available: -* Kubernetes +* {{k8s}} * YAML - * Docker * Docker * Docker compose * Linux - +* ECK + * YAML (`AutoOpsAgentPolicy` resource) :::{tip} -To ensure optimum resource usage, we recommend installing the agent on a different machine from the one where your cluster is running. +For optimum resource usage, we recommend installing the agent on a different machine from the one where your cluster is running. ::: -Complete the following steps to run the command: +Complete the following steps to install the agent: +::::{tab-set} +:group: installation-eck-or-other + +:::{tab-item} {{k8s}}, Docker, or Linux +:sync: installation-other 1. Copy the command. -2. Paste it into a text editor and update the placeholder values in the following environment variables: +2. Paste it into a text editor and update the placeholder values for the following environment variables: | Environment variable | Description | | --- | --- | @@ -266,6 +243,24 @@ Complete the following steps to run the command: 4. Return to the wizard and select **I have run the command**. It might take a few minutes for your cluster details to be validated and the first metrics to be shipped to AutoOps. +::: + +:::{tab-item} ECK +:sync: installation-ECK +```{applies_to} +eck: ga 3.3 +``` +1. Copy the YAML manifest. +2. (Optional) Paste it into a text editor and change the following example values: + * `autoops-config` + * `quickstart` + * `autoops: enabled` +3. Add the manifest to a configuration file on the machine where you want to install the agent. +4. Return to the wizard and select **Next**. + +::: + +:::: If the connection is unsuccessful, an error message is displayed with a possible reason for the failure and recommended next steps. For a list of these errors, refer to [Potential errors](/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md#potential-errors). Sometimes, an exact reason for the failure cannot be determined. In this case, explore [additional resources](/troubleshoot/index.md#troubleshoot-additional-resources) or [contact us](/troubleshoot/index.md#contact-us). @@ -275,9 +270,31 @@ To uninstall the agent, refer to [](/solutions/security/configure-elastic-defend If the connection is successful, AutoOps starts analyzing your metrics and reporting on any issues found. Depending on the size of your cluster, this process can take up to 30 minutes. -After the account is ready, the **Open AutoOps** button is displayed in the wizard. Select it to launch AutoOps. +:::::{tab-set} +:group: launch-eck-or-other + +::::{tab-item} {{k8s}}, Docker, or Linux +:sync: launch-other +After your setup is complete, the **Open AutoOps** button is displayed in the wizard. Select it to launch [AutoOps](/deploy-manage/monitor/autoops.md). +:::: + +::::{tab-item} ECK +:sync: launch-eck +```{applies_to} +eck: ga 3.3 +``` +The agent detects which {{es}} clusters to monitor based on the correct `matchLabel`. Use the following command to apply the `matchLabel` to every cluster you want to connect. This code assumes your `matchLabel` is `autoops:enabled`. + +```js + kubectl -n {{NAMESPACE}} label elasticsearch quickstart autoops=enabled +``` +:::{note} +The agent runs in the namespace chosen for the policy. However, the agent can detect {{es}} clusters throughout the {{k8s}} environment regardless of where they are installed. +::: -Learn more about [AutoOps](/deploy-manage/monitor/autoops.md). +After your setup is complete, the **View connected clusters** button is displayed in the wizard. Select it to view the clusters you have connected to [AutoOps](/deploy-manage/monitor/autoops.md). +:::: +::::: ## Access AutoOps @@ -317,5 +334,13 @@ Complete the following steps to disconnect your cluster from your Cloud organiza 4. From that cluster’s actions menu, select **Disconnect cluster**. 5. Enter the cluster’s name in the field that is displayed and then select **Disconnect cluster**. -:::{include} /deploy-manage/monitor/_snippets/disconnect-cluster.md +:::{tip} +:applies_to: { eck: ga 3.3 } +If your chosen installation method is ECK, you can also disconnect a cluster by removing your `matchLabel` from it. Run the following command: +```js + kubectl -n {{NAMESPACE}} label elasticsearch quickstart autoops- +``` ::: + +:::{include} /deploy-manage/monitor/_snippets/disconnect-cluster.md +::: \ No newline at end of file diff --git a/deploy-manage/monitor/autoops/ec-autoops-faq.md b/deploy-manage/monitor/autoops/ec-autoops-faq.md index 8cd319cc36..73f7cf8a0a 100644 --- a/deploy-manage/monitor/autoops/ec-autoops-faq.md +++ b/deploy-manage/monitor/autoops/ec-autoops-faq.md @@ -36,6 +36,7 @@ Whether you are using AutoOps in your [{{ech}} deployment](/deploy-manage/monito * [Does AutoOps for self-managed clusters incur additional costs?](#additional-payment) * [Does shipping metrics data to {{ecloud}} incur additional costs?](#autoops-metrics-cost) * [Which deployment types can be connected to AutoOps through Cloud Connect?](#deployment-types) +* [] **Setting up AutoOps for self-managed clusters** * [Can I use Cloud Connect to connect my {{ech}} clusters to AutoOps?](#cc-autoops-ech) From 129560f17f48cdef97441601edcbb51e326579fe Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Sun, 25 Jan 2026 23:55:31 -0500 Subject: [PATCH 02/13] eck troubleshooting --- ...autoops-sm-troubleshoot-eck-no-clusters.md | 275 ++++++++++++++++++ ...c-cloud-connect-autoops-troubleshooting.md | 4 + .../monitor/autoops/ec-autoops-faq.md | 5 +- deploy-manage/toc.yml | 1 + 4 files changed, 284 insertions(+), 1 deletion(-) create mode 100644 deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md new file mode 100644 index 0000000000..66f2e704c0 --- /dev/null +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -0,0 +1,275 @@ +--- +applies_to: + deployment: + self: + eck: +navigation_title: Connected clusters not appearing with ECK +products: + - id: cloud-kubernetes +--- + +# Troubleshoot connected clusters not appearing with ECK installation + +If you used {{eck}} (ECK) to connect your self-managed clusters to AutoOps but you don't see any connected clusters in your account, go through this guide to diagnose and fix common issues. + +## 1. Verify `AutoOpsAgentPolicy` status + +Check if the `AutoOpsAgentPolicy` was successfully created and the ECK operator is processing it correctly. + +:::::{stepper} + +::::{step} Check if the policy was created +Run the following command. +```shell +kubectl get autoopsagentpolicy quickstart +``` +If the policy doesn't appear, there was an issue with its creation. +:::: + +::::{step} Confirm the issue by checking logs +Run the following command to show logs. +```shell +kubectl logs -f -n -l control-plane=elastic-operator +``` +If you see any errors mentioning `AutoOpsAgentPolicy` or `quickstart`, this confirms the policy's creation and processing is causing the issue. +:::: + +::::{step} Re-add the YAML manifest to your configuration file +Repeat the steps to [install the agent](../autoops/cc-connect-self-managed-to-autoops.md#install-agent) with ECK as your installation method. This should resolve any issues with the policy. +:::: + +::::: + +## 2. Verify that {{agent}} was deployed + +Check if `AutoOpsAgentPolicy` successfully deployed {{agent}} for your {{es}} clusters. + +:::::{stepper} + +::::{step} List agent deployments +Run the following command. +```shell +kubectl get deployments -l autoops.k8s.elastic.co/policy=quickstart +``` +If no deployments appear, there may be an issue with the label applied to your {{es}} clusters. If deployments appear but pods are not running, there may be an issue with a specific pod. +:::: + +::::{step} Check cluster labels and agent pods +If no deployments appeared in the previous step, run the following command to check your cluster labels. +```shell +kubectl get elasticsearch quickstart --show-labels +``` +Make sure that the label you chose in the [Install agent](../autoops/cc-connect-self-managed-to-autoops.md#install-agent) step of the wizard appears correctly in the list. + +If deployments appeared in the previous step, run the following command to check pod status. +```shell +kubectl get pods -l autoops.k8s.elastic.co/policy=quickstart +``` + +If you see a pod that is crashing or pending, run the following command to inspect its events: +```shell +kubectl describe pod +``` +:::: + +::::: + +## 3. Validate connection secrets + +Make sure there are no errors in your secret keys. + +:::::{stepper} + +::::{step} Verify secret content +Run the following command. +```shell +kubectl get secret autoops-config -o yaml +``` +Make sure you can see the following required keys in the secret: +* `autoops-token` +* `autoops-otel-url` +* `cloud-connected-mode-api-key` +:::: + +::::{step} Confirm secret reference +Run the following command to confirm that `AutoOpsAgentPolicy` is actually referencing the correct configuration. +```shell +kubectl get autoopsagentpolicy quickstart -o jsonpath='{.spec.config.secretName}' +``` +The command should return `autoops-config`. +:::: + +::::: + +## 4. Check cluster connectivity + +Make sure there are no errors in your secret keys. + +:::::{stepper} + +::::{step} Verify secret content +Run the following command. +```shell +kubectl get secret autoops-config -o yaml +``` +Make sure you can see the following required keys in the secret: +* `autoops-token` +* `autoops-otel-url` +* `cloud-connected-mode-api-key` +:::: + +::::{step} Confirm secret reference +Run the following command to confirm that `AutoOpsAgentPolicy` is actually referencing the correct configuration. +```shell +kubectl get autoopsagentpolicy quickstart -o jsonpath='{.spec.config.secretName}' +``` +The command should return `autoops-config`. +:::: + +::::: + + + + +## Confirm that {{agent}} has appropriate access + +If your organization uses firewalls, you have to [give {{agent}} access to required ports and URLs](../autoops/cc-connect-self-managed-to-autoops.md#firewall-allowlist) during setup. + +Ensure that you have allowed {{agent}} the required level of access. If the problem persists, move on to the next section. + +## Test {{agent}}'s connection with your system + +There are [three main components](/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md#how-your-self-managed-cluster-connects-to-autoops) of {{agent}}'s connection with your system: + +:::{include} /deploy-manage/monitor/_snippets/autoops-cc-components.md +::: + +The following subsections describe how to test each of these components to find out where the problem lies, and then implement an appropriate solution. + +:::{tip} +Run the following tests within the context of your execution environment. That is, if your chosen installation method is Kubernetes, run the commands from within the pod; for Docker, run the commands from within the container, and so on. +::: + +### 1. Test {{agent}}'s connection with your cluster +If there is an issue with the first component, {{agent}} cannot connect to your cluster. + +To test if your organization is not allowing this connection, run the following command depending on your chosen authentication method: + +:::::{tab-set} +:group: api-key-or-basic + +::::{tab-item} API key +:sync: api-key + +```json +curl -XGET -i $AUTOOPS_ES_URL \ +-H "Authorization: ApiKey $AUTOOPS_ES_API_KEY" +``` +:::: + +::::{tab-item} Basic +:sync: basic + +```json +curl -XGET -i $AUTOOPS_ES_URL \ +-u $AUTOOPS_ES_USERNAME +``` +:::: + +::::: + +The command returns a response similar to the following: + +```json +{ +"name" : "1c72f00a6195", +"cluster_name" : "my-ccm-cluster", +"cluster_uuid" : "2O_EjO6kTR6AEVYwL5fPEw", +"version" : { +"number" : "9.1.3", +"build_flavor" : "default", +"build_type" : "docker", +"build_hash" : "0c781091a2f57de895a73a1391ff8426c0153c8d", +"build_date" : "2025-08-24T22:05:04.526302670Z", +"build_snapshot" : false, +"lucene_version" : "10.2.2", +"minimum_wire_compatibility_version" : "8.19.0", +"minimum_index_compatibility_version" : "8.0.0" +}, +"tagline" : "You Know, for Search" +} +``` + +If you do not receive a similar response, your system returns an error indicating one or more reasons for the failure as outlined in the following table. Use the corresponding proposed solution to fix the issue. + +| Reason for failure | Proposed solution | +| :--- | :--- | +| The {{es}} endpoint URL you specified is incorrect/not reachable | - Make sure you are using the correct protocol in the cluster URL:`http` or `https`.
- Make sure you are providing the correct port. The default port is **9200**.
- If you have verified that the URL is correct, your network team might need to open the firewall to allow-list this URL. | +| Your API key is incorrect | - Recheck for typos.
- If your cluster is on versions 9.1.0 through 9.1.3, ensure that you have the base64-decoded version of the key by running the following command:

`echo $AUTOOPS_ES_API_KEY | base64 -d`

If your key has a colon (:), it is not base64 encoded. If your key has an equal sign (=), it is base64 coded.
For versions 9.1.4 and above, both formats work.| +| Your username or password is incorrect | - Recheck for typos.
- Ensure that your provided user has the [necessary privileges](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md#configure-agent). We do not recommend providing a privileged superuser like `elastic` for this purpose.| +| You are providing both the API key and username/password | Choose one type of authentication only. | +| A proxy is blocking communication with your {{es}} cluster | You might have to [configure `NO_PROXY`](/reference/fleet/host-proxy-env-vars.md). | +| You are using a custom SSL/TLS configuration with {{es}} | Disable SSL/TLS verification so that your system trusts all certificates. We do not recommend disabling verification in production environments.

If you are using API key authentication, run the following command:

`curl -XGET --insecure -i $AUTOOPS_ES_URL \ -H "Authorization: ApiKey $AUTOOPS_ES_API_KEY"`.

If you are using username/password authentication, run the following command:

`curl -XGET --insecure -i $AUTOOPS_ES_URL \ -u $AUTOOPS_ES_USERNAME`

If the issue is resolved, you need to [configure {{agent}} with your custom SSL/TLS certificate](/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md). If the issue persists, contact [Elastic support](https://support.elastic.co/).| +| You are connecting a local development cluster using Docker without specifying `--network host` | - Make sure you are following all the steps to [connect your local development cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md#connect-your-local-development-cluster-to-autoops).
- In the [Install agent](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md#install-agent) step, make sure you are replacing `docker run -d \` with `docker run -d --network host \`. | + +### 2. Test your cluster's registration with {{ecloud}} + +If there is an issue with the second component, the agent stops working and your logs might show the following error: + +```sh +... failed to register Cloud Connected Mode: ... Post \"https://api.elastic-cloud.com/api/v1/cloud-connected/clusters\": ... +``` + +To test if your organization is not allowing the agent to register your cluster with {{ecloud}}, run the following command: + +```json +curl -XPOST -i \ +https://api.elastic-cloud.com/api/v1/cloud-connected/clusters \ +-H 'Content-Type: application/json' \ +-d '{"self_managed_cluster": {"id": "my-cluster-uuid", "name": "my-cluster-name", "version": "9.1.0"}, "license": {"uid": "my-license-id", "type": "basic"}}' +``` + +The command should return an HTTP 401 response: + +```json + {"UnauthorizedMessages":["Invalid credential headers"],"Cause":null} +``` +If you do not receive a similar response, configure your HTTP proxy to allow it to reach the URL (with headers and a JSON body): + +```json + POST https://api.elastic-cloud.com/api/v1/cloud-connected/clusters +``` +:::{note} +If you are using Docker, you might need to complete this configuration directly using the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables. +::: + +### 3. Test if {{agent}} is able to send metrics + +If there is an issue with the third component, the agent attempts to establish the connection and your logs might show the following error: + +```sh +... Exporting failed. Dropping data. ... no more retries left: failed to make an HTTP request: Post \"https://otel-collector.auto-ops.eu-west-1.aws.cloud.elastic.co:443/v1/logs\": ... +``` + +To test if your organization is not allowing the agent to send metrics from your cluster to {{ecloud}}, run the following command. The command uses AWS eu-west-1 as the CSP (cloud service provider) region, but you should replace it with your chosen CSP region before running the command. + +```json +curl -XPOST -i \ +https://otel-collector.auto-ops.eu-west-1.aws.cloud.elastic.co:443/v1/logs \ +-H 'Content-Type: application/json' + +``` +The command should return an HTTP 401 response: + +```json + {"code":16,"message":"no auth provided"} +``` + +If you do not receive a similar response, configure your HTTP proxy to allow it to reach the URL (with headers and an arbitrary body): + +```json + POST https://otel-collector.auto-ops.${REGION}.${CSP}.cloud.elastic.co:443/v1/logs +``` +:::{note} +If you are using Docker, you might need to complete this configuration directly using the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables. +::: \ No newline at end of file diff --git a/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md b/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md index d5f2912055..c51a3ebfeb 100644 --- a/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md +++ b/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md @@ -24,6 +24,7 @@ Use this guide to troubleshoot any issues you may encounter. * [After running the installation command, I can't move on to the next steps.](#next-steps) * [My organization's firewall may be preventing {{agent}} from collecting and sending metrics.](#firewall) * [{{agent}} is failing to connect because it doesn't recognize my SSL certificate.](#custom-cert) +* [I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't see any connected clusters in my account.](#eck-no-clusters) $$$single-cloud-org$$$**I’m trying to create a Cloud organization, but I’m already part of a different one.** : :::{include} /deploy-manage/monitor/_snippets/single-cloud-org.md @@ -44,6 +45,9 @@ $$$firewall$$$**My organization's firewall may be preventing {{agent}} from coll $$$custom-cert$$$**{{agent}} is failing to connect because it doesn't recognize my SSL certificate.** : If {{agent}} is failing to connect your self-managed cluster to AutoOps because it doesn't recognize your SSL certificate, refer to [](/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md). +$$$eck-no-clusters$$$**I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't see any connected clusters in my account.** +: Refer to [](/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md) to diagnose and resolve common issues. + ## Potential errors The following table shows the errors you might encounter if something goes wrong while you set up and use AutoOps on your clusters. diff --git a/deploy-manage/monitor/autoops/ec-autoops-faq.md b/deploy-manage/monitor/autoops/ec-autoops-faq.md index 73f7cf8a0a..102271ef47 100644 --- a/deploy-manage/monitor/autoops/ec-autoops-faq.md +++ b/deploy-manage/monitor/autoops/ec-autoops-faq.md @@ -36,7 +36,7 @@ Whether you are using AutoOps in your [{{ech}} deployment](/deploy-manage/monito * [Does AutoOps for self-managed clusters incur additional costs?](#additional-payment) * [Does shipping metrics data to {{ecloud}} incur additional costs?](#autoops-metrics-cost) * [Which deployment types can be connected to AutoOps through Cloud Connect?](#deployment-types) -* [] +* [Do I have to do any maintenance when using AutoOps for self-managed clusters?](#maintenance) **Setting up AutoOps for self-managed clusters** * [Can I use Cloud Connect to connect my {{ech}} clusters to AutoOps?](#cc-autoops-ech) @@ -103,6 +103,9 @@ $$$autoops-metrics-cost$$$ **Does shipping metrics data to {{ecloud}} incur addi $$$deployment-types$$$ **Which deployment types can be connected to AutoOps through Cloud Connect?** : You can connect to AutoOps on a standalone {{stack}}, ECE ({{ece}}), or ECK ({{eck}}) deployment, both on-premise and in private cloud environments. +$$$maintenance$$$ **Do I have to do any maintenance when using AutoOps for self-managed clusters?** +: AutoOps is a cloud service, so you don't need to upgrade it yourself. However, we recommend keeping {{agent}} upgraded to the latest version so you can use new features and get known issues fixed. + ### Setting up AutoOps for self-managed clusters $$$cc-autoops-ech$$$ **Can I use Cloud Connect to connect my {{ech}} clusters to AutoOps?** diff --git a/deploy-manage/toc.yml b/deploy-manage/toc.yml index 265b591fa2..1de1c580d3 100644 --- a/deploy-manage/toc.yml +++ b/deploy-manage/toc.yml @@ -689,6 +689,7 @@ toc: - file: monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md children: - file: monitor/autoops/autoops-sm-troubleshoot-firewalls.md + - file: monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md - file: monitor/autoops/ec-autoops-regions.md - file: monitor/autoops/views.md children: From 7f302754bdba92b565bba26f4013961e65499dce Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Sun, 25 Jan 2026 23:56:39 -0500 Subject: [PATCH 03/13] delete duplicate content --- ...autoops-sm-troubleshoot-eck-no-clusters.md | 148 +----------------- 1 file changed, 1 insertion(+), 147 deletions(-) diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 66f2e704c0..5d7c35e0ce 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -126,150 +126,4 @@ kubectl get autoopsagentpolicy quickstart -o jsonpath='{.spec.config.secretName} The command should return `autoops-config`. :::: -::::: - - - - -## Confirm that {{agent}} has appropriate access - -If your organization uses firewalls, you have to [give {{agent}} access to required ports and URLs](../autoops/cc-connect-self-managed-to-autoops.md#firewall-allowlist) during setup. - -Ensure that you have allowed {{agent}} the required level of access. If the problem persists, move on to the next section. - -## Test {{agent}}'s connection with your system - -There are [three main components](/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md#how-your-self-managed-cluster-connects-to-autoops) of {{agent}}'s connection with your system: - -:::{include} /deploy-manage/monitor/_snippets/autoops-cc-components.md -::: - -The following subsections describe how to test each of these components to find out where the problem lies, and then implement an appropriate solution. - -:::{tip} -Run the following tests within the context of your execution environment. That is, if your chosen installation method is Kubernetes, run the commands from within the pod; for Docker, run the commands from within the container, and so on. -::: - -### 1. Test {{agent}}'s connection with your cluster -If there is an issue with the first component, {{agent}} cannot connect to your cluster. - -To test if your organization is not allowing this connection, run the following command depending on your chosen authentication method: - -:::::{tab-set} -:group: api-key-or-basic - -::::{tab-item} API key -:sync: api-key - -```json -curl -XGET -i $AUTOOPS_ES_URL \ --H "Authorization: ApiKey $AUTOOPS_ES_API_KEY" -``` -:::: - -::::{tab-item} Basic -:sync: basic - -```json -curl -XGET -i $AUTOOPS_ES_URL \ --u $AUTOOPS_ES_USERNAME -``` -:::: - -::::: - -The command returns a response similar to the following: - -```json -{ -"name" : "1c72f00a6195", -"cluster_name" : "my-ccm-cluster", -"cluster_uuid" : "2O_EjO6kTR6AEVYwL5fPEw", -"version" : { -"number" : "9.1.3", -"build_flavor" : "default", -"build_type" : "docker", -"build_hash" : "0c781091a2f57de895a73a1391ff8426c0153c8d", -"build_date" : "2025-08-24T22:05:04.526302670Z", -"build_snapshot" : false, -"lucene_version" : "10.2.2", -"minimum_wire_compatibility_version" : "8.19.0", -"minimum_index_compatibility_version" : "8.0.0" -}, -"tagline" : "You Know, for Search" -} -``` - -If you do not receive a similar response, your system returns an error indicating one or more reasons for the failure as outlined in the following table. Use the corresponding proposed solution to fix the issue. - -| Reason for failure | Proposed solution | -| :--- | :--- | -| The {{es}} endpoint URL you specified is incorrect/not reachable | - Make sure you are using the correct protocol in the cluster URL:`http` or `https`.
- Make sure you are providing the correct port. The default port is **9200**.
- If you have verified that the URL is correct, your network team might need to open the firewall to allow-list this URL. | -| Your API key is incorrect | - Recheck for typos.
- If your cluster is on versions 9.1.0 through 9.1.3, ensure that you have the base64-decoded version of the key by running the following command:

`echo $AUTOOPS_ES_API_KEY | base64 -d`

If your key has a colon (:), it is not base64 encoded. If your key has an equal sign (=), it is base64 coded.
For versions 9.1.4 and above, both formats work.| -| Your username or password is incorrect | - Recheck for typos.
- Ensure that your provided user has the [necessary privileges](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md#configure-agent). We do not recommend providing a privileged superuser like `elastic` for this purpose.| -| You are providing both the API key and username/password | Choose one type of authentication only. | -| A proxy is blocking communication with your {{es}} cluster | You might have to [configure `NO_PROXY`](/reference/fleet/host-proxy-env-vars.md). | -| You are using a custom SSL/TLS configuration with {{es}} | Disable SSL/TLS verification so that your system trusts all certificates. We do not recommend disabling verification in production environments.

If you are using API key authentication, run the following command:

`curl -XGET --insecure -i $AUTOOPS_ES_URL \ -H "Authorization: ApiKey $AUTOOPS_ES_API_KEY"`.

If you are using username/password authentication, run the following command:

`curl -XGET --insecure -i $AUTOOPS_ES_URL \ -u $AUTOOPS_ES_USERNAME`

If the issue is resolved, you need to [configure {{agent}} with your custom SSL/TLS certificate](/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md). If the issue persists, contact [Elastic support](https://support.elastic.co/).| -| You are connecting a local development cluster using Docker without specifying `--network host` | - Make sure you are following all the steps to [connect your local development cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md#connect-your-local-development-cluster-to-autoops).
- In the [Install agent](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md#install-agent) step, make sure you are replacing `docker run -d \` with `docker run -d --network host \`. | - -### 2. Test your cluster's registration with {{ecloud}} - -If there is an issue with the second component, the agent stops working and your logs might show the following error: - -```sh -... failed to register Cloud Connected Mode: ... Post \"https://api.elastic-cloud.com/api/v1/cloud-connected/clusters\": ... -``` - -To test if your organization is not allowing the agent to register your cluster with {{ecloud}}, run the following command: - -```json -curl -XPOST -i \ -https://api.elastic-cloud.com/api/v1/cloud-connected/clusters \ --H 'Content-Type: application/json' \ --d '{"self_managed_cluster": {"id": "my-cluster-uuid", "name": "my-cluster-name", "version": "9.1.0"}, "license": {"uid": "my-license-id", "type": "basic"}}' -``` - -The command should return an HTTP 401 response: - -```json - {"UnauthorizedMessages":["Invalid credential headers"],"Cause":null} -``` -If you do not receive a similar response, configure your HTTP proxy to allow it to reach the URL (with headers and a JSON body): - -```json - POST https://api.elastic-cloud.com/api/v1/cloud-connected/clusters -``` -:::{note} -If you are using Docker, you might need to complete this configuration directly using the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables. -::: - -### 3. Test if {{agent}} is able to send metrics - -If there is an issue with the third component, the agent attempts to establish the connection and your logs might show the following error: - -```sh -... Exporting failed. Dropping data. ... no more retries left: failed to make an HTTP request: Post \"https://otel-collector.auto-ops.eu-west-1.aws.cloud.elastic.co:443/v1/logs\": ... -``` - -To test if your organization is not allowing the agent to send metrics from your cluster to {{ecloud}}, run the following command. The command uses AWS eu-west-1 as the CSP (cloud service provider) region, but you should replace it with your chosen CSP region before running the command. - -```json -curl -XPOST -i \ -https://otel-collector.auto-ops.eu-west-1.aws.cloud.elastic.co:443/v1/logs \ --H 'Content-Type: application/json' - -``` -The command should return an HTTP 401 response: - -```json - {"code":16,"message":"no auth provided"} -``` - -If you do not receive a similar response, configure your HTTP proxy to allow it to reach the URL (with headers and an arbitrary body): - -```json - POST https://otel-collector.auto-ops.${REGION}.${CSP}.cloud.elastic.co:443/v1/logs -``` -:::{note} -If you are using Docker, you might need to complete this configuration directly using the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables. -::: \ No newline at end of file +::::: \ No newline at end of file From d764c3c679640a3295a80babe09f2880eba304ef Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Mon, 26 Jan 2026 00:29:20 -0500 Subject: [PATCH 04/13] more troubleshooting --- .../autoops-allowlist-port-and-urls.md | 4 +-- ...autoops-sm-troubleshoot-eck-no-clusters.md | 36 +++++++++---------- .../cc-connect-self-managed-to-autoops.md | 2 ++ .../monitor/autoops/ec-autoops-faq.md | 2 ++ 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/deploy-manage/monitor/_snippets/autoops-allowlist-port-and-urls.md b/deploy-manage/monitor/_snippets/autoops-allowlist-port-and-urls.md index 621ec66108..10890b7b39 100644 --- a/deploy-manage/monitor/_snippets/autoops-allowlist-port-and-urls.md +++ b/deploy-manage/monitor/_snippets/autoops-allowlist-port-and-urls.md @@ -1,4 +1,3 @@ -:::{note} If your organization uses firewalls, you need to provide access to port 443 and allow the agent to send data to the following URLs: * `https://api.elastic-cloud.com` * `https://otel-collector.auto-ops.${region}.${csp}.cloud.elastic.co/` @@ -7,5 +6,4 @@ If your organization uses firewalls, you need to provide access to port 443 and `https://otel-collector.auto-ops.us-east-1.aws.cloud.elastic.co/` -Learn more about [defining an Elastic IP address](/deploy-manage/monitor/autoops/ec-autoops-faq.md#elastic-ip-address) for AutoOps for self-managed clusters. -::: \ No newline at end of file +Learn more about [defining an Elastic IP address](/deploy-manage/monitor/autoops/ec-autoops-faq.md#elastic-ip-address) for AutoOps for self-managed clusters. \ No newline at end of file diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 5d7c35e0ce..4f46743dcb 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -12,7 +12,7 @@ products: If you used {{eck}} (ECK) to connect your self-managed clusters to AutoOps but you don't see any connected clusters in your account, go through this guide to diagnose and fix common issues. -## 1. Verify `AutoOpsAgentPolicy` status +## Verify `AutoOpsAgentPolicy` status Check if the `AutoOpsAgentPolicy` was successfully created and the ECK operator is processing it correctly. @@ -40,7 +40,7 @@ Repeat the steps to [install the agent](../autoops/cc-connect-self-managed-to-au ::::: -## 2. Verify that {{agent}} was deployed +## Verify that {{agent}} was deployed Check if `AutoOpsAgentPolicy` successfully deployed {{agent}} for your {{es}} clusters. @@ -74,7 +74,7 @@ kubectl describe pod ::::: -## 3. Validate connection secrets +## Validate connection secrets Make sure there are no errors in your secret keys. @@ -101,29 +101,27 @@ The command should return `autoops-config`. ::::: -## 4. Check cluster connectivity - -Make sure there are no errors in your secret keys. +## Check for authorization errors +When you go through the installation wizard, the ECK operator attempts to create a user or API key for {{agent}}. If there is an issue with this creation, you will see authorization errors in the operator logs. :::::{stepper} -::::{step} Verify secret content +::::{step} Pull operator logs Run the following command. ```shell -kubectl get secret autoops-config -o yaml +kubectl logs -f -n -l control-plane=elastic-operator ``` -Make sure you can see the following required keys in the secret: -* `autoops-token` -* `autoops-otel-url` -* `cloud-connected-mode-api-key` :::: -::::{step} Confirm secret reference -Run the following command to confirm that `AutoOpsAgentPolicy` is actually referencing the correct configuration. -```shell -kubectl get autoopsagentpolicy quickstart -o jsonpath='{.spec.config.secretName}' -``` -The command should return `autoops-config`. +::::{step} Inspect logs +If you see any errors in the logs mentioning "authorization" or "unauthorized connection", go through the installation wizard again so that the operator can reattempt creating a user or API key. :::: -::::: \ No newline at end of file +## Ensure that {{agent}} is allowed to send data to AutoOps + +:::{include} ../_snippets/autoops-allowlist-port-and-urls.md +::: + +## Check cluster health + +Ensure that the {{es}} clusters you are trying to connect to AutoOps are healthy. {{agent}} may fail to connect clusters in a Red state. \ No newline at end of file diff --git a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md index 76dcba9ff8..ae7dccd823 100644 --- a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md +++ b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md @@ -199,8 +199,10 @@ In the **Cloud provider** field, select **Amazon Web Services**. In the **Region ::: $$$firewall-allowlist$$$ +::::{note} :::{include} ../_snippets/autoops-allowlist-port-and-urls.md ::: +:::: ### Install agent diff --git a/deploy-manage/monitor/autoops/ec-autoops-faq.md b/deploy-manage/monitor/autoops/ec-autoops-faq.md index 102271ef47..9749135a5c 100644 --- a/deploy-manage/monitor/autoops/ec-autoops-faq.md +++ b/deploy-manage/monitor/autoops/ec-autoops-faq.md @@ -164,8 +164,10 @@ $$$data-gathering$$$ **How does AutoOps gather data from my cluster and ensure i | HTTP | Basic cluster information from the `/` endpoint

License information from the `/_license` endpoint | **443**: standard HTTPS port | Uses an {{ecloud}} API key which is limited for use with Cloud Connect only. | | OTLP over HTTP | Operational information | **443**: standard HTTPS port | Uses an AutoOps token which is functionally equivalent to an API key. | + ::::{note} :::{include} ../_snippets/autoops-allowlist-port-and-urls.md ::: + :::: $$$data-viewing-config$$$**Can I view the data gathered by {{agent}}?** : Yes. AutoOps {{agent}} comes bundled with the `autoops_es_debug.yaml` configuration file, which you can use to export and view a sample of the data gathered from your cluster and sent to Elastic Cloud. From b8f51dc447a783393f1aebc6b6f87c7baccada6a Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Wed, 28 Jan 2026 01:30:41 -0500 Subject: [PATCH 05/13] consolidating changes from Michael's PR --- .../orchestrate-other-elastic-applications.md | 1 + ...autoops-sm-troubleshoot-eck-no-clusters.md | 2 +- .../cc-connect-self-managed-to-autoops.md | 46 +++++++++++++------ 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/deploy-manage/deploy/cloud-on-k8s/orchestrate-other-elastic-applications.md b/deploy-manage/deploy/cloud-on-k8s/orchestrate-other-elastic-applications.md index 6785da7562..c05b187a97 100644 --- a/deploy-manage/deploy/cloud-on-k8s/orchestrate-other-elastic-applications.md +++ b/deploy-manage/deploy/cloud-on-k8s/orchestrate-other-elastic-applications.md @@ -8,6 +8,7 @@ This content applies to {{eck_resources_list_short}} applications. To orchestrat The following guides provide specific instructions for deploying and configuring each application on ECK: * [APM Server](apm-server.md) +* [AutoOps](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md) {applies_to}`eck: ga 3.3` * [Standalone Elastic Agent](standalone-elastic-agent.md) * [{{fleet}}-managed {{agent}}](fleet-managed-elastic-agent.md) * [Elastic Maps Server](elastic-maps-server.md) diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 4f46743dcb..97941ef48e 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -51,7 +51,7 @@ Run the following command. ```shell kubectl get deployments -l autoops.k8s.elastic.co/policy=quickstart ``` -If no deployments appear, there may be an issue with the label applied to your {{es}} clusters. If deployments appear but pods are not running, there may be an issue with a specific pod. +If no deployments appear, there might be an issue with the label applied to your {{es}} clusters. If deployments appear but pods are not running, there might be an issue with a specific pod. :::: ::::{step} Check cluster labels and agent pods diff --git a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md index ae7dccd823..20261c7b86 100644 --- a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md +++ b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md @@ -27,7 +27,7 @@ Ensure your system meets the following requirements before proceeding: * Your cluster is on a [supported {{es}} version](https://www.elastic.co/support/eol) (7.17.x and above). * Your cluster is on an [Enterprise self-managed license](https://www.elastic.co/subscriptions) or an [active self-managed trial](https://cloud.elastic.co/registration). * The agent you install for the connection is allowed to send metrics to {{ecloud}}. -* For {{eck}} environments, your ECK operator is on version 3.3.0 and above. +* {applies_to}`eck: ga 3.3` Your ECK operator is on version 3.3.0 and above. ## Connect to AutoOps [connect-to-autoops] @@ -89,7 +89,7 @@ To learn more about how AutoOps securely gathers data from your cluster, refer t ### Configure agent -Depending on your selected installation method, you may have to provide the following information to create the installation command: +Depending on your selected installation method, you might have to provide some or all of the following information to create the installation command: * **{{es}} endpoint URL**: Enter the URL for the {{es}} cluster you want to monitor by connecting to AutoOps. * **Preferred authentication method**: Choose one of the following: @@ -206,7 +206,7 @@ $$$firewall-allowlist$$$ ### Install agent -The wizard generates a YAML manifest or an installation command based on your configuration. Depending on your installation method, the following formats are available: +The wizard generates an installation command or a YAML manifest based on your configuration. Depending on your installation method, the following formats are available: * {{k8s}} * YAML @@ -214,8 +214,8 @@ The wizard generates a YAML manifest or an installation command based on your co * Docker * Docker compose * Linux -* ECK - * YAML (`AutoOpsAgentPolicy` resource) +* ECK (recommended for ECK-managed {{es}} clusters) + * YAML :::{tip} For optimum resource usage, we recommend installing the agent on a different machine from the one where your cluster is running. @@ -253,13 +253,29 @@ It might take a few minutes for your cluster details to be validated and the fir eck: ga 3.3 ``` 1. Copy the YAML manifest. -2. (Optional) Paste it into a text editor and change the following example values: - * `autoops-config` - * `quickstart` - * `autoops: enabled` -3. Add the manifest to a configuration file on the machine where you want to install the agent. +2. (Optional) Paste it into a text editor and change the values of the following variables: + * Secret name + * Namespace + * `resourceSelector` label +3. Add the manifest to your ECK environment on the machine where you want to install the agent. 4. Return to the wizard and select **Next**. +When you add this manifest, the ECK operator does the following: +* Creates an `AutoOpsAgentPolicy` resource. +* Configures {{agent}} to monitor the {{es}} clusters that match your `resourceSelector` label. +* Deploys the agent so that it's ready to send data to AutoOps. + +:::{tip} +After the `AutoOpsAgentPolicy` resource is created, you can check its status by running the following command: +```sh +kubectl describe autoopsagentpolicy eck-autoops-config-policy +``` +The status shows: +* Number of errors encountered when configuring {{agent}}. +* Number of clusters matched by the `resourceSelector`. +* Number of clusters that are connected and shipping data to AutoOps. +::: + ::: :::: @@ -285,7 +301,9 @@ After your setup is complete, the **Open AutoOps** button is displayed in the wi ```{applies_to} eck: ga 3.3 ``` -The agent detects which {{es}} clusters to monitor based on the correct `matchLabel`. Use the following command to apply the `matchLabel` to every cluster you want to connect. This code assumes your `matchLabel` is `autoops:enabled`. +The agent detects which {{es}} clusters to monitor based on the correct `resourceSelector` label. The `resourceSelector` uses standard {{k8s}} [label selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors) to match the clusters. + +Use the following command to apply the `resourceSelector` label to every cluster you want to connect. This code assumes your label is `autoops=enabled`. ```js kubectl -n {{NAMESPACE}} label elasticsearch quickstart autoops=enabled @@ -322,9 +340,9 @@ By default, each cluster has a name made up of a string of characters, but you c To connect more clusters, repeat the steps to [connect to AutoOps](#connect-to-autoops). -Or, if you don't need to change any of your [configuration settings](#configure-agent) for the additional clusters, you can skip ahead and reuse the same installation command to connect them. +If you don't need to change any of your [configuration settings](#configure-agent) for the additional clusters, you can skip ahead and reuse the same installation command if you used the {{k8s}}, Docker, or Linux methods, or apply the same `resourceSelector` label if you used the ECK method. -Remember that you must run the command to install a separate, dedicated {{agent}} for each cluster. You only need to install the agent once per cluster. +Remember that you must install a separate, dedicated {{agent}} for each cluster. You only need to install the agent once per cluster. ### Disconnect a cluster @@ -338,7 +356,7 @@ Complete the following steps to disconnect your cluster from your Cloud organiza :::{tip} :applies_to: { eck: ga 3.3 } -If your chosen installation method is ECK, you can also disconnect a cluster by removing your `matchLabel` from it. Run the following command: +If your chosen installation method is ECK, you can also disconnect a cluster by removing your `resourceSelector` label from it. Run the following command: ```js kubectl -n {{NAMESPACE}} label elasticsearch quickstart autoops- ``` From 5238d567aab301b4ee00c982a9a682a381799ae3 Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Wed, 28 Jan 2026 01:35:19 -0500 Subject: [PATCH 06/13] vale checks --- .../autoops/autoops-sm-troubleshoot-eck-no-clusters.md | 4 ++-- .../autoops/cc-cloud-connect-autoops-troubleshooting.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 97941ef48e..503428c31d 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -10,7 +10,7 @@ products: # Troubleshoot connected clusters not appearing with ECK installation -If you used {{eck}} (ECK) to connect your self-managed clusters to AutoOps but you don't see any connected clusters in your account, go through this guide to diagnose and fix common issues. +If you used {{eck}} (ECK) to connect your self-managed clusters to AutoOps but you can't view any connected clusters in your account, go through this guide to diagnose and fix common issues. ## Verify `AutoOpsAgentPolicy` status @@ -85,7 +85,7 @@ Run the following command. ```shell kubectl get secret autoops-config -o yaml ``` -Make sure you can see the following required keys in the secret: +Make sure the secret has the following required keys: * `autoops-token` * `autoops-otel-url` * `cloud-connected-mode-api-key` diff --git a/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md b/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md index c51a3ebfeb..c61792d2ce 100644 --- a/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md +++ b/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md @@ -24,7 +24,7 @@ Use this guide to troubleshoot any issues you may encounter. * [After running the installation command, I can't move on to the next steps.](#next-steps) * [My organization's firewall may be preventing {{agent}} from collecting and sending metrics.](#firewall) * [{{agent}} is failing to connect because it doesn't recognize my SSL certificate.](#custom-cert) -* [I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't see any connected clusters in my account.](#eck-no-clusters) +* [I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't view any connected clusters in my account.](#eck-no-clusters) $$$single-cloud-org$$$**I’m trying to create a Cloud organization, but I’m already part of a different one.** : :::{include} /deploy-manage/monitor/_snippets/single-cloud-org.md @@ -45,7 +45,7 @@ $$$firewall$$$**My organization's firewall may be preventing {{agent}} from coll $$$custom-cert$$$**{{agent}} is failing to connect because it doesn't recognize my SSL certificate.** : If {{agent}} is failing to connect your self-managed cluster to AutoOps because it doesn't recognize your SSL certificate, refer to [](/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md). -$$$eck-no-clusters$$$**I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't see any connected clusters in my account.** +$$$eck-no-clusters$$$**I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't view any connected clusters in my account.** : Refer to [](/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md) to diagnose and resolve common issues. ## Potential errors From 239ec159d93b44619bf329e7e625271f93379744 Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Wed, 28 Jan 2026 01:43:55 -0500 Subject: [PATCH 07/13] small fix --- .../autoops/autoops-sm-troubleshoot-eck-no-clusters.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 503428c31d..2906378dfa 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -14,7 +14,7 @@ If you used {{eck}} (ECK) to connect your self-managed clusters to AutoOps but y ## Verify `AutoOpsAgentPolicy` status -Check if the `AutoOpsAgentPolicy` was successfully created and the ECK operator is processing it correctly. +Check if the `AutoOpsAgentPolicy` resource was successfully created and the ECK operator is processing it correctly. :::::{stepper} @@ -51,7 +51,7 @@ Run the following command. ```shell kubectl get deployments -l autoops.k8s.elastic.co/policy=quickstart ``` -If no deployments appear, there might be an issue with the label applied to your {{es}} clusters. If deployments appear but pods are not running, there might be an issue with a specific pod. +If no deployments appear, there might be an issue with the `resourceSelector` label applied to your {{es}} clusters. If deployments appear but pods are not running, there might be an issue with a specific pod. :::: ::::{step} Check cluster labels and agent pods @@ -59,7 +59,7 @@ If no deployments appeared in the previous step, run the following command to ch ```shell kubectl get elasticsearch quickstart --show-labels ``` -Make sure that the label you chose in the [Install agent](../autoops/cc-connect-self-managed-to-autoops.md#install-agent) step of the wizard appears correctly in the list. +Make sure that the label you applied in the [Launch AutoOps](../autoops/cc-connect-self-managed-to-autoops.md#launch-autoops) step of the wizard appears correctly in the list. If deployments appeared in the previous step, run the following command to check pod status. ```shell From 66e3d774e44945c0e52f03cd380d18daa642daa8 Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Wed, 28 Jan 2026 17:36:38 -0500 Subject: [PATCH 08/13] PR review --- ...autoops-sm-troubleshoot-eck-no-clusters.md | 28 ++++++------ .../cc-connect-self-managed-to-autoops.md | 45 +++++++++---------- .../monitor/autoops/ec-autoops-faq.md | 2 +- 3 files changed, 37 insertions(+), 38 deletions(-) diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 2906378dfa..1d69e50bf1 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -21,7 +21,7 @@ Check if the `AutoOpsAgentPolicy` resource was successfully created and the ECK ::::{step} Check if the policy was created Run the following command. ```shell -kubectl get autoopsagentpolicy quickstart +kubectl get autoopsagentpolicy ``` If the policy doesn't appear, there was an issue with its creation. :::: @@ -29,9 +29,9 @@ If the policy doesn't appear, there was an issue with its creation. ::::{step} Confirm the issue by checking logs Run the following command to show logs. ```shell -kubectl logs -f -n -l control-plane=elastic-operator +kubectl logs -f -n -l control-plane=elastic-operator ``` -If you see any errors mentioning `AutoOpsAgentPolicy` or `quickstart`, this confirms the policy's creation and processing is causing the issue. +If the log contains any errors mentioning `AutoOpsAgentPolicy` or the policy's name, this confirms that the policy's creation and processing is causing the issue. :::: ::::{step} Re-add the YAML manifest to your configuration file @@ -49,7 +49,7 @@ Check if `AutoOpsAgentPolicy` successfully deployed {{agent}} for your {{es}} cl ::::{step} List agent deployments Run the following command. ```shell -kubectl get deployments -l autoops.k8s.elastic.co/policy=quickstart +kubectl get deployments -l autoops.k8s.elastic.co/policy-name= ``` If no deployments appear, there might be an issue with the `resourceSelector` label applied to your {{es}} clusters. If deployments appear but pods are not running, there might be an issue with a specific pod. :::: @@ -57,18 +57,18 @@ If no deployments appear, there might be an issue with the `resourceSelector` la ::::{step} Check cluster labels and agent pods If no deployments appeared in the previous step, run the following command to check your cluster labels. ```shell -kubectl get elasticsearch quickstart --show-labels +kubectl get elasticsearch --show-labels ``` Make sure that the label you applied in the [Launch AutoOps](../autoops/cc-connect-self-managed-to-autoops.md#launch-autoops) step of the wizard appears correctly in the list. If deployments appeared in the previous step, run the following command to check pod status. ```shell -kubectl get pods -l autoops.k8s.elastic.co/policy=quickstart +kubectl get pods -l autoops.k8s.elastic.co/policy-name= ``` -If you see a pod that is crashing or pending, run the following command to inspect its events: +If the status indicates that a pod is crashing or in a pending state, run the following command to inspect its events: ```shell -kubectl describe pod +kubectl describe pod ``` :::: @@ -83,7 +83,7 @@ Make sure there are no errors in your secret keys. ::::{step} Verify secret content Run the following command. ```shell -kubectl get secret autoops-config -o yaml +kubectl get secret -o yaml ``` Make sure the secret has the following required keys: * `autoops-token` @@ -94,27 +94,27 @@ Make sure the secret has the following required keys: ::::{step} Confirm secret reference Run the following command to confirm that `AutoOpsAgentPolicy` is actually referencing the correct configuration. ```shell -kubectl get autoopsagentpolicy quickstart -o jsonpath='{.spec.config.secretName}' +kubectl get autoopsagentpolicy -o jsonpath='{.spec.autoOpsRef.secretName}' ``` -The command should return `autoops-config`. +The command should return the correct `.spec.autoOpsRef.secretName`. :::: ::::: ## Check for authorization errors -When you go through the installation wizard, the ECK operator attempts to create a user or API key for {{agent}}. If there is an issue with this creation, you will see authorization errors in the operator logs. +When you go through the installation wizard, the ECK operator attempts to create an API key for {{agent}} within {{es}}. If there is an issue with this creation, authorization errors will appear in the operator logs. :::::{stepper} ::::{step} Pull operator logs Run the following command. ```shell -kubectl logs -f -n -l control-plane=elastic-operator +kubectl logs -f -n -l control-plane=elastic-operator ``` :::: ::::{step} Inspect logs -If you see any errors in the logs mentioning "authorization" or "unauthorized connection", go through the installation wizard again so that the operator can reattempt creating a user or API key. +If any errors in the logs mention "authorization" or "unauthorized connection", go through the installation wizard again so that the operator can reattempt creating a user or API key. :::: ## Ensure that {{agent}} is allowed to send data to AutoOps diff --git a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md index 20261c7b86..9c7322dedc 100644 --- a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md +++ b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md @@ -12,7 +12,7 @@ products: # Connect your self-managed cluster to AutoOps -To use AutoOps with your self-managed cluster, you first need to create an {{ecloud}} account or log in to your existing account. An installation wizard then guides you through the steps of installing {{agent}} to send metrics from your cluster to AutoOps in {{ecloud}}. +To use AutoOps with your fully self-managed, ECE, or ECK {{es}} cluster, you first need to create an {{ecloud}} account or log in to your existing account. An installation wizard then guides you through the steps of installing {{agent}} to send metrics from your cluster to AutoOps in {{ecloud}}. The connection process takes about 10 minutes. @@ -73,7 +73,7 @@ Select one of the following methods to install {{agent}}: * **{{k8s}}** * **Docker** * **Linux** -* **{{eck}} (ECK)** +* {applies_to}`eck: ga 3.3` **{{eck}} (ECK)** (recommended for ECK-managed {{es}} clusters) :::{note} macOS is not a supported platform for installing {{agent}} to connect to AutoOps in a self-managed production environment. However, you can use macOS to [connect your local development cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md). @@ -145,7 +145,7 @@ Depending on your selected installation method, you might have to provide some o ::::{tab-item} Basic :sync: basic - With this authentication method, you need the username and password of a user with the necessary privileges to grant access to your cluster. There are two ways to set up a user with the these privileges: + With this authentication method, you need the username and password of a user with the necessary privileges to grant access to your cluster. There are two ways to set up a user with these privileges: * (Recommended) Go to {{kib}} in your self-managed cluster and then go to **Developer tools**. In **Console**, run the following command: ```js @@ -214,20 +214,19 @@ The wizard generates an installation command or a YAML manifest based on your co * Docker * Docker compose * Linux -* ECK (recommended for ECK-managed {{es}} clusters) +* {applies_to}`eck: ga 3.3` ECK * YAML -:::{tip} -For optimum resource usage, we recommend installing the agent on a different machine from the one where your cluster is running. -::: - Complete the following steps to install the agent: -::::{tab-set} +:::::{tab-set} :group: installation-eck-or-other -:::{tab-item} {{k8s}}, Docker, or Linux +::::{tab-item} {{k8s}}, Docker, or Linux :sync: installation-other +:::{tip} +For Docker or Linux-based installation, we recommend installing the agent on a different machine from the one where your cluster is running. This ensures optimum resource usage. +::: 1. Copy the command. 2. Paste it into a text editor and update the placeholder values for the following environment variables: @@ -245,9 +244,9 @@ Complete the following steps to install the agent: 4. Return to the wizard and select **I have run the command**. It might take a few minutes for your cluster details to be validated and the first metrics to be shipped to AutoOps. -::: +:::: -:::{tab-item} ECK +::::{tab-item} ECK :sync: installation-ECK ```{applies_to} eck: ga 3.3 @@ -255,20 +254,20 @@ eck: ga 3.3 1. Copy the YAML manifest. 2. (Optional) Paste it into a text editor and change the values of the following variables: * Secret name - * Namespace + * Policy name * `resourceSelector` label -3. Add the manifest to your ECK environment on the machine where you want to install the agent. +3. Apply the manifest to your ECK environment. 4. Return to the wizard and select **Next**. -When you add this manifest, the ECK operator does the following: -* Creates an `AutoOpsAgentPolicy` resource. -* Configures {{agent}} to monitor the {{es}} clusters that match your `resourceSelector` label. -* Deploys the agent so that it's ready to send data to AutoOps. +When you apply this manifest, the following things happen: +* An `AutoOpsAgentPolicy` resource is created. +* The ECK operator is configured to create an API key in each {{es}} cluster that matches your `resourceSelector` label. +* {{agent}} is deployed so that it's ready to send data from these clusters to AutoOps. :::{tip} After the `AutoOpsAgentPolicy` resource is created, you can check its status by running the following command: ```sh -kubectl describe autoopsagentpolicy eck-autoops-config-policy +kubectl describe autoopsagentpolicy ``` The status shows: * Number of errors encountered when configuring {{agent}}. @@ -276,10 +275,10 @@ The status shows: * Number of clusters that are connected and shipping data to AutoOps. ::: -::: - :::: +::::: + If the connection is unsuccessful, an error message is displayed with a possible reason for the failure and recommended next steps. For a list of these errors, refer to [Potential errors](/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md#potential-errors). Sometimes, an exact reason for the failure cannot be determined. In this case, explore [additional resources](/troubleshoot/index.md#troubleshoot-additional-resources) or [contact us](/troubleshoot/index.md#contact-us). To uninstall the agent, refer to [](/solutions/security/configure-elastic-defend/uninstall-elastic-agent.md). @@ -306,7 +305,7 @@ The agent detects which {{es}} clusters to monitor based on the correct `resourc Use the following command to apply the `resourceSelector` label to every cluster you want to connect. This code assumes your label is `autoops=enabled`. ```js - kubectl -n {{NAMESPACE}} label elasticsearch quickstart autoops=enabled + kubectl -n {{namespace}} label elasticsearch autoops=enabled ``` :::{note} The agent runs in the namespace chosen for the policy. However, the agent can detect {{es}} clusters throughout the {{k8s}} environment regardless of where they are installed. @@ -358,7 +357,7 @@ Complete the following steps to disconnect your cluster from your Cloud organiza :applies_to: { eck: ga 3.3 } If your chosen installation method is ECK, you can also disconnect a cluster by removing your `resourceSelector` label from it. Run the following command: ```js - kubectl -n {{NAMESPACE}} label elasticsearch quickstart autoops- + kubectl -n {{namespace}} label elasticsearch autoops- ``` ::: diff --git a/deploy-manage/monitor/autoops/ec-autoops-faq.md b/deploy-manage/monitor/autoops/ec-autoops-faq.md index 9749135a5c..8660164390 100644 --- a/deploy-manage/monitor/autoops/ec-autoops-faq.md +++ b/deploy-manage/monitor/autoops/ec-autoops-faq.md @@ -104,7 +104,7 @@ $$$deployment-types$$$ **Which deployment types can be connected to AutoOps thro : You can connect to AutoOps on a standalone {{stack}}, ECE ({{ece}}), or ECK ({{eck}}) deployment, both on-premise and in private cloud environments. $$$maintenance$$$ **Do I have to do any maintenance when using AutoOps for self-managed clusters?** -: AutoOps is a cloud service, so you don't need to upgrade it yourself. However, we recommend keeping {{agent}} upgraded to the latest version so you can use new features and get known issues fixed. +: AutoOps is a cloud service, so you don't need to upgrade it yourself. However, we recommend keeping {{agent}} upgraded to the latest version so you can access new features and fixes. ### Setting up AutoOps for self-managed clusters From caf625afe0a8858fa8d349bb2e16059559b07a4c Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Thu, 29 Jan 2026 18:37:52 -0500 Subject: [PATCH 09/13] shaina review --- .../autoops-allowlist-port-and-urls.md | 2 +- .../autoops-disable-metrics-collection.md | 2 +- .../autoops-sm-custom-certification.md | 4 +- ...autoops-sm-troubleshoot-eck-no-clusters.md | 3 +- .../autoops/cc-autoops-as-cloud-connected.md | 6 +-- ...c-cloud-connect-autoops-troubleshooting.md | 8 ++-- .../cc-connect-self-managed-to-autoops.md | 21 +++++----- .../monitor/autoops/ec-autoops-faq.md | 38 +++++++++---------- 8 files changed, 43 insertions(+), 41 deletions(-) diff --git a/deploy-manage/monitor/_snippets/autoops-allowlist-port-and-urls.md b/deploy-manage/monitor/_snippets/autoops-allowlist-port-and-urls.md index 10890b7b39..41b71c34cb 100644 --- a/deploy-manage/monitor/_snippets/autoops-allowlist-port-and-urls.md +++ b/deploy-manage/monitor/_snippets/autoops-allowlist-port-and-urls.md @@ -6,4 +6,4 @@ If your organization uses firewalls, you need to provide access to port 443 and `https://otel-collector.auto-ops.us-east-1.aws.cloud.elastic.co/` -Learn more about [defining an Elastic IP address](/deploy-manage/monitor/autoops/ec-autoops-faq.md#elastic-ip-address) for AutoOps for self-managed clusters. \ No newline at end of file +Learn more about [defining an Elastic IP address](/deploy-manage/monitor/autoops/ec-autoops-faq.md#elastic-ip-address) for AutoOps for ECE, ECK, or self-managed clusters. \ No newline at end of file diff --git a/deploy-manage/monitor/autoops/autoops-disable-metrics-collection.md b/deploy-manage/monitor/autoops/autoops-disable-metrics-collection.md index 3d2ed00e54..f81dda3a44 100644 --- a/deploy-manage/monitor/autoops/autoops-disable-metrics-collection.md +++ b/deploy-manage/monitor/autoops/autoops-disable-metrics-collection.md @@ -12,7 +12,7 @@ products: # Disable certain types of data collection by AutoOps -AutoOps collects data from your self-managed cluster with the help of {{agent}} and analyzes it to diagnose issues and provide performance recommendations. +AutoOps collects data from your {{es}} cluster with the help of {{agent}} and analyzes it to diagnose issues and provide performance recommendations. If you don't want the agent to access certain types of data, you can disable the collection of related metrics by editing your configuration file as described in the following section. diff --git a/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md b/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md index b25e13ac71..7e6bd4a2f0 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md +++ b/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md @@ -12,7 +12,7 @@ products: # Configure AutoOps {{agent}} with a custom SSL certificate -{{agent}} might not recognize your SSL certificate if it is signed by a custom or internal Certificate Authority (CA). In this case, {{agent}} will fail to connect your self-managed cluster to AutoOps and you might encounter an error like the following: +{{agent}} might not recognize your SSL certificate if it is signed by a custom or internal Certificate Authority (CA). In this case, {{agent}} will fail to connect your ECE, ECK, or self-managed cluster to AutoOps and you might encounter an error like the following: ```sh ... x509: certificate signed by unknown authority ... @@ -133,7 +133,7 @@ Complete the following steps: 4. Save your changes to the `elastic-agent.yml` file. 5. Restart {{agent}} for the new settings to take effect. -6. Check the agent logs again to confirm that the error is gone and that {{agent}} has successfully connected your self-managed cluster to AutoOps. +6. Check the agent logs again to confirm that the error is gone and that {{agent}} has successfully connected your cluster to AutoOps. :::{tip} If you encounter the following error in the agent logs, there might be a formatting issue in the `elastic-agent.yml` file. diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 1d69e50bf1..f5f47fcc2b 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -1,7 +1,6 @@ --- applies_to: deployment: - self: eck: navigation_title: Connected clusters not appearing with ECK products: @@ -10,7 +9,7 @@ products: # Troubleshoot connected clusters not appearing with ECK installation -If you used {{eck}} (ECK) to connect your self-managed clusters to AutoOps but you can't view any connected clusters in your account, go through this guide to diagnose and fix common issues. +If you chose ECK as your installation method in the wizard to connect your {{es}} clusters to AutoOps, but you can't view any connected clusters in your account, go through this guide to diagnose and fix common issues. ## Verify `AutoOpsAgentPolicy` status diff --git a/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md b/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md index 082d0f22cb..fbe71fcd23 100644 --- a/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md +++ b/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md @@ -4,19 +4,19 @@ applies_to: self: ece: eck: -navigation_title: For self-managed clusters +navigation_title: For ECE, ECK, and self-managed clusters products: - id: cloud-kubernetes - id: cloud-enterprise --- -# AutoOps for self-managed clusters +# AutoOps for ECE, ECK, and self-managed clusters For ECE ({{ece}}), ECK ({{eck}}), and self-managed {{es}} clusters, AutoOps can be set up through [Cloud Connect](/deploy-manage/cloud-connect.md). Cloud Connect enables users of ECE, ECK, and self-managed clusters to use {{ecloud}} services. This means you can take advantage of the simplified cluster monitoring, real-time issue detection, and performance recommendations of AutoOps without having to run and manage the underlying infrastructure. -## How your self-managed cluster connects to AutoOps +## How your cluster connects to AutoOps To connect your ECE, ECK, or self-managed cluster to AutoOps, you have to use your {{ecloud}} account to install {{agent}}. After that, the process can be broken down into three components: diff --git a/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md b/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md index c61792d2ce..7e1249e9f6 100644 --- a/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md +++ b/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md @@ -10,7 +10,7 @@ products: - id: cloud-enterprise --- -# AutoOps for self-managed clusters troubleshooting +# AutoOps for ECE, ECK, or self-managed clusters troubleshooting Learn about issues that might come up when connecting your clusters and using AutoOps. @@ -24,7 +24,7 @@ Use this guide to troubleshoot any issues you may encounter. * [After running the installation command, I can't move on to the next steps.](#next-steps) * [My organization's firewall may be preventing {{agent}} from collecting and sending metrics.](#firewall) * [{{agent}} is failing to connect because it doesn't recognize my SSL certificate.](#custom-cert) -* [I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't view any connected clusters in my account.](#eck-no-clusters) +* [I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't view any connected clusters in my account.](#eck-no-clusters) {applies_to}`eck: ga 3.3` $$$single-cloud-org$$$**I’m trying to create a Cloud organization, but I’m already part of a different one.** : :::{include} /deploy-manage/monitor/_snippets/single-cloud-org.md @@ -43,9 +43,9 @@ $$$firewall$$$**My organization's firewall may be preventing {{agent}} from coll : If you're having issues with connecting your cluster to AutoOps and you suspect that a firewall may be the reason, refer to [](/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-firewalls.md). $$$custom-cert$$$**{{agent}} is failing to connect because it doesn't recognize my SSL certificate.** -: If {{agent}} is failing to connect your self-managed cluster to AutoOps because it doesn't recognize your SSL certificate, refer to [](/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md). +: If {{agent}} is failing to connect your cluster to AutoOps because it doesn't recognize your SSL certificate, refer to [](/deploy-manage/monitor/autoops/autoops-sm-custom-certification.md). -$$$eck-no-clusters$$$**I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't view any connected clusters in my account.** +$$$eck-no-clusters$$$**I went through the wizard with {{ECK}} (ECK) as my installation method, but I can't view any connected clusters in my account.** {applies_to}`eck: ga 3.3` : Refer to [](/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md) to diagnose and resolve common issues. ## Potential errors diff --git a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md index 9c7322dedc..daf2ad6015 100644 --- a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md +++ b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md @@ -4,15 +4,15 @@ applies_to: self: ece: eck: -navigation_title: Connect your self-managed cluster +navigation_title: Connect your cluster products: - id: cloud-kubernetes - id: cloud-enterprise --- -# Connect your self-managed cluster to AutoOps +# Connect your ECE, ECK, or self-managed cluster to AutoOps -To use AutoOps with your fully self-managed, ECE, or ECK {{es}} cluster, you first need to create an {{ecloud}} account or log in to your existing account. An installation wizard then guides you through the steps of installing {{agent}} to send metrics from your cluster to AutoOps in {{ecloud}}. +To use AutoOps with your ECE, ECK, or self-managed {{es}} cluster, you first need to create an {{ecloud}} account or log in to your existing account. An installation wizard then guides you through the steps of installing {{agent}} to send metrics from your cluster to AutoOps in {{ecloud}}. The connection process takes about 10 minutes. @@ -27,7 +27,7 @@ Ensure your system meets the following requirements before proceeding: * Your cluster is on a [supported {{es}} version](https://www.elastic.co/support/eol) (7.17.x and above). * Your cluster is on an [Enterprise self-managed license](https://www.elastic.co/subscriptions) or an [active self-managed trial](https://cloud.elastic.co/registration). * The agent you install for the connection is allowed to send metrics to {{ecloud}}. -* {applies_to}`eck: ga 3.3` Your ECK operator is on version 3.3.0 and above. +* {applies_to}`eck: ga 3.3` To install {{agent}} using ECK, your ECK operator is on version 3.3.0 and above. ## Connect to AutoOps [connect-to-autoops] @@ -73,10 +73,11 @@ Select one of the following methods to install {{agent}}: * **{{k8s}}** * **Docker** * **Linux** -* {applies_to}`eck: ga 3.3` **{{eck}} (ECK)** (recommended for ECK-managed {{es}} clusters) +* {applies_to}`eck: ga 3.3` **{{eck}} (ECK)** :::{note} -macOS is not a supported platform for installing {{agent}} to connect to AutoOps in a self-managed production environment. However, you can use macOS to [connect your local development cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md). +:applies_to: { eck: ga } +You can choose any installation method when connecting your ECK-managed cluster to AutoOps. However, for ECK version 3.3.0+, we recommend choosing **ECK** as your installation method for a more integrated experience. ::: :::{important} @@ -102,7 +103,7 @@ Depending on your selected installation method, you might have to provide some o With this authentication method, you need to create an API key to grant access to your cluster. Complete the following steps: - 1. Go to {{kib}} in your self-managed cluster. + 1. Go to {{kib}} in your {{es}} cluster. 2. Go to the **API keys** management page in the navigation menu or use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). 3. Select **Create API key**. 4. In the flyout, enter a name for your key and select **User API key**. @@ -147,7 +148,7 @@ Depending on your selected installation method, you might have to provide some o With this authentication method, you need the username and password of a user with the necessary privileges to grant access to your cluster. There are two ways to set up a user with these privileges: - * (Recommended) Go to {{kib}} in your self-managed cluster and then go to **Developer tools**. In **Console**, run the following command: + * (Recommended) Go to {{kib}} in your cluster and then go to **Developer tools**. In **Console**, run the following command: ```js POST /_security/role/autoops { @@ -339,7 +340,9 @@ By default, each cluster has a name made up of a string of characters, but you c To connect more clusters, repeat the steps to [connect to AutoOps](#connect-to-autoops). -If you don't need to change any of your [configuration settings](#configure-agent) for the additional clusters, you can skip ahead and reuse the same installation command if you used the {{k8s}}, Docker, or Linux methods, or apply the same `resourceSelector` label if you used the ECK method. +If you don't need to change any of your [configuration settings](#configure-agent) for the additional clusters, you can skip ahead and reuse the same installation command if you used the {{k8s}}, Docker, or Linux installation methods. + +{applies_to}`eck: ga 3.3`If you used ECK as your installation method, you can skip ahead and apply the same `resourceSelector` label to any additional clusters. Remember that you must install a separate, dedicated {{agent}} for each cluster. You only need to install the agent once per cluster. diff --git a/deploy-manage/monitor/autoops/ec-autoops-faq.md b/deploy-manage/monitor/autoops/ec-autoops-faq.md index 8660164390..f105639fb5 100644 --- a/deploy-manage/monitor/autoops/ec-autoops-faq.md +++ b/deploy-manage/monitor/autoops/ec-autoops-faq.md @@ -17,7 +17,7 @@ navigation_title: FAQ # AutoOps FAQ [ec-autoops-faq] -Whether you are using AutoOps in your [{{ech}} deployment](/deploy-manage/monitor/autoops/ec-autoops-how-to-access.md), [{{serverless-short}} project](/deploy-manage/monitor/autoops/autoops-for-serverless.md), or [self-managed cluster](/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md), find answers to some common questions about it on this page. +Whether you are using AutoOps in your [{{ech}} deployment](/deploy-manage/monitor/autoops/ec-autoops-how-to-access.md), [{{serverless-short}} project](/deploy-manage/monitor/autoops/autoops-for-serverless.md), or [ECE, ECK, or self-managed cluster](/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md), find answers to some common questions about it on this page. **General AutoOps questions** * [What does AutoOps do?](#what-is-autoops) @@ -27,26 +27,26 @@ Whether you are using AutoOps in your [{{ech}} deployment](/deploy-manage/monito * [How is AutoOps licensed?](#autoops-license) * [Does AutoOps monitor the entire {{stack}}?](#autoops-monitoring) * [Can AutoOps automatically resolve issues?](#autoops-issue-resolution) -* [Which versions of {{es}} are supported in AutoOps for {{ech}} and self-managed clusters?](#autoops-supported-versions) +* [Which versions of {{es}} are supported in AutoOps for {{ech}} and ECE, ECK, and self-managed clusters?](#autoops-supported-versions) * [How long does Elastic retain AutoOps data?](#autoops-data-retention) * [Where are AutoOps metrics stored, and does AutoOps affect customer ECU usage?](#autoops-metrics-storage) * [Has AutoOps replaced Stack Monitoring?](#autoops-vs-stack-monitoring) -**Questions about AutoOps for self-managed clusters** -* [Does AutoOps for self-managed clusters incur additional costs?](#additional-payment) +**Questions about AutoOps for ECE, ECK, or self-managed clusters** +* [Does AutoOps for ECE, ECK, or self-managed clusters incur additional costs?](#additional-payment) * [Does shipping metrics data to {{ecloud}} incur additional costs?](#autoops-metrics-cost) * [Which deployment types can be connected to AutoOps through Cloud Connect?](#deployment-types) -* [Do I have to do any maintenance when using AutoOps for self-managed clusters?](#maintenance) +* [Do I have to do any maintenance when using AutoOps for ECE, ECK, or self-managed clusters?](#maintenance) -**Setting up AutoOps for self-managed clusters** +**Setting up AutoOps for ECE, ECK, or self-managed clusters** * [Can I use Cloud Connect to connect my {{ech}} clusters to AutoOps?](#cc-autoops-ech) -* [Can I use macOS to set up AutoOps for my self-managed clusters?](#macos-install) +* [Can I use macOS to set up AutoOps for my ECE, ECK, or self-managed clusters?](#macos-install) * [Do I have to define an Elastic IP address to enable the agent to send data to {{ecloud}}?](#elastic-ip-address) * [Do I have to install {{agent}} separately for each node in my cluster?](#agent-nodes) * [Do I have to re-run the installation wizard to connect more clusters?](#connect-more-clusters) -**Collected metrics and data in AutoOps for self-managed clusters** -* [Where are metrics stored in AutoOps for self-managed clusters?](#sm-autoops-metrics-storage) +**Collected metrics and data in AutoOps for ECE, ECK, or self-managed clusters** +* [Where are metrics stored in AutoOps for ECE, ECK, or self-managed clusters?](#sm-autoops-metrics-storage) * [What information does {{agent}} gather from my cluster?](#extracted-info) * [How does AutoOps gather data from my cluster and ensure its security?](#data-gathering) * [Can I view the data gathered by {{agent}}?](#data-viewing-config) @@ -77,7 +77,7 @@ $$$autoops-monitoring$$$**Does AutoOps monitor the entire {{stack}}?** $$$autoops-issue-resolution$$$**Can AutoOps automatically resolve issues?** : AutoOps only analyzes metrics and is a read-only solution. -$$$autoops-supported-versions$$$**Which versions of {{es}} are supported in AutoOps for {{ech}} and self-managed clusters?** +$$$autoops-supported-versions$$$**Which versions of {{es}} are supported in AutoOps for {{ech}} and ECE, ECK, and self-managed clusters?** : AutoOps is compatible with [supported {{es}} versions](https://www.elastic.co/support/eol) (7.17.x and above). $$$autoops-data-retention$$$**How long does Elastic retain AutoOps data?** @@ -89,9 +89,9 @@ $$$autoops-metrics-storage$$$**Where are AutoOps metrics stored, and does AutoOp $$$autoops-vs-stack-monitoring$$$**Has AutoOps replaced Stack Monitoring?** : Currently, AutoOps has many of the same features as Stack Monitoring as well as several new ones. However, it only provides insights on {{es}} and analyzes metrics, not logs. Read more in [](/deploy-manage/monitor/autoops-vs-stack-monitoring.md). -## Questions about AutoOps for self-managed clusters +## Questions about AutoOps for ECE, ECK, or self-managed clusters -$$$additional-payment$$$ **Does AutoOps for self-managed clusters incur additional costs?** +$$$additional-payment$$$ **Does AutoOps for ECE, ECK, or self-managed clusters incur additional costs?** : :::{include} /deploy-manage/_snippets/autoops-cc-payment-faq.md ::: @@ -103,17 +103,17 @@ $$$autoops-metrics-cost$$$ **Does shipping metrics data to {{ecloud}} incur addi $$$deployment-types$$$ **Which deployment types can be connected to AutoOps through Cloud Connect?** : You can connect to AutoOps on a standalone {{stack}}, ECE ({{ece}}), or ECK ({{eck}}) deployment, both on-premise and in private cloud environments. -$$$maintenance$$$ **Do I have to do any maintenance when using AutoOps for self-managed clusters?** +$$$maintenance$$$ **Do I have to do any maintenance when using AutoOps for ECE, ECK, or self-managed clusters?** : AutoOps is a cloud service, so you don't need to upgrade it yourself. However, we recommend keeping {{agent}} upgraded to the latest version so you can access new features and fixes. -### Setting up AutoOps for self-managed clusters +### Setting up AutoOps for ECE, ECK, or self-managed clusters $$$cc-autoops-ech$$$ **Can I use Cloud Connect to connect my {{ech}} clusters to AutoOps?** : :::{include} /deploy-manage/_snippets/autoops-cc-ech-faq.md ::: -$$$macos-install$$$ **Can I use macOS to install {{agent}} to connect my self-managed cluster to AutoOps?** -: No, macOS is not a supported platform for installing {{agent}} and connecting a self-managed cluster to AutoOps. Refer to [Install agent](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md#install-agent) for a list of supported platforms. You can use macOS to [connect your local development cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md). +$$$macos-install$$$ **Can I use macOS to install {{agent}} to connect my ECE, ECK, or self-managed cluster to AutoOps?** +: No, macOS is not a supported platform for installing {{agent}} and connecting an ECE, ECK, or self-managed cluster to AutoOps. Refer to [Install agent](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md#install-agent) for a list of supported platforms. You can use macOS to [connect your local development cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md). $$$elastic-ip-address$$$ **Do I have to define an Elastic IP address to enable the agent to send data to {{ecloud}}?** : You may need to define an IP address if your organization’s settings will block the agent from sending out data. @@ -123,14 +123,14 @@ $$$elastic-ip-address$$$ **Do I have to define an Elastic IP address to enable t : For more information, refer to [](/deploy-manage/security/elastic-cloud-static-ips.md). $$$agent-nodes$$$ **Do I have to install {{agent}} separately for each node in my cluster?** -: No, to run AutoOps in your self-managed environment, you only have to install the agent once per cluster. +: No, to run AutoOps in your ECE, ECK, or self-managed environment, you only have to install the agent once per cluster. $$$connect-more-clusters$$$**Do I have to re-run the installation wizard to connect more clusters?** : Not necessarily. Refer to [Connect additional clusters](../autoops/cc-connect-self-managed-to-autoops.md#connect-additional-clusters) for more information. -### Collected metrics and data in AutoOps for self-managed clusters +### Collected metrics and data in AutoOps for ECE, ECK, or self-managed clusters -$$$sm-autoops-metrics-storage$$$ **Where are metrics stored in AutoOps for self-managed clusters?** +$$$sm-autoops-metrics-storage$$$ **Where are metrics stored in AutoOps for ECE, ECK, or self-managed clusters?** : You can choose where to store your metrics from the following AWS regions: :::{include} ../_snippets/autoops-cc-regions.md From c4784e9932de98ab870cff17b7f557bae5cdb036 Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Thu, 29 Jan 2026 18:48:08 -0500 Subject: [PATCH 10/13] fix links --- .../monitor/autoops/autoops-sm-troubleshoot-firewalls.md | 2 +- .../monitor/autoops/cc-autoops-as-cloud-connected.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-firewalls.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-firewalls.md index 2d289ce525..6a28c9d89d 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-firewalls.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-firewalls.md @@ -24,7 +24,7 @@ Ensure that you have allowed {{agent}} the required level of access. If the prob ## Test {{agent}}'s connection with your system -There are [three main components](/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md#how-your-self-managed-cluster-connects-to-autoops) of {{agent}}'s connection with your system: +There are [three main components](/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md#how-your-cluster-connects-to-autoops) of {{agent}}'s connection with your system: :::{include} /deploy-manage/monitor/_snippets/autoops-cc-components.md ::: diff --git a/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md b/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md index fbe71fcd23..887e97c298 100644 --- a/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md +++ b/deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md @@ -24,7 +24,7 @@ To connect your ECE, ECK, or self-managed cluster to AutoOps, you have to use yo ::: :::{image} /deploy-manage/images/self-managed-autoops-diagram.png -:alt: Diagram depicting how AutoOps for self-managed clusters works +:alt: Diagram depicting how AutoOps for ECE, ECK, and self-managed clusters works ::: For instructions on how to get started, refer to [](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md). @@ -35,11 +35,11 @@ After this setup is complete, you can start using AutoOps to monitor your cluste In this section, you'll find the following information: -* How to [connect your self-managed cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md) +* How to [connect your ECE, ECK, or self-managed cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md) * How to [connect your local development cluster to AutoOps](/deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md) * How to [manage users of your connected clusters](/deploy-manage/monitor/autoops/cc-manage-users.md) * A [troubleshooting guide](/deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md) to help you with any issues you may encounter :::{tip} -Refer to our [FAQ](/deploy-manage/monitor/autoops/ec-autoops-faq.md#questions-about-autoops-for-self-managed-clusters) for answers to frequently asked questions about AutoOps for self-managed clusters. +Refer to our [FAQ](/deploy-manage/monitor/autoops/ec-autoops-faq.md#questions-about-autoops-for-ece-eck-or-self-managed-clusters) for answers to frequently asked questions about AutoOps for ECE, ECK, or self-managed clusters. ::: \ No newline at end of file From a986b5d9daceb19e8fd63a226782810f397e47ec Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Thu, 29 Jan 2026 19:06:35 -0500 Subject: [PATCH 11/13] michael review --- .../autoops/autoops-sm-troubleshoot-eck-no-clusters.md | 8 +++++++- .../monitor/autoops/cc-connect-self-managed-to-autoops.md | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index f5f47fcc2b..062804bfe0 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -23,6 +23,12 @@ Run the following command. kubectl get autoopsagentpolicy ``` If the policy doesn't appear, there was an issue with its creation. + +If the policy appears, run the following command to check its status and any associated events. + +```shell +kubectl describe autoopsagentpolicy +``` :::: ::::{step} Confirm the issue by checking logs @@ -56,7 +62,7 @@ If no deployments appear, there might be an issue with the `resourceSelector` la ::::{step} Check cluster labels and agent pods If no deployments appeared in the previous step, run the following command to check your cluster labels. ```shell -kubectl get elasticsearch --show-labels +kubectl get elasticsearch --show-labels ``` Make sure that the label you applied in the [Launch AutoOps](../autoops/cc-connect-self-managed-to-autoops.md#launch-autoops) step of the wizard appears correctly in the list. diff --git a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md index daf2ad6015..410d5f7370 100644 --- a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md +++ b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md @@ -306,7 +306,7 @@ The agent detects which {{es}} clusters to monitor based on the correct `resourc Use the following command to apply the `resourceSelector` label to every cluster you want to connect. This code assumes your label is `autoops=enabled`. ```js - kubectl -n {{namespace}} label elasticsearch autoops=enabled + kubectl -n {{namespace}} label elasticsearch autoops=enabled ``` :::{note} The agent runs in the namespace chosen for the policy. However, the agent can detect {{es}} clusters throughout the {{k8s}} environment regardless of where they are installed. @@ -360,7 +360,7 @@ Complete the following steps to disconnect your cluster from your Cloud organiza :applies_to: { eck: ga 3.3 } If your chosen installation method is ECK, you can also disconnect a cluster by removing your `resourceSelector` label from it. Run the following command: ```js - kubectl -n {{namespace}} label elasticsearch autoops- + kubectl -n {{namespace}} label elasticsearch autoops- ``` ::: From e8f80fd97b7b0ece06048a0449c8f988bac7f582 Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Mon, 2 Feb 2026 11:21:06 -0500 Subject: [PATCH 12/13] more clarification --- .../autoops/autoops-sm-troubleshoot-eck-no-clusters.md | 2 +- .../monitor/autoops/cc-connect-self-managed-to-autoops.md | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 062804bfe0..3a997caadf 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -1,7 +1,7 @@ --- applies_to: deployment: - eck: + eck: ga 3.3 navigation_title: Connected clusters not appearing with ECK products: - id: cloud-kubernetes diff --git a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md index 410d5f7370..cfcd576817 100644 --- a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md +++ b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md @@ -340,9 +340,7 @@ By default, each cluster has a name made up of a string of characters, but you c To connect more clusters, repeat the steps to [connect to AutoOps](#connect-to-autoops). -If you don't need to change any of your [configuration settings](#configure-agent) for the additional clusters, you can skip ahead and reuse the same installation command if you used the {{k8s}}, Docker, or Linux installation methods. - -{applies_to}`eck: ga 3.3`If you used ECK as your installation method, you can skip ahead and apply the same `resourceSelector` label to any additional clusters. +If you don't need to change any of your [configuration settings](#configure-agent) for the additional clusters, you can skip ahead and reuse the same installation command if you used the {{k8s}}, Docker, or Linux methods, or apply the same `resourceSelector` label if you used the ECK method. Remember that you must install a separate, dedicated {{agent}} for each cluster. You only need to install the agent once per cluster. From eeb5c546388a67dddd69157de924c1da556aa7d7 Mon Sep 17 00:00:00 2001 From: wajihaparvez Date: Mon, 2 Feb 2026 15:56:16 -0500 Subject: [PATCH 13/13] Add helm instructions --- .../managing-deployments-using-helm-chart.md | 18 ++++++++++++++++++ .../autoops-sm-troubleshoot-eck-no-clusters.md | 2 +- .../cc-connect-self-managed-to-autoops.md | 13 +------------ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/deploy-manage/deploy/cloud-on-k8s/managing-deployments-using-helm-chart.md b/deploy-manage/deploy/cloud-on-k8s/managing-deployments-using-helm-chart.md index 291ff1bdcf..82e6e7d669 100644 --- a/deploy-manage/deploy/cloud-on-k8s/managing-deployments-using-helm-chart.md +++ b/deploy-manage/deploy/cloud-on-k8s/managing-deployments-using-helm-chart.md @@ -84,6 +84,24 @@ helm install eck-stack-with-apm-server elastic/eck-stack \ --values https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{version.eck | M.M}}/deploy/eck-stack/examples/apm-server/basic.yaml -n elastic-stack ``` +## AutoOps along with {{es}} [k8s-install-autoops-elasticsearch-helm] + +```{applies_to} + eck: ga 3.3 +``` + +Use the following code to connect your ECK-managed {{es}} clusters to [AutoOps](../../monitor/autoops.md) using Helm. + +```sh subs=true +# Install an eck-managed {{es}} cluster and connect to AutoOps using custom values. +helm install eck-stack-with-autoops elastic/eck-stack \ + --values https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{version.eck | M.M}}/deploy/eck-stack/examples/autoops/basic.yaml -n elastic-stack +``` + +The `eck-autoops-agent-policy` chart creates an `AutoOpsAgentPolicy` resource that connects your {{es}} clusters to AutoOps. The ECK operator handles the creation of API keys, agent configuration, and the deployment of {{agent}} required to send metrics to AutoOps. + +To connect to AutoOps using the installation wizard, refer to [](../../monitor/autoops/cc-connect-self-managed-to-autoops.md). + ## Enterprise Search server along with {{es}} and {{kib}} [k8s-install-enterprise-search-elasticsearch-kibana-helm] Enterprise Search is not available in {{stack}} versions 9.0 and later. For an example deployment of {{es}} version 8.x, {{kib}} 8.x, and an 8.x Enterprise Search server using the Helm chart, refer to the [previous ECK documentation](https://www.elastic.co/guide/en/cloud-on-k8s/2.16/k8s-stack-helm-chart.html). diff --git a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md index 3a997caadf..59d207d792 100644 --- a/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md +++ b/deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md @@ -9,7 +9,7 @@ products: # Troubleshoot connected clusters not appearing with ECK installation -If you chose ECK as your installation method in the wizard to connect your {{es}} clusters to AutoOps, but you can't view any connected clusters in your account, go through this guide to diagnose and fix common issues. +If you are using the ECK installation method (`AutoOpsAgentPolicy` resource) to connect your {{es}} clusters to AutoOps, but you can't view any connected clusters in your account, go through this guide to diagnose and fix common issues. ## Verify `AutoOpsAgentPolicy` status diff --git a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md index cfcd576817..83035b8059 100644 --- a/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md +++ b/deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md @@ -207,18 +207,7 @@ $$$firewall-allowlist$$$ ### Install agent -The wizard generates an installation command or a YAML manifest based on your configuration. Depending on your installation method, the following formats are available: - -* {{k8s}} - * YAML -* Docker - * Docker - * Docker compose -* Linux -* {applies_to}`eck: ga 3.3` ECK - * YAML - -Complete the following steps to install the agent: +The wizard generates an installation command or a YAML manifest based on your configuration. Depending on your installation method, complete the following steps to install the agent: :::::{tab-set} :group: installation-eck-or-other