Comment on page
❤
Health check
This article describes the health check functionality of the PORTOS API.
get
{{server_adddress}}
/api/v2/health
Get health check
The response HTTP status is always 200 for all health report status values. No authorization is required for accessing API health check.
The response payload is based on
Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions
library and consists of following classes:String enumeration of following values:
healthy
Indicates that the health check determined that the component was healthy.degraded
Indicates that the health check determined that the component was in a degraded state.unhealthy
Indicates that the health check determined that the component was unhealthy, or an unhandled exception was thrown while executing the health check.
The response payload is represented by
HealthReport
class, which contains following properties:Property | | Description |
status | Represents the aggregate status of all the health checks. The value is most servere status reported by a health check. If no checks were executed, the value is always healthy . | |
totalDuration | string | Time the health check service took to execute in time span format ( [d.]hh:mm:ss ). |
entries | Dictionary map with each executed health check. The keys in this dictionary map the name of each executed health check to a health report data (represented by HealthReportEntry class) returned from the corresponding health check. |
The values in health report
entries
dictionary map are represented by the HealthReportEntry
class, which contains following properties:Property | | Description |
status | Health status of the specific health check. | |
duration | string | Health check execution duration in time span format ( [d.]hh:mm:ss ). |
description | string | null | Optional human-readable description of the status of the component that was checked. |
data | object | null | Additional key-value pairs describing the health of the component. Structure may vary for each health check. |
exception | Optional exception object representing the exception that was thrown when checking for status (if any). Equal to null when status is healthy . |
Represents information about failed health report check.
message | string | null | The exception message. |
Some health checks contains collection of inner health checks. Each element of such collection is represented by the
HealthCheckResult
class, which contains following properties:Property | | Description |
status | Health status of the specific health check. | |
description | string | null | Optional human-readable description of the status of the component that was checked. |
data | object | null | Additional key-value pairs describing the health of the component. Structure may vary for each health check. |
exception | Optional exception object representing the exception that was thrown when checking for status (if any). Equal to null when status is healthy . |
There are following core health report entries:
Name | Entry key name | Note |
---|---|---|
Disk storage | diskstorage | From version 4.0.36 |
License | license | |
Fiscal printers | fiscalPrinters | |
Order endpoints | orderEndpoints | |
Disk storage health check is associated with the
diskstorage`
identifier. This health check verifies free space on disk, on which executing assembly (the API service/deamon) is stored. Following table explains relationship between free megabytes and health status of health check.Health status | Free megabytes |
healthy | 512 or more |
degraded | Less than 512 |
License health check is associated with the
license
identifier. License health check verifies expiration date of product license. Following table explains relationship between remaining license days and health status of license health check.Health status | Remaining license days |
healthy | More than 14 |
degraded | Up to 14 |
unhealthy | 0 |
The
data
section contains following values:Property name | Description |
remainingDays | The number of days to license expiration. |
expirationDate | The license expiration date (in iso 8601 format). |
The keys may not be present, if
exception
property of license health report entry is set.Fiscal printers health check is associated with the
fiscalPrinters
identifier. Checks health of every fiscal device marked as active.The
data
section contains following values:Property name | Description |
entries | The collection of FiscalPrintersHealthCheckResultEntry . Each element represents health check result for one fiscal device. |
The
FiscalPrintersHealthCheckResultEntry
class contains following properties:Property name | Description |
Key | The unique fiscal name. |
Result |
Order endpoints health check is associated with the
orderEndpoints
identifier. Checks health of every order endpoint device marked as active.The
data
section contains following values:Property name | Description |
entries | The collection of OrderEndpointsHealthCheckResultEntry . Each element represents health check result for one order endpoint device. |
The
OrderEndpointsHealthCheckResultEntry
class contains following properties:Property name | Description |
Key | The unique order endpoint name. |
Result |
If some optional features are enabled on API server, health report contains report entries for such feature. Name of health report entry is equal to feature name, that is prefixed with
portos.Features
prefix (e.g. Qerko
feature is associated with report entry with name portos.Features.Qerko
) and contains displayName
property in it's data
.Last modified 3mo ago