---
title: Perform health checks on PingIntelligence Dashboard
description: This section discusses the commands that can be used to check the health status of PingIntelligence Dashboard and its components.
component: pingintelligence
version: 5.1
page_id: pingintelligence:pingintelligence_monitoring_guide:pingintelligence_health_check_dashboard
canonical_url: https://docs.pingidentity.com/pingintelligence/5.1/pingintelligence_monitoring_guide/pingintelligence_health_check_dashboard.html
revdate: March 29, 2024
section_ids:
  dashboard-data-engine: Dashboard data engine
  web-gui: Web GUI
  elasticsearch: Elasticsearch
  kibana: Kibana
---

# Perform health checks on PingIntelligence Dashboard

This section discusses the commands that can be used to check the health status of PingIntelligence Dashboard and its components.

## Dashboard data engine

* **Status command**

  This command shows the status of the dashboard process.

  ```shell
  $ ./bin/cli.sh status
  ```

  It returns the status as Running or Not Running.

* **Process status**

  If the dashboard data engine is running as a `systemctl` service, use the following command to check the status of the service.

  ```shell
  $ systemctl status pi-data-engine
  ```

* **Check dashboard log file for errors or exceptions**

  To detect the connectivity issues between dashboard data engine and ABS or Elasticsearch verify the `/pingidentity/dataengine/logs/admin/dataengine.log` file.

  ```shell
  $ tail logs/admin/dataengine.log
  ```

## Web GUI

* **Health check URL**

  The following URL provides a `200 OK` response if WebGUI component is up and running. You can use curl command or browser to check the status.

  ```
  https://<WebGUI Hostname/IP>:<port>/status
  ```

  ```shell
  $ curl -k -o /dev/null -s -w "%{http_code}\n" https://<webgui>:8030/status
  200
  ```

* **Status command**

  The following command shows the status of the WebGUI process.

  ```shell
  $ ./bin/cli.sh status
  ```

* **Process status**

  If the WebGUI is running as a` systemctl` service, use the following command to check the status of the service.

  ```shell
  $ systemctl status pi-webgui.service
  ```

* **Check WebGUI admin log file for errors or exceptions**

  To detect the connectivity issues between WebGUI and ABS or Elasticsearch verify the`/pingidentity/webgui/admin/logs/ admin.log` file.

  ```shell
  $ tail logs/admin/admin.log
  ```

## Elasticsearch

* **Health check URL**

  There are three ways to check the health of Elasticsearch using a health check URL

  * Using anonymous access - To enable access for anonymous user, add the following line to the`elasticsearch.yaml`.

    ```
    xpack.security.authc.anonymous.roles: monitoring_user
    ```

    You can update this during initial setup or later. You must restart Elasticsearch if you are making the change on a running instance. After updating the `elasticsearch.yaml` hit the following URL to check the status of Elasticsearch. You can use curl command or browser. A `200 OK` response indicates a running Elasticsearch.

    ```
    https://<Elasticsearch Hostname/IP>:9200/
    ```

    ```shell
    $ curl -k -o /dev/null -s -w "%{http_code}\n" https://<Elasticsearch Hostname/IP>:9200/
    ```

  * Using a health check user- Add a health check user to Elasticsearch using the following command.

    ```shell
    curl -u elastic:<elastic user password> -k -X POST "https://localhost:9200/_xpack/security/user/<health_check_user>?pretty" -H 'Content-Type: application/json' -d'
    {
      "password" : "<password for health_check_user>",
      "roles": ["monitoring_user"]
    }
    '
    ```

    After adding the health check user, hit the following URL to check the status of Elasticsearch. You can use curl command or browser. A `200 OK` response indicates a running Elasticsearch.

    ```
    https://<health_check_user>:<password>@<Elastcisearch hostname/IP>:9200/
    ```

    ```shell
    $ curl -k -o /dev/null -s -w "%{http_code}\n" https://<health_check_user>:<password>@<Elastcisearch hostname/IP>:9200/
    ```

    |   |                                                         |
    | - | ------------------------------------------------------- |
    |   | This approach doesn't require an Elasticsearch restart. |

  * Using Elasticsearch username and password - You can query the health status of Elasticsearch using the elastic user and its password to see a more comprehensive output, which also reports the state of the cluster. Use the following curl command.

    ```shell
    $ curl -XGET -k -H 'content-type: application/json; charset=UTF-8' -u "elastic:<password>" 'https://<elasticsearch hostname/IP>:9200/_cluster/health?pretty'
    ```

* **Process status**

  If Elasticsearch is running as a `systemctl` service, use the following command to check the status of the service.

  ```shell
  $ systemctl status pi-elasticsearch.service
  ```

* **Check Elasticsearch log for errors or exceptions**

  Verify the Elasticsearch log for any exceptions or errors.

  ```shell
  $ tail logs/elasticsearch.log
  ```

## Kibana

* **Health check URL**

  There are two ways to check the health of Kibana using a health check URL:

  * Using anonymous access - To enable access, add the following line to the`kibana.yaml`.

    ```
    status.allowAnonymous: true
    ```

    You can update this during initial setup or later. You must restart Kibana if you are making the change on a running instance. After updating the `kibana.yaml` hit the following URL to check the status. You can use curl command or browser. A `200 OK` response indicates a running Kibana instance.

    ```
    https://<Kibana Hostname/IP>:5601/pi/ui/dataengine/api/status
    ```

    ```shell
    $ curl -k -o /dev/null -s -w "%{http_code}\n" https://<Kibana Hostname/IP>:5601/pi/ui/dataengine/api/status
    ```

  * Using health check user - Add a health check user to Kibana with the following command

    ```shell
    curl -u elastic:<elastic user password> -k -X POST "https://localhost:9200/_xpack/security/user/<health_check_user>?pretty" -H 'Content-Type: application/json' -d'
    {
      "password" : "<password for health_check_user>",
      "roles": ["monitoring_user"]
    }
    '
    ```

    After adding the health check user, hit the following URL to check the status of Kibana. You can use curl command or browser. A `200 OK` response indicates a running Kibana.

    ```
    https://<health_check_user>:<password>@<Kibana hostname/IP>:5601/pi/ui/dataengine/api/status
    ```

    ```shell
    $ curl -k -o /dev/null -s -w "%{http_code}\n"https://<health_check_user>:<password>@<Kibana hostname/IP>:5601/pi/ui/dataengine/api/status
    ```

* **Process Status**

  If Kibana is running as a `systemctl` service, use to check the status of the service.

  ```shell
  $ systemctl status pi-kibana.service
  ```

* **Check Kibana log for errors or exceptions**

  Verify the Kibana log for any exceptions or errors.

  ```shell
  $ tail logs/kibana.log
  ```
