docs/sources/operations/loki-ui/_index.md
{{< admonition type="warning" >}} The Loki Deployment UI is experimental and subject to change. Before attempting to deploy the Loki UI, make sure to consult the Considerations section. {{< /admonition >}}
The Loki Deployment UI is a web-based user interface that allows you to manage and monitor a Loki deployment in microservice mode or single binary mode.
{{< figure max-width="100%" src="/media/docs/loki/loki-ui.png" caption="Loki UI Home Page" >}}
The Loki Deployment UI is experimental and subject to change. Before attempting to deploy the Loki make sure to consult the following considerations:
Each Loki component now includes the UI service.
When running Loki as a docker container, the UI service is enabled by default. No additional configuration is required.
For Loki Helm users discoverability of the UI service needs to be enabled in the Loki configuration. To enable the UI discoverability, add the following paramter to the loki section of the values.yaml file:
loki:
ui:
enabled: true
The Loki Deployment UI is available at the following URL:
http://<LOKI_HOST>:<LOKI_PORT>/ui
Where <LOKI_HOST> is the hostname or IP address of the Loki server and <LOKI_PORT> is the port number that Loki is running on. By default, Loki runs on port 3100. If you are running Loki in Kubernetes the UI is made accessible via the loki-gateway service. Either by port-forwarding or by exposing the service via a LoadBalancer.
{{< admonition type="caution" >}}
Currently /ui cannot be changed to another path. This would require further contributions to the code base.
{{< /admonition >}}
The Loki Deployment UI provides the following features to manage and monitor a Loki deployment:
| Feature | Description | Readyness |
|---|---|---|
| Nodes | Displays the status of each Loki component deployed | Ready |
| Rollouts & Versions | A historic view of previous deployments | Coming Soon |
| Rings | Displays the status of the ring members | Ready |
| Object Storage | Displays the status of the object storage | Coming Soon |
| Data Objects | The Data Objects Explorer allows you to explore the data objects in the cluster. | Coming Soon |
| Analyze Labels | Analyze label distribution across your log streams | Ready |
| Deletes | View and manage delete requests | Ready |
| Limits | View and manage tenant limits | Coming Soon |
| Labels | View Label stats | Coming Soon |
| Rules | View and manage rules | Coming Soon |
The Nodes page displays the status of each Loki component deployed. Depending on the deployment mode, each component will either be considered a node or a service. Below is a screenshot of the Nodes table for a microservices deployment:
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-nodes.png" caption="Loki UI Nodes Table" >}}
The Node table provides the following columns:
ready state for the component to be considered ready. Othetwise the component will be considered not ready. Not ready status will usually display a red icon and an error message.The Node page provides detailed information about the component. The orginal information from the Nodes table is displayed at the top of the page. There will also be an extended fields useful for debugging and monitoring such as; Version, Created, Edition, Architecture, and OS.
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-node-metadata.png" caption="Loki UI Node Page" >}}
Below the metadata section, there are two tools for monitoring a the specific component:
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-monitoring-tools.png" caption="Loki UI Node Tools" >}}
Finally, three tabs complete the Node page:
{{< admonition type="note" >}}
This feature is coming soon.
{{< /admonition >}}
Rings section of the Loki UI provides a view of the status of the ring members. There can be a total of 5 rings in a Loki deployment. Each ring is responsible for a specific task. Note that not all rings will be present in a deployment, this is dependent on how you have configured your Loki deployment. For example Index Gateway and Query Scheduler both require explicit configuration to be enabled.
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-ring.png" caption="Loki UI Rings Table" >}}
The Ring table provides the following columns:
ACTIVE, UNHEALTHY, LEAVING, etc.{{< admonition type="note" >}}
This feature is coming soon.
{{< /admonition >}}
{{< admonition type="note" >}}
This feature is coming soon.
{{< /admonition >}}
Analyze Labels page allows you to analyze label distribution across your log streams within a given tenant and timerange. This feature is useful for understanding label cardinality. The tool can be broken down into three sections:
Analyze Labels: This provides a forum for entering your Tenant ID, Time Range and any Matchers you would like to apply. In the below example the Tennant ID is set to meta and the Time Range is set to 1h. The Matchers field is empty.
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-analyze-labels.png" caption="Loki UI Analyze Labels" >}}
Note that if you are using Loki in single binary mode, or have disabled the auth_enabled paramater in the Loki config then the Tenant ID will be fake.
Label Distribution: This provides a visual representation of the label distribution. The labels are displayed in a bar chart:
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-analyze-labels-bar.png" caption="Loki UI Analyze Labels Pie Chart" >}}
In this example there are a total of 11 unique lables with instance containing the most unique values at 22. This is a label to closely monitor as it could be a high cardinality label.
Label Details: This provides a table view of the labels and a sample of their unique values. Each label can be expanded to view the unique values.
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-analyze-labels-table.png" caption="Loki UI Analyze Labels Table" >}}
In Label Distribution example above, the instance label has 22 unique values. By expanding the instance label in the Label Details table a sample of the unique values can be viewed. There are a considerable amount of unique tokens within an instance value such as frontend-59b8c46fcb-ft29z. Based on the labels best practices this should be moved into Structured metadata.
The Deletes page allows you to view scheduled compactor deletes as well as manually delete data.
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-deletes.png" caption="Loki UI Deletes" >}}
The Deletes table provides the following columns:
To create a new delete request, click the New Delete Request button. This will open a forum where you can enter the Tenant ID, Time Range, and Query for the delete request.
{{< figure max-width="100%" src="/media/docs/loki/loki-ui-new-delete-request.png" caption="Loki UI New Delete Request" >}}
{{< admonition type="note" >}}
This feature is coming soon.
{{< /admonition >}}
{{< admonition type="note" >}}
This feature is coming soon.
{{< /admonition >}}
{{< admonition type="note" >}}
This feature is coming soon.
{{< /admonition >}}