GET | /healthcheck | The request for getting health check information. | Depending on the execution mode, you can determine different states of the server. |
---|
export class ServerState
{
public ServerName: string;
public TotalRamInMb?: number;
public AvailableRamInMb?: number;
public UsedCpuPercent?: number;
public constructor(init?: Partial<ServerState>) { (Object as any).assign(this, init); }
}
export enum MonitoringStatus
{
Success = 1,
Failure = 2,
}
export class MonitoringResult
{
public MonitoringName: string;
public Status: MonitoringStatus;
public StatusMessage: string;
public ErrorMessages: string[];
public constructor(init?: Partial<MonitoringResult>) { (Object as any).assign(this, init); }
}
export class MonitorSummary
{
public MonitorName: string;
public Status: MonitoringStatus;
public Results: MonitoringResult[];
public ErrorMessages: string[];
public constructor(init?: Partial<MonitorSummary>) { (Object as any).assign(this, init); }
}
export class MonitorExecutionMetrics
{
public StartDateTime: string;
public EndDateTime: string;
public Duration: string;
public constructor(init?: Partial<MonitorExecutionMetrics>) { (Object as any).assign(this, init); }
}
export class HealthCheckResponse
{
public ServerState: ServerState;
public Status: MonitoringStatus;
public StatusMessage: string;
public CorrelationId: string;
public FailedMonitorCount: number;
public MonitorSummaries: MonitorSummary[];
public ExecutionMetrics: MonitorExecutionMetrics;
public constructor(init?: Partial<HealthCheckResponse>) { (Object as any).assign(this, init); }
}
export enum ExecutionMode
{
Basic = 1,
Standard = 2,
Advanced = 3,
}
export enum ServerType
{
App = 1,
Sql = 2,
FtpApi = 3,
Ftp = 4,
Batch = 5,
Identity = 6,
Qc = 7,
XcodeV = 8,
XcodeC = 9,
MsgVast = 10,
AsgVast = 11,
Mongo = 12,
Agents = 13,
}
export class HealthCheckRequest
{
/**
* The mode used to determine what level of health check to perform.
*/
// @ApiMember(DataType="ExecutionMode", Description="The mode used to determine what level of health check to perform.", IsRequired=true, ParameterType="query")
public ExecutionMode: ExecutionMode;
/**
* The type of server that will be used to determine which monitors will be run.
*/
// @ApiMember(DataType="ServerType", Description="The type of server that will be used to determine which monitors will be run.", IsRequired=true, ParameterType="query")
public ServerType: ServerType;
/**
* Indicates whether or not to include server state information in the response.
*/
// @ApiMember(DataType="boolean", Description="Indicates whether or not to include server state information in the response.", ParameterType="query")
public IncludeServerStateInformation: boolean;
/**
* Indicates whether or not to suppress returning error codes. This will always return a 200 code to the caller, which is required for PRTG to process the JSON response properly.
*/
// @ApiMember(DataType="boolean", Description="Indicates whether or not to suppress returning error codes. This will always return a 200 code to the caller, which is required for PRTG to process the JSON response properly.", ParameterType="query")
public SuppressErrorCodes: boolean;
/**
* Indicates whether or not to suppress deployment-related errors.
*/
// @ApiMember(DataType="boolean", Description="Indicates whether or not to suppress deployment-related errors.", ParameterType="query")
public SuppressDeploymentErrors: boolean;
public constructor(init?: Partial<HealthCheckRequest>) { (Object as any).assign(this, init); }
}
TypeScript HealthCheckRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /healthcheck HTTP/1.1 Host: apps-50.tclclouds.com Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { ServerState: { ServerName: String, TotalRamInMb: 0, AvailableRamInMb: 0, UsedCpuPercent: 0 }, Status: Success, StatusMessage: String, CorrelationId: String, FailedMonitorCount: 0, MonitorSummaries: [ { MonitorName: String, Status: Success, Results: [ { MonitoringName: String, Status: Success, StatusMessage: String, ErrorMessages: [ String ] } ], ErrorMessages: [ String ] } ], ExecutionMetrics: { StartDateTime: 0001-01-01, EndDateTime: 0001-01-01, Duration: PT0S } }