App_Features_Service

<back to all web services

HealthCheckRequest

The following routes are available for this service:
GET/healthcheckThe 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

HTTP + 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: 54.235.149.200 
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
	}
}