GET | /healthcheck | The request for getting health check information. | Depending on the execution mode, you can determine different states of the server. |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open 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")
var ExecutionMode:ExecutionMode? = null
/**
* 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")
var ServerType:ServerType? = null
/**
* 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")
var IncludeServerStateInformation:Boolean? = null
/**
* 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")
var SuppressErrorCodes:Boolean? = null
/**
* Indicates whether or not to suppress deployment-related errors.
*/
@ApiMember(DataType="boolean", Description="Indicates whether or not to suppress deployment-related errors.", ParameterType="query")
var SuppressDeploymentErrors:Boolean? = null
}
enum class ExecutionMode(val value:Int)
{
Basic(1),
Standard(2),
Advanced(3),
}
enum class ServerType(val value:Int)
{
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),
}
open class HealthCheckResponse
{
var ServerState:ServerState? = null
var Status:MonitoringStatus? = null
var StatusMessage:String? = null
var CorrelationId:String? = null
var FailedMonitorCount:Int? = null
var MonitorSummaries:ArrayList<MonitorSummary> = ArrayList<MonitorSummary>()
var ExecutionMetrics:MonitorExecutionMetrics? = null
}
open class ServerState
{
var ServerName:String? = null
var TotalRamInMb:BigDecimal? = null
var AvailableRamInMb:BigDecimal? = null
var UsedCpuPercent:BigDecimal? = null
}
enum class MonitoringStatus(val value:Int)
{
Success(1),
Failure(2),
}
open class MonitorSummary
{
var MonitorName:String? = null
var Status:MonitoringStatus? = null
var Results:ArrayList<MonitoringResult> = ArrayList<MonitoringResult>()
var ErrorMessages:ArrayList<String> = ArrayList<String>()
}
open class MonitoringResult
{
var MonitoringName:String? = null
var Status:MonitoringStatus? = null
var StatusMessage:String? = null
var ErrorMessages:ArrayList<String> = ArrayList<String>()
}
open class MonitorExecutionMetrics
{
var StartDateTime:Date? = null
var EndDateTime:Date? = null
var Duration:TimeSpan? = null
}
Kotlin HealthCheckRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /healthcheck HTTP/1.1 Host: videoportal.tclclouds.com Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <HealthCheckResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ExtremeReach.Diagnostics.App.Types"> <CorrelationId>String</CorrelationId> <ExecutionMetrics> <Duration>PT0S</Duration> <EndDateTime>0001-01-01T00:00:00</EndDateTime> <StartDateTime>0001-01-01T00:00:00</StartDateTime> </ExecutionMetrics> <FailedMonitorCount>0</FailedMonitorCount> <MonitorSummaries> <MonitorSummary> <ErrorMessages xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:string>String</d4p1:string> </ErrorMessages> <MonitorName>String</MonitorName> <Results> <MonitoringResult> <ErrorMessages xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d6p1:string>String</d6p1:string> </ErrorMessages> <MonitoringName>String</MonitoringName> <Status>Success</Status> <StatusMessage>String</StatusMessage> </MonitoringResult> </Results> <Status>Success</Status> </MonitorSummary> </MonitorSummaries> <ServerState> <AvailableRamInMb>0</AvailableRamInMb> <ServerName>String</ServerName> <TotalRamInMb>0</TotalRamInMb> <UsedCpuPercent>0</UsedCpuPercent> </ServerState> <Status>Success</Status> <StatusMessage>String</StatusMessage> </HealthCheckResponse>