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.
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

HTTP + 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: gc.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>