Health reporting

The health sub-system used internal and external watchdogs to report the health of an entity. Watchdogs are background processes which are tasked to repeatedly perform a background tasks at pre-configured intervals. The watchdogs constantly monitor the health entities and generate health reports. A health report will have the following properties:

  • SourceId: A unique identifier for this instance of the health report.
  • Entity identifier: Used to identify the health entity on which the report is being generated. This can be any entity in the health hierarchy such as cluster, node, application, and likewise.
  • Property: A string holding the metadata around which property of the health entity is being reported on.
  • Description: A custom description.
  • HealthState: One of the possible health states.
  • TimeToLive: The time span specifying the validity of this health report.
  • RemoveWhenExpired: A Boolean flag to specify if the report should be removed from the health store on expiry.
  • SequenceNumber: An incrementing sequence number to identify the order in which the health reports were generated.

These reports are then transformed in to health events and stored in the health store after appending additional information such as UTC time stamps and last modified information.

PowerShell commands can be used to generate health reports and to view them. The following is an example:

PS C:> Send-ServiceFabricApplicationHealthReport -ApplicationName fabric:/<Application name> -SourceId <Report source> -HealthProperty <Health property> -HealthState <Health state> 

PS C:> Get-ServiceFabricApplicationHealth fabric:/<Application name>

Now that we understand the health subsystem and the process how health is evaluation, let's explore the technologies which can be used to monitor a Service Fabric cluster.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.52.96