共用方式為


HealthEvent

代表健康情況實體所報告的健康情況資訊,例如叢集、應用程式或節點,以及健康情況管理員所新增的其他中繼資料。

屬性

名稱 類型 必要
SourceId string
Property 字串 Yes
HealthState 字串 (列舉) Yes
TimeToLiveInMilliSeconds string (duration)
Description 字串
SequenceNumber 字串 No
RemoveWhenExpired boolean No
HealthReportId 字串 No
IsExpired boolean No
SourceUtcTimestamp 字串 (日期-時間) No
LastModifiedUtcTimestamp 字串 (日期-時間) No
LastOkTransitionAt 字串 (日期-時間) No
LastWarningTransitionAt 字串 (日期-時間) No
LastErrorTransitionAt 字串 (日期-時間) No

SourceId

類型:字串
必要:是

針對產生健康情況資訊的用戶端/看門狗/系統元件,用來識別的來源名稱。


Property

類型:字串
必要:是

健康情況資訊的屬性。 實體可以有不同屬性的健康情況報告。 屬性是一個字串而不是固定的列舉,以便讓報告程式在分類觸發報告的狀態條件時較有彈性。 例如,SourceId 為 "LocalWatchdog" 的報告程式可以監視節點上可用磁碟的狀態,因此可以針對該節點回報 "AvailableDisk" 屬性。 該相同報告程式還可以監視節點連線能力,因此可以針對該相同節點回報 "Connectivity" 屬性。 在健康狀態資料存放區中,會將這些報告視為所指定節點的個別健康情況事件。

與 SourceId 搭配使用時,此屬性可唯一識別健康情況資訊。


HealthState

類型:字串 (列舉)
必要:是

Service Fabric 實體的健康情況狀態,例如叢集、節點、應用程式、服務、分割區、複本等。

可能的值包括:

  • Invalid - 表示不正確健康情況狀態。 所有 Service Fabric 列舉都有不正確類型。 值為零。
  • Ok - 指出健康情況狀態沒問題。 值為 1。
  • Warning - 表示健康情況狀態處於警告層級。 值為 2。
  • Error - 指出健康情況狀態處於錯誤層級。 應該調查錯誤健全狀況狀態,因為它們可能會影響叢集的正確功能。 此值為 3。
  • Unknown - 表示未知的健康情況狀態。 值為 65535。

TimeToLiveInMilliSeconds

類型:字串 (持續時間)
必要:否

此健康情況報告的有效持續時間。 此欄位使用 ISO8601 格式指定持續時間。 當用戶端會定期回報時,其傳送報告的頻率應該高於存留時間。 如果用戶端會針對轉換進行回報,則可以將存留時間設定為無限。 如果 RemoveWhenExpired 為 true,當存留時間到期時,系統會將包含健康情況資訊的健康情況事件自健康狀態資料存放區中移除,如果 RemoveWhenExpired 為 false,則會將該事件評估為錯誤。

如果未指定,存留時間會預設為 infinite 值。


Description

類型:字串
必要:否

健康情況資訊的描述。 這代表任意格式的文字,可用來新增人類可讀的報告相關資訊。 描述的字串長度上限為 4096 個字元。 如果提供的字串超出此長度,將會自動截斷。 截斷時,描述的最後字元會包含 "[已截斷]" 標記,而總字串大小會是 4096 個字元。 此標記的存在可向使用者指出已發生截斷情況。 請注意,截斷時,描述的字元數會少於來自原始字串的 4096 個字元。


SequenceNumber

類型:字串
必要:否

此健康情況報告的序號 (以數值字串表示)。 健康狀態資料存放區會使用報告序號來偵測過時的報告。 如果未指定,就會在新增報告時,由健康情況用戶端自動產生序號。


RemoveWhenExpired

類型:布林值
必要:否

指出是否要在報告到期時將報告自健康狀態資料存放區中移除的值。 如果設定為 true,就會在報告到期後,將報告自健康狀態資料存放區中移除。 如果設定為 false,則會在報告到期後,將報告視為錯誤。 此屬性的值預設為 false。 當用戶端會定期回報時,應該將 RemoveWhenExpired 設定為 false (預設值)。 如此一來,如果報告程式 (發生問題,例如死結) 且無法報告,當健康情況報告到期時,就會在錯誤時評估實體。 這會將實體標幟為處於「錯誤」健康情況狀態。


HealthReportId

類型:字串
必要:否

健康情況報告識別碼,可識別健康情況報告,並可用來在 aka.ms/sfhealthid 尋找特定健康情況事件的詳細資訊


IsExpired

類型:布林值
必要:否

如果健康情況事件已過期,則傳回 true,否則傳回 false。


SourceUtcTimestamp

類型:字串 (日期時間)
必要:否

來源傳送健康情況報告的日期和時間。


LastModifiedUtcTimestamp

類型:字串 (日期時間)
必要:否

健康狀態報表上次由健康狀態存放區修改的日期和時間。


LastOkTransitionAt

類型:字串 (日期時間)
必要:否

如果目前的健全狀況狀態為 'Ok',則此屬性會傳回健康情況報告第一次回報為 'Ok' 的時間。 針對定期報告,可能會產生具有相同狀態的許多報告。 這個屬性會傳回收到第一個 'Ok' 健康情況報告時的日期和時間。

如果目前的健全狀況狀態為 'Error' 或 'Warning',則會傳回健康狀態上次處於 'Ok' 的日期和時間,然後再轉換為不同的狀態。

如果健全狀況狀態從未為 'Ok',則此值會是零日期時間。


LastWarningTransitionAt

類型:字串 (日期時間)
必要:否

如果目前的健全狀況狀態為 'Warning',這個屬性會傳回健康情況報告第一次回報「警告」的時間。 針對定期報告,可能會產生具有相同狀態的許多報告,不過,此屬性只會傳回第一次收到「警告」健康情況報告時的日期和時間。

如果目前的健全狀況狀態為 'Ok' 或 'Error',則會傳回健康狀態上次處於 'Warning' 的日期和時間,然後再轉換為不同的狀態。

如果健康狀態從未出現「警告」,則此值會是零日期時間。


LastErrorTransitionAt

類型:字串 (日期時間)
必要:否

如果目前的健全狀況狀態為 'Error',這個屬性會傳回健康情況報告第一次回報「錯誤」的時間。 針對定期報告,可能會產生具有相同狀態的許多報告,不過,此屬性只會傳回收到第一個「錯誤」健康情況報告時的日期和時間。

如果目前的健全狀況狀態為 'Ok' 或 'Warning',請在轉換為不同的狀態之前,傳回健康情況狀態上次處於「錯誤」的日期和時間。

如果健全狀況狀態從未發生'Error',則此值會是零日期時間。