PingIntelligence

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.

    $ ./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.

    $ 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.

    $ 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
    $ 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.

    $ ./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.

    $ 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.

    $ 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 theelasticsearch.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/
      $ 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.

      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/
      $ 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.

      $ 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.

    $ systemctl status pi-elasticsearch.service
  • Check Elasticsearch log for errors or exceptions

    Verify the Elasticsearch log for any exceptions or errors.

    $ 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 thekibana.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
      $ 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

      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
      $ 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.

    $ systemctl status pi-kibana.service
  • Check Kibana log for errors or exceptions

    Verify the Kibana log for any exceptions or errors.

    $ tail logs/kibana.log