HealthInformation
表示常見的健康情況報告資訊。 它包含在傳送至健康狀態存放區的所有健康情況報告中,以及健康情況查詢所傳回的所有健康情況事件中。
屬性
名稱 | 類型 | 必要 |
---|---|---|
SourceId |
string | 是 |
Property |
字串 | Yes |
HealthState |
字串 (列舉) | Yes |
TimeToLiveInMilliSeconds |
string (duration) | 否 |
Description |
字串 | 否 |
SequenceNumber |
字串 | No |
RemoveWhenExpired |
boolean | No |
HealthReportId |
字串 | 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 尋找特定健康情況事件的詳細資訊