Automated issue surfacing (AIS) provides quick information about ongoing issues detected within
your Hybrid cluster. This information includes links to documentation for troubleshooting and
resolution. Automated issue surfacing only looks for known, common, system detectable issues and
cannot detect all the issues within a cluster.
Starting with Apigee hybrid v1.10, the Apigee runtime watcher component automatically scans the
control plane and Kubernetes API server state to determine if there are any configuration issues.
By default, the scanning happens every 60 seconds. You can change the interval or disable
scanning if you prefer.
When AIS detects an issue, it creates a new instance ofApigeeIssuewithin
the Kubernetes API server. These instances contain information about the issues and links to
documentation on the specific issues.
When you resolve issues, they will automatically be deleted from the Kubernetes API server when
the scanning determines they are no longer occurring.
Using Automated issue surfacing.
Check for any existing issues with thekubectl get apigeeissuescommand:
kubectl -nAPIGEE_NAMESPACEget apigeeissues
For example:
kubectl -nAPIGEE_NAMESPACEget apigeeissues
NAME SEVERITY AGE URLvhost-missing-eg-nonprodError 1hr https://cloud.google.com/apigee/docs/hybrid/MISSING_ENV_GROUPcontrol-plane-connectivity-failureError 1d https://cloud.google.com/apigee/docs/hybrid/OLD_TLS_VERSION
For more detailed information about a specific issue, use thekubectl describecommand with the issue name. The name must be preceded byapigeeissuesfor example:apigeeissuesvhost-missing-eg-nonprod.
By default, Watcher scans the control plane for issues once every 60 seconds. To change the
scan interval, specify the new interval in seconds with thewatcher.args.issueScanIntervalproperty in your overrides file. For example:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eAutomated Issue Surfacing (AIS) in Apigee hybrid v1.10 and later versions scans the control plane and Kubernetes API server for configuration issues, providing information and troubleshooting documentation links.\u003c/p\u003e\n"],["\u003cp\u003eAIS creates \u003ccode\u003eApigeeIssue\u003c/code\u003e instances in the Kubernetes API server upon detecting an issue, which are automatically removed once the issues are resolved.\u003c/p\u003e\n"],["\u003cp\u003eYou can check for existing issues using the \u003ccode\u003ekubectl get apigeeissues\u003c/code\u003e command, and retrieve more details about a specific issue with \u003ccode\u003ekubectl describe apigeeissues [issue-name]\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe default scan interval for AIS is 60 seconds, which can be changed by modifying the \u003ccode\u003ewatcher.args.issueScanInterval\u003c/code\u003e property in your overrides file.\u003c/p\u003e\n"],["\u003cp\u003eAIS can be completely disabled by setting the \u003ccode\u003ewatcher.args.enableIssueScanning\u003c/code\u003e property to \u003ccode\u003efalse\u003c/code\u003e in your overrides file.\u003c/p\u003e\n"]]],[],null,["# Automated issue surfacing\n\n| You are currently viewing version 1.11 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\nOverview\n--------\n\n\nAutomated issue surfacing (AIS) provides quick information about ongoing issues detected within\nyour Hybrid cluster. This information includes links to documentation for troubleshooting and\nresolution. Automated issue surfacing only looks for known, common, system detectable issues and\ncannot detect all the issues within a cluster.\n\nStarting with Apigee hybrid v1.10, the Apigee runtime watcher component automatically scans the\ncontrol plane and Kubernetes API server state to determine if there are any configuration issues.\nBy default, the scanning happens every 60 seconds. You can change the interval or disable\nscanning if you prefer.\n\nWhen AIS detects an issue, it creates a new instance of `ApigeeIssue` within\nthe Kubernetes API server. These instances contain information about the issues and links to\ndocumentation on the specific issues.\n\nWhen you resolve issues, they will automatically be deleted from the Kubernetes API server when\nthe scanning determines they are no longer occurring.\n\nUsing Automated issue surfacing.\n--------------------------------\n\nCheck for any existing issues with the `kubectl get apigeeissues` command: \n\n```\nkubectl -n APIGEE_NAMESPACE get apigeeissues\n```\n\nFor example: \n\n```\nkubectl -n APIGEE_NAMESPACE get apigeeissues\n\nNAME SEVERITY AGE URL\nvhost-missing-eg-nonprod Error 1hr https://cloud.google.com/apigee/docs/hybrid/MISSING_ENV_GROUP\ncontrol-plane-connectivity-failure Error 1d https://cloud.google.com/apigee/docs/hybrid/OLD_TLS_VERSION\n```\n\nFor more detailed information about a specific issue, use the `kubectl describe`\ncommand with the issue name. The name must be preceded by `apigeeissues` for example:\n`apigeeissues `**vhost-missing-eg-nonprod**. \n\n```\nkubectl -n APIGEE_NAMESPACE describe apigeeissues vhost-missing-eg-nonprod\n\nName: vhost-missing-eg-nonprod\nNamespace: apigee\nLabels: \nAnnotations: \nAPI Version: apigee.cloud.google.com/v1alpha1\nKind: ApigeeIssue\nMetadata:\n Creation Timestamp: 2022-08-25T20:41:56Z\n Managed Fields:\n API Version: apigee.cloud.google.com/v3\n Resource Version: 12345678\n UID: aaaaaaaa-bbbb-cccc-dddd-eeeeffffgggg\nSpec:\n Severity: Error\n Reason: MISSING_ENV_GROUP\n Details: Expected envgroup \"nonprod\" for ApigeeRouteConfig \"my-org-nonprod\"\n Documentation: https://cloud.google.com/apigee/docs/hybrid/MISSING_ENV_GROUP\n Ignore: false\n IgnoreReason:\nEvents: \n```\n\nChanging the scan interval\n--------------------------\n\nBy default, Watcher scans the control plane for issues once every 60 seconds. To change the\nscan interval, specify the new interval in seconds with the\n[`watcher.args.issueScanInterval`](/apigee/docs/hybrid/v1.11/config-prop-ref#watcher-args-issuescaninterval)\nproperty in your overrides file. For example: \n\n```\nwatcher:\n args:\n issueScanInterval: 120\n```\n\n\nApply the configuration.\n\n### Helm\n\nUpgrade the `apigee-env` chart for each Apigee environment. \n\n```\nhelm upgrade $ORG_NAME apigee-org/ \\\n --namespace APIGEE_NAMESPACE \\\n -f OVERRIDES_FILE\n```\n\n### `apigeectl`\n\nApply the change to all environments. \n\n```\napigeectl apply -f OVERRIDES_FILE --org\n```\n\nDisabling automated issue surfacing\n-----------------------------------\n\nYou can disable Automated issue surfacing by setting the\n[`watcher.args.enableIssueScanning`](/apigee/docs/hybrid/v1.11/config-prop-ref#watcher-args-enableissuescanning)\nproperty to `false` in your overrides file. For example: \n\n```\nwatcher:\n args:\n enableIssueScanning: false\n```\n\n\nApply the configuration.\n\n### Helm\n\nUpgrade the `apigee-env` chart for each Apigee environment. \n\n```\nhelm upgrade $ORG_NAME apigee-org/ \\\n --namespace APIGEE_NAMESPACE \\\n -f OVERRIDES_FILE\n```\n\n### `apigeectl`\n\nApply the change to all environments. \n\n```\napigeectl apply -f OVERRIDES_FILE --org\n```\n\nRelated troubleshooting guides\n------------------------------\n\nAutomated issue surfacing can provide links directly to the troubleshooting guides, including:\n\n- [No network\n connectivity between runtime plane and control plane](/apigee/docs/api-platform/troubleshoot/playbooks/no-network-connectivity)\n- [Virtual host\n missing environment group](/apigee/docs/api-platform/troubleshoot/playbooks/vh-missing-env-group)\n- [Virtual host\n missing selector](/apigee/docs/api-platform/troubleshoot/playbooks/vh-missing-selector)\n- [Ingress\n cert mismatch](/apigee/docs/api-platform/troubleshoot/playbooks/ingress-cert-mismatch)\n- [Ingress\n cert expiry](/apigee/docs/api-platform/troubleshoot/playbooks/ingress-cert-expiry)\n- [Ingress mTLS CA\n cert expiry](/apigee/docs/api-platform/troubleshoot/playbooks/ca-cert-expiry)\n- [Ingress mTLS CA\n cert invalid](/apigee/docs/api-platform/troubleshoot/playbooks/ca-cert-invalid)\n\nSee [Introduction to Apigee X\nand Apigee hybrid playbooks](/apigee/docs/api-platform/troubleshoot/playbooks/introduction) for an overview and list of Apigee troubleshooting guides."]]