# Service Health Dashboard

This document describes the built in service health dashboard that is part of <code class="expression">space.vars.product\_name</code>.

## What is Service Health Dashboard

<code class="expression">space.vars.product\_name</code> UI comes with a service health dashboard that is designed to provide overall health information for various backend services that run as part of a <code class="expression">space.vars.product\_name</code> setup.

## How to Access the Dashboard

1. Navigate to the top right corner in the <code class="expression">space.vars.product\_name</code> UI.
2. Click on the heart icon right next to the settings icon, highlighted in the image below.

<figure><img src="https://content.gitbook.com/content/SNWOoFOMzRblbHdwmlrR/blobs/RstFdS1Gs64AU6Z5jWG0/msjz35qlu06g6xcj5zbzhqapqhiufdpwq38veaau97ffzjmx1y4plu8ib24504tj.png" alt=""><figcaption></figcaption></figure>

3. This will take you to the service health dashboard.

## Service Health Details

The dashboard reports on:

1. Health of specific <code class="expression">space.vars.product\_name</code> services. This is under the `Service Health` tab. Following services are covered under this:
   1. Compute Service
   2. Block Storage Service
   3. Image Library Service
   4. Networking Service
2. Health of individual hosts running in your <code class="expression">space.vars.product\_name</code> setup. This is under `Host Health` tab.

### Compute Service Health

Compute service health is calculated using the following logic:

* If => 50% of all host with hypervisor role assigned are in `unhealthy` state, the service is reported to be `unhealthy`
* If > 25% but < 50% of all hosts with hypervisor role assigned are in `unhealthy` state, the service is reported to be in `warning` state
* If <= 25% of all hosts with hypervisor role assigned are in `offline` state, the service is reported to be in `healthy` state

Individual host level health status is calculated using the following logic:

* If the [Host States](https://docs.platform9.com/private-cloud-director/virtualized-clusters/add-hosts-virtualized-cluster#host-states) value is not `ok` then `unhealthy`.
* If the host state value is `ok`, then:
  * If the host is in maintenance mode, then `warning`, else
  * If Compute Service health status for this host is ok, then `healthy`
  * Else `unhealthy`

The compute service health status value at the host level is gathered using this command:

{% tabs %}
{% tab title="Bash" %}

```bash
pcdctl compute service list --service nova-compute
```

{% endtab %}
{% endtabs %}

## Image Library Service Health

Image library service health value may have one of the following values:

* NetworkError - If the <code class="expression">space.vars.product\_name</code> has trouble connecting with the Image Library service, this error value is reported.
* Unhealthy - If the <code class="expression">space.vars.product\_name</code> management plane can connect with the Image Library service, but the service API is unresponsive, this status value is reported.
* Healthy - If the <code class="expression">space.vars.product\_name</code> is able to connect with the Image Library Service, and the service API is responding, the service health is reported as `Healthy`.

## Block Storage Service Health

Block storage service health value may have one of the following values:

* Unhealthy - If the block storage service health status for the host is unhealthy, then this value is reported
* Healthy - If the block storage service health status for the host is healthy, then this value is reported

## Network Service Health

Network service health value may have one of the following values:

* Unhealthy - If the network service health status for the host is unhealthy, then this value is reported
* Healthy - If the network service health status for the host is healthy, then this value is reported


---

# 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://docs.platform9.com/private-cloud-director/monitoring-and-observability/service-health-dashboard.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.
