> For the complete documentation index, see [llms.txt](https://docs.forestall.io/forestall/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.forestall.io/forestall/health-check.md).

# Health Check

The Health Check page shows the status of the installed components and the resource usage of the server.

Open the page from the heartbeat icon (**Health Check**) in the top bar, or from the **Health Check →** link below the login form. The page opens without the application menu, so it can also be used when you cannot sign in. The button in the upper-right corner is **Login** when you are not signed in and **Logout** when you are.

The header shows the **Last Refresh Time** and, when you are signed in, the installed **Version**. The page refreshes itself every 30 seconds.

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-b268ef12d508c172558e071c5c310e8309330d68%2Fhealth-check-image-1.png?alt=media" alt="Health Check page with API, Core and System Usage sections"><figcaption></figcaption></figure>

Each component is shown with a **Running** or **Failed** badge in the **Response** column. What you see depends on whether you are signed in:

* **Not signed in**: only the **Status** and **URL** rows, for both the API and the Core section.
* **Signed in**: in addition, the database checks for both sections, the **HangFire Service** row in Core, and the **System Usage** section.

## API

The **API** section provides a real-time status of the API services, showing whether they are currently running and accessible. It includes:

* **Status**: Whether the API service is running.
* **URL**: The address of the REST API.
* **PostgreSQL Database**: Indicates whether the API can query the PostgreSQL database.
* **Neo4j Graph Database**: Indicates whether the API can query the Neo4j graph database.

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-dbd91817e346da427b293dea4eddb5b3aec1cfb2%2Fhealth-check-image-2.png?alt=media" alt="API section of the Health Check page"><figcaption></figcaption></figure>

## Core

The Core section monitors the core application’s underlying infrastructure and services, detailing:

* **Status**: Whether the Core service is running.
* **URL**: The address of the Core service, which runs the scans and background jobs.
* **PostgreSQL Database**: Indicates whether Core can reach the PostgreSQL database.
* **Neo4j Graph Database**: Indicates whether Core can reach the Neo4j graph database.
* **HangFire Service**: Whether HangFire, which runs and schedules the background jobs, is working.

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-5d896dda737880c672b8d7994c7c3cc313f7d9b0%2Fhealth-check-image-3.png?alt=media" alt="Core section of the Health Check page"><figcaption></figcaption></figure>

## System Usage

The System Usage section provides insights into resource consumption on the server:

* **CPU Usage**: The current CPU load.
* **Memory Usage**: The current memory usage.
* **Disk Usage**: The used and free disk space.
* **Path**: The installation directory (by default `C:\Forestall\FSProtect\`).
* **Version**: The running product version.

If Core cannot report system usage, the section shows a single **Error** row with the reason.

<figure><img src="https://3408039743-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FObpV44hoVkNmo5bFuVVL%2Fuploads%2Fgit-blob-682d7f0a38fcf8a37297bac16291cf4db6c1c4ac%2Fhealth-check-image-4.png?alt=media" alt="System Usage section of the Health Check page"><figcaption></figcaption></figure>

## When a component fails

A component that cannot be reached is shown with a red **Failed** badge (the health check API returns `Not Available` for it). Check the following on the server:

* **API or Core Status is Failed**: make sure the `FSProtect-Django` and `FSProtect-Core` sites and their application pools are started in IIS Manager.
* **PostgreSQL Database is Failed**: make sure the `postgresql-x64-15` Windows service is running.
* **Neo4j Graph Database is Failed**: make sure the `neo4j` Windows service is running.
* **HangFire Service is Failed**: restart the `FSProtect-Core` site. Scheduled and running scans depend on it.

If a component stays failed after the service is running again, check that the installation directory is excluded from antivirus scans (see [Requirements](/forestall/introduction/requirements.md)) and contact Forestall support.
