Get Cluster Health Using Policy

Gets the health of a Service Fabric cluster using the specified policy.

Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state. Similarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state. Use ClusterHealthPolicies to override the health policies used to evaluate the health.

Request

Method Request URI
POST /$/GetClusterHealth?api-version=6.0&NodesHealthStateFilter={NodesHealthStateFilter}&ApplicationsHealthStateFilter={ApplicationsHealthStateFilter}&EventsHealthStateFilter={EventsHealthStateFilter}&ExcludeHealthStatistics={ExcludeHealthStatistics}&IncludeSystemApplicationHealthStatistics={IncludeSystemApplicationHealthStatistics}&timeout={timeout}

Parameters

Name Type Required Location
api-version string Yes Query
NodesHealthStateFilter integer No Query
ApplicationsHealthStateFilter integer No Query
EventsHealthStateFilter integer No Query
ExcludeHealthStatistics boolean No Query
IncludeSystemApplicationHealthStatistics boolean No Query
timeout integer (int64) No Query
ClusterHealthPolicies ClusterHealthPolicies No Body

api-version

Type: string
Required: Yes
Default: 6.0

The version of the API. This parameter is required and its value must be '6.0'.

Service Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.

Additionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.


NodesHealthStateFilter

Type: integer
Required: No
Default: 0

Allows filtering of the node health state objects returned in the result of cluster health query based on their health state. The possible values for this parameter include integer value of one of the following health states. Only nodes that match the filter are returned. All nodes are used to evaluate the aggregated health state. If not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of nodes with HealthState value of OK (2) and Warning (4) are returned.

  • Default - Default value. Matches any HealthState. The value is zero.
  • None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
  • Ok - Filter that matches input with HealthState value Ok. The value is 2.
  • Warning - Filter that matches input with HealthState value Warning. The value is 4.
  • Error - Filter that matches input with HealthState value Error. The value is 8.
  • All - Filter that matches input with any HealthState value. The value is 65535.

ApplicationsHealthStateFilter

Type: integer
Required: No
Default: 0

Allows filtering of the application health state objects returned in the result of cluster health query based on their health state. The possible values for this parameter include integer value obtained from members or bitwise operations on members of HealthStateFilter enumeration. Only applications that match the filter are returned. All applications are used to evaluate the aggregated health state. If not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of applications with HealthState value of OK (2) and Warning (4) are returned.

  • Default - Default value. Matches any HealthState. The value is zero.
  • None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
  • Ok - Filter that matches input with HealthState value Ok. The value is 2.
  • Warning - Filter that matches input with HealthState value Warning. The value is 4.
  • Error - Filter that matches input with HealthState value Error. The value is 8.
  • All - Filter that matches input with any HealthState value. The value is 65535.

EventsHealthStateFilter

Type: integer
Required: No
Default: 0

Allows filtering the collection of HealthEvent objects returned based on health state. The possible values for this parameter include integer value of one of the following health states. Only events that match the filter are returned. All events are used to evaluate the aggregated health state. If not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values, obtained using the bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) are returned.

  • Default - Default value. Matches any HealthState. The value is zero.
  • None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.
  • Ok - Filter that matches input with HealthState value Ok. The value is 2.
  • Warning - Filter that matches input with HealthState value Warning. The value is 4.
  • Error - Filter that matches input with HealthState value Error. The value is 8.
  • All - Filter that matches input with any HealthState value. The value is 65535.

ExcludeHealthStatistics

Type: boolean
Required: No
Default: false

Indicates whether the health statistics should be returned as part of the query result. False by default. The statistics show the number of children entities in health state Ok, Warning, and Error.


IncludeSystemApplicationHealthStatistics

Type: boolean
Required: No
Default: false

Indicates whether the health statistics should include the fabric:/System application health statistics. False by default. If IncludeSystemApplicationHealthStatistics is set to true, the health statistics include the entities that belong to the fabric:/System application. Otherwise, the query result includes health statistics only for user applications. The health statistics must be included in the query result for this parameter to be applied.


timeout

Type: integer (int64)
Required: No
Default: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

The server timeout for performing the operation in seconds. This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. The default value for this parameter is 60 seconds.


ClusterHealthPolicies

Type: ClusterHealthPolicies
Required: No

Describes the health policies used to evaluate the cluster health. If not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy. By default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest. If the application health policy map is specified, and it has an entry for an application, the specified application health policy is used to evaluate the application health.

Responses

HTTP Status Code Description Response Schema
200 (OK) A successful operation will return 200 status code and the requested cluster health information.
ClusterHealth
All other status codes The detailed error response.
FabricError