# The AAD status UI

## Overview

The AAD status UI provides details on the technical state of the AAD. It can be used to retrieve information about scheduling progress, possible errors, the ML models selected and job statistics.

## When to use the AAD status UI

Common questions that can be answered in the AAD status UI:

**Is the AAD Kubernetes service running?** If the status UI is accessible: The service is running. If the status UI isn't available: Either the service isn't running, or the Ingress hasn't been configured (See the install section).

**Can the AAD Kubernetes service reach StackState?** Check the status UI sections **Top errors** and **Last stream polling results**. Errors here usually indicate connection problems.

**Has the AAD Kubernetes service selected metric streams for anomaly detection?** The status UI section **Anomaly Detection Summary** shows the total time of all registered streams, if no streams are selected it will be zero.

**Is the AAD Kubernetes service detecting anomalies?** The status UI section **Top Anomalous Streams** shows the streams with the highest number of anomalies. No streams in this section means that no anomalies have been detected. The status UI section **Anomaly Detection Summary** shows other relevant metrics, such as total time of all registered streams, total checked time and total time of all anomalies detected.

**Is the AAD Kubernetes service scheduling streams?** The status UI tab **Job Progress** shows a ranked list of streams with scheduling progress, including the last time each stream was scheduled.

## Access the status UI

### Proxy

To access the status UI by proxy, run kubectl proxy:

```
$ kubectl proxy
```

The UI will be accessible at the URL:

```
http://localhost:8001/api/v1/namespaces/<namespace>/services/http:<release-name>-anomaly-detection:8090/proxy/
```

### Ingress

For more permanent accessibility, the status UI can also be exposed using ingress configuration. The example below shows how to configure an nginx-ingress controller.

{% tabs %}
{% tab title="values.yaml" %}

```
# status UI ingress (the configuration below is example for nginx ingress controller)
ingress:
    enabled: true
    hostname: <domain name> # for example, spotlight.domain.com
    port: 8090              # status page will be available on spotlight.domain.com:8090
    annotations:
        external-dns.alpha.kubernetes.io/hostname: <domain name> # for example, spotlight.domain.com
        kubernetes.io/ingress.class: nginx
        nginx.ingress.kubernetes.io/ingress.class: nginx
    hosts:
        - host: <domain name>  # for example, spotlight.domain.com
```

{% endtab %}
{% endtabs %}

Setting up the controller itself is beyond the scope of this document. More information about how to set up Ingress can be found at:

* [AKS (learn.microsoft.com)](https://learn.microsoft.com/en-us/azure/aks/ingress-tls?tabs=azure-cli)
* Not using nginx - [EKS Official docs (docs.aws.amazon.com)](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html)
* Using nginx - [EKS blog post (aws.amazon.com)](https://aws.amazon.com/blogs/opensource/network-load-balancer-nginx-ingress-controller-eks/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://archivedocs.stackstate.com/5.1/configure/anomaly-detection/aad-status-ui.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
