- 資源:Investigation
- 方法
資源:Investigation
描述調查物件的訊息。下一個 ID:24
JSON 表示法 |
---|
{ "name": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "revision": string, "revisionIndex": integer, "revisionPredecessor": string, "annotations": { object ( |
欄位 | |
---|---|
name |
ID。資源名稱 |
createTime |
僅供輸出。[Output only] 建立時間戳記 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
updateTime |
僅供輸出。[Output only] 更新時間戳記 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
labels |
(選用步驟) 以鍵/值組合形式呈現的標籤 包含 |
revision |
僅供輸出。[僅供輸出] 調查的目前修訂版本 |
revisionIndex |
僅供輸出。[僅限輸出] 案件目前修訂版本的索引。以 1 為基礎。 |
revisionPredecessor |
(選用步驟) 這個修訂版本的前身修訂版本名稱。舉例來說,如果因編輯而建立新修訂版本,使用者介面會將此值設為現有修訂版本。 |
annotations |
(選用步驟) 調查的註解。與標籤不同,這些標記在執行調查時可能具有語意意義,且不會由其他系統 (例如帳單) 讀取。 |
executionState |
僅供輸出。[僅限輸出] 這項調查的執行狀態。 |
error |
僅供輸出。[僅供輸出] 如果調查執行狀態為「FAILED」,這個欄位會包含錯誤訊息。 |
operation |
僅供輸出。最近對調查執行的「執行」作業。 |
title |
這是必要旗標,調查的人類可讀顯示標題。 |
observations |
(選用步驟) 從觀測 ID 到觀測結果的地圖。這是對應表,因此我們可以利用最新修訂版本,乾淨地覆寫舊的觀察結果。如需選擇 ID 的指引,請參閱「觀察」。 包含 |
observerStatuses |
(選用步驟) 上述項目的複數形式。程式碼會隨時間逐步轉換為這個版本。 包含 |
clarificationsNeeded |
(選用步驟) 系統需要詢問使用者的問題。使用者介面會將結果做為新的觀測值傳回。這些觀察結果的 ID 會是 clarificationsNeeded 地圖中項目的鍵。 包含 |
InvestigationAnnotations
調查中的其他使用者定義註解。其中包含一些預先定義的項目,以及供新應用程式新增項目的對應。
JSON 表示法 |
---|
{
"followUp": boolean,
"extrasMap": {
string: string,
...
},
"revisionLastRunInterval": {
object ( |
欄位 | |
---|---|
followUp |
僅供輸出。我們需要後續追蹤才能繼續調查。通常在疑難排解工具中設為 true,問題回答完畢後則設為 false。 |
extrasMap |
(選用步驟) 應用程式需要額外註解。這些內容不會經過編輯,且不得包含任何機密客戶資訊/個人識別資訊。 包含 |
revisionLastRunInterval |
(選用步驟) 上次執行修訂作業的開始/結束時間。 |
時間間隔
代表時間間隔,編碼為 Timestamp 開始時間 (含) 和 Timestamp 結束時間 (不含)。
開始時間必須小於或等於結束時間。如果開始時間與結束時間相同,則間隔為空白 (不符合任何時間)。如果開始和結束時間都未指定,則間隔會符合任何時間。
JSON 表示法 |
---|
{ "startTime": string, "endTime": string } |
欄位 | |
---|---|
startTime |
(選用步驟) 間隔的開始時間 (含)。 如果指定了這個值,符合間隔的時間戳記必須等於或晚於開始時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
endTime |
(選用步驟) 限制時段的結束時間 (不包含在內)。 如果指定,符合這個間隔的時間戳記必須早於結束時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
InvestigationExecutionState
調查的執行狀態。
列舉 | |
---|---|
INVESTIGATION_EXECUTION_STATE_UNSPECIFIED |
預設值。這個值不會使用。 |
INVESTIGATION_EXECUTION_STATE_RUNNING |
調查正在執行中。 |
INVESTIGATION_EXECUTION_STATE_MODIFIED |
自上次更新症狀後,調查尚未執行。 |
INVESTIGATION_EXECUTION_STATE_FAILED |
調查執行作業已完成,但執行失敗。 |
INVESTIGATION_EXECUTION_STATE_COMPLETED |
所有執行工作都已完成,調查作業處於閒置狀態。 |
觀察項目
觀察結果是使用者與系統之間,或系統不同元件之間交換的基本單位。這是具有關聯性的元素。因此,觀察結果應相對較小;如果您希望使用者對觀察結果的「一部分」做出反應,則應將其細分成較小的觀察結果。特定 Runbook 執行作業、特定使用者參數輸入內容,以及特定有趣的記錄項目,可能都是個別的觀察結果。也就是說,調查中可能會有數十或數百個事件。下一個 ID:26
JSON 表示法 |
---|
{ "id": string,"timeIntervals": [ { object ( |
欄位 | |
---|---|
id |
這是必要旗標,可明確識別這項觀察結果。應取決於觀察結果的「核心內容」,而非相關性等因素。不應取決於任何可能因修訂版本而異的項目,也不應取決於執行作業。這也是上層調查中的地圖鍵。這些名稱應為階層式,並以「.」做為分隔符號,開頭為觀察者的名稱。例如 diagnostics.runbook.ABC、signals.logs 或 user.input.2。這應該可用做網址元件。(不區分大小寫 [a-z0-9-._]+) 這些屬性不會向使用者顯示,但會出現在資料模型中。Google 工程師會使用這些記錄找出錯誤,因此記錄應具備半可讀性。 |
timeIntervals[] |
(選用步驟) 發生觀察結果的時間。觀察事項至少要有一個時間範圍,才能顯示在時間軸上,並找出相關事件。如果活動重複舉行,但並非連續,則適合設定多個時間範圍。使用者介面可能會合併這些項目。 |
title |
(選用步驟) 使用者介面中顯示的標籤。這在調查中不必是唯一的。但應具體明確,且不得超過 80 個半形字元,方便使用者快速瀏覽多項觀察結果。「Nettools pod configured with ALL capabilities dropped」比「Interesting pod configuration」好得多。 |
observationType |
這是必要旗標,觀察類型 (例如記錄、指標等) |
observerType |
這是必要旗標,資料來源,例如使用者、系統程式碼、LLM 等。 |
text |
(選用步驟) 與觀察結果相關的自然語言 [markdown] 文字。這是核心內容,而非中繼資料說明。 |
data |
(選用步驟) 觀察員選擇的觀察結果結構化表示方式。(選用步驟) 如果有的話,觀察員也「應」提供觀察結果的文字說明,方便大型語言模型處理,並在 UI 中轉譯。 |
dataUrls |
(選用步驟) 從使用者可讀取的名稱對應到佐證資料的網址。地圖鍵會以網址錨點文字的形式呈現。每當觀察結果取決於系統外部的事物時,請填寫這項資訊。例如,可重新產生觀測結果的記錄/指標/等查詢。 包含 |
knowledgeUrls |
(選用步驟) 從使用者可讀取的名稱到說明文件網址的對應。 包含 |
baseObservations[] |
(選用步驟) 這項觀察結果所依據的其他觀察結果 ID。舉例來說,結論觀察會記錄用於產生結論的觀察結果。擷取的參數會記錄擷取來源。在修訂版本中,前提和結論的圖表將為非循環圖。 |
relevantResources[] |
(選用步驟) 與觀察結果相關的 Google Cloud 資源。這些應為完整資源 URI,例如 "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance" |
recommendation |
(選用步驟) 自然語言 [markdown] 文字,說明建議採取的補救 / 修正根本原因的動作。這份表單為自由格式,目前不會經過機器處理。建議內容可能包括:- 高階補救說明 - 具體且策略性的補救步驟,以及可執行的指令 - 具體且策略性的疑難排解步驟,以及可執行的指令,方便您進一步調查 |
systemRelevanceScore |
(選用步驟) 系統推斷這項觀察項目與調查的關聯程度。(選用步驟) 應介於 [-1, 1] 的範圍之間。如果是 OBSERVATION_TYPE_HYPOTHESIS,則代表對說明的信心。只有根本原因假設會相互比較排名。如果是其他 ObservationType,這代表關聯性分數,且會彼此比較排名。值為 0 時表示中性。 |
relevanceOverride |
(選用步驟) 使用者對相關性的判斷。 |
observationCompletionState |
(選用步驟) ObservationCompletionState 代表發出的觀察結果是否已完全成形,且應向使用者顯示。這項功能可隱藏處於中間狀態的觀測結果。 |
observedNormalOperation |
(選用步驟) 這項觀察結果是否提供問題 / 根本原因的相關資訊 (false),或指出正常運作 (true)。這在概念上與關聯性不同,用途也不一樣。應向 LLM 和使用者隱藏不相關的觀察結果。問題的相關觀察結果應顯示為觀察結果,並促使假設成立。UI 中可能會顯示或不顯示常態的相關發現,但 LLM 應使用這些發現來篩除遭到駁斥的假設。 |
ObservationType
這代表構成觀察結果的資料類型。這與出處無關:記錄可能是使用者明確提供、透過 AI 擷取,或由 Runbook 發現。
列舉 | |
---|---|
OBSERVATION_TYPE_UNSPECIFIED |
請勿使用。指定觀察類型。視需要新增列舉。 |
OBSERVATION_TYPE_CLOUD_LOG |
這項觀察結果的文字是記錄項目。 |
OBSERVATION_TYPE_CLOUD_METRIC |
這項觀察結果的內容是指標或指標群組。 |
OBSERVATION_TYPE_CAIS_CONFIG |
設定 |
OBSERVATION_TYPE_CAIS_CONFIG_DIFF |
設定變更 |
OBSERVATION_TYPE_CLOUD_ALERT |
快訊 |
OBSERVATION_TYPE_CICD_EVENT |
持續整合系統的事件,例如探測器故障。 |
OBSERVATION_TYPE_TEXT_DESCRIPTION |
自由輸入文字,例如初始使用者輸入內容。可以是 Markdown。 |
OBSERVATION_TYPE_HYPOTHESIS |
這是系統得出的 [暫定] 結論。這些內容可做為後續修訂的輸入內容。在這種情況下,系統會使用建議,但不會進行補救。 |
OBSERVATION_TYPE_STRUCTURED_INPUT |
結構化輸入內容,例如輸入表單的 Runbook 參數 |
OBSERVATION_TYPE_COMPOSITE |
用於包含多種證據的觀察結果,例如 Runbook 輸出。 |
OBSERVATION_TYPE_OTHER |
如果沒有其他適用的類型,Runbook 輸出內容可以是「其他」。 |
OBSERVATION_TYPE_RELATED_RESOURCES |
我們認為與調查相關的資源。 |
OBSERVATION_TYPE_LOG_THEME |
記錄中發現的主題。 |
OBSERVATION_TYPE_CONFIG_ANALYSIS |
信號輸出內容,包括 LLM 分析的設定。 |
OBSERVATION_TYPE_OUTAGE |
包含 PSH 停電的訊號輸出。 |
OBSERVATION_TYPE_KNOWLEDGE |
提供特定使用者問題相關知識的文字。例如錯誤目錄說明/外部連結、RAG 等。 |
ObserverType
這代表資料進入調查的方式。
列舉 | |
---|---|
OBSERVER_TYPE_UNSPECIFIED |
請勿使用。指定觀察結果的來源。視需要新增列舉。 |
OBSERVER_TYPE_DIAGNOSTICS |
基於內部歸因考量,我們會將這兩者分開。診斷程序會明確指出根本原因,例如透過 Runbook。 |
OBSERVER_TYPE_SIGNALS |
信號適用於沒有明確根本原因的處理程序。 |
OBSERVER_TYPE_DETERMINISTIC_CODE |
這適用於僅依賴店內環境的程式碼。尤其是錯誤目錄查詢。 |
OBSERVER_TYPE_AI |
這是指在過程中進行的 AI 推論,僅取決於列為前提的觀察結果。 |
OBSERVER_TYPE_USER |
觀察使用者輸入內容,包括對釐清問題的回覆。 |
OBSERVER_TYPE_ALERT |
外部至 GCA 快訊的觀察結果。 |
UserRelevance
這代表使用者對觀察結果的相關性判斷。使用者介面會顯示「喜歡」或「不喜歡」圖示。
列舉 | |
---|---|
USER_RELEVANCE_UNSPECIFIED |
使用者尚未將這項觀察結果標示為相關或不相關。 |
USER_RELEVANCE_PROMOTED |
使用者將這項觀察結果標示為相關。 |
USER_RELEVANCE_REJECTED |
使用者將這項觀察結果標示為不相關。 |
ObservationCompletionState
判斷觀察結果是否完整。這項設定的副作用是決定是否向使用者顯示觀察結果。
列舉 | |
---|---|
OBSERVATION_COMPLETION_STATE_UNSPECIFIED |
請勿使用。 |
OBSERVATION_COMPLETION_STATE_COMPLETE |
這項觀察結果已完整成形,應向使用者顯示。 |
OBSERVATION_COMPLETION_STATE_INCOMPLETE |
這項觀察結果缺少部分資訊,或需要由其他觀察員進一步處理。這類觀察結果不應保留至日後的調查修訂版本。 |
ObserverStatus
ObserverStatus 代表調查執行期間,特定時間點的觀察員狀態。注意:根據預設,這則訊息中的所有內容都不會經過修訂。元件「不應」在此處放置 PII / CCC,但經過修訂的除外。下一個 ID:13
JSON 表示法 |
---|
{ "observer": string, "observerExecutionState": enum ( |
欄位 | |
---|---|
observer |
這是必要旗標,這個狀態所屬的觀察者 ID。觀察者 ID 應為人類可讀的階層式 ID,例如「signals.logs.firewall_rules」或「diagnostics.error_catalog」。 |
observerExecutionState |
(選用步驟) 觀察器的目前執行狀態。 |
observerDisplayName |
這是必要旗標,向使用者說明這個觀察者時顯示的名稱。請注意,UI 可能會以國際化對應項目取代此項目,因此不應動態產生。這是必要資訊,使用者才能瞭解系統所指的觀察者 (例如 Runbook)。 |
updateTime |
(選用步驟) 狀態更新時間。這是選用項目,因為觀察者負責設定。觀察員完成時會變成 endTime。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
startTime |
(選用步驟) 觀察者開始觀察的時間。這是選用項目,因為觀察者負責設定。觀察者完成後,這個時間與 updateTime 的差異就是觀察者執行時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
updateComment |
(選用步驟) 觀察員的狀態更新。可能會記錄下來,以利偵錯。系統可能會向使用者顯示這些資訊。例如「參數相符,已加入執行佇列」或「已檢查記錄檔 2/5」。 |
observerErrors[] |
(選用步驟) 調查系統發生錯誤,導致觀察員無法進行特定觀察。這裡的錯誤字串會向使用者顯示。重複,因為觀察員可能缺少多項權限。 |
ObserverExecution
觀察者的狀態。
列舉 | |
---|---|
OBSERVER_EXECUTION_UNSPECIFIED |
未指定觀察員狀態。 |
OBSERVER_EXECUTION_NOT_STARTED |
調查尚未開始。 |
OBSERVER_EXECUTION_RUNNING |
調查正在進行中,且這個觀察器可執行或正在執行。 |
OBSERVER_EXECUTION_COMPLETE |
觀察器已完成,未發生內部錯誤。 |
OBSERVER_EXECUTION_FAILED |
觀察器嘗試執行,但因發生錯誤而失敗。這項資訊是元件專屬資訊,如果顯示觀察結果,UI 中可能會算繪這項資訊,但優先順序非常低。 |
OBSERVER_EXECUTION_BLOCKED |
觀察器遭到封鎖,等待輸入。 |
OBSERVER_EXECUTION_INVESTIGATION_BLOCKED |
觀察員回報的錯誤會阻礙或嚴重影響調查,例如 CAIS 或記錄功能已停用。應在使用者介面中醒目顯示。 |
OBSERVER_EXECUTION_INVESTIGATION_DEGRADED |
觀察員回報的錯誤會導致調查結果不準確,可能需要使用者在解決原因後,升級或重新執行調查。 |
AbsentObservation
所需觀察項目的 ID。通常是參數,但可擴充至其他情況。
JSON 表示法 |
---|
{ // Union field |
欄位 | |
---|---|
聯集欄位 t 。缺少多種參數。t 只能是下列其中一項: |
|
param |
(選用步驟) Runbook 參數。 |
generalMissingObservation |
(選用步驟) 使用者可提供但不是 Runbook 參數的觀察結果。 |
pendingObservation |
(選用步驟) 觀察器應透過執行建立的觀察項目,但該項目尚未建立。這可能會促使系統執行 Runbook。 |
GeneralAbsentObservation
缺少並非 Runbook 參數的觀察項目。
JSON 表示法 |
---|
{ "id": string, "title": string, "validationRegex": string } |
欄位 | |
---|---|
id |
(選用步驟) 遺失的觀察事項 ID。 |
title |
(選用步驟) 要在 UI 中顯示的標題 |
validationRegex |
(選用步驟) 答案必須符合的規則運算式。必須符合 JavaScript 的規則運算式字串模式語法。請參閱 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp#syntax |
ObserverLogEntry
觀察者的記錄項目。
JSON 表示法 |
---|
{
"logTime": string,
"logMessage": string,
"logSeverity": enum ( |
欄位 | |
---|---|
logTime |
這是必要旗標,記錄的建立時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
logMessage |
這是必要旗標,使用者可理解的訊息。 |
logSeverity |
這是必要旗標,記錄訊息的嚴重性。 |
data |
(選用步驟) 任何其他資料,例如 RPC 錯誤。警告:與 ObserverStatus 的其餘部分一樣,這個欄位的內容可能會為了偵錯 Observer 而讀取。如為機密資料,請改用 |
sensitiveData |
(選用步驟) 可能含有受調查專案機密資訊的其他資料。為進行偵錯而讀取 ObserverStatus 時,系統會遮蓋這個欄位。 |
LogSeverity
記錄項目所述事件的嚴重程度,以標準嚴重程度表示 (如下所列)。供您參考,各個等級會指派下列數值。如果使用清單以外的數值,效果不明。
您可以依嚴重性篩選記錄項目。舉例來說,下列篩選器運算式會比對嚴重程度為 INFO
、NOTICE
和 WARNING
的記錄項目:
severity > DEBUG AND severity <= WARNING
如果您要編寫記錄檔項目,請將其他嚴重程度編碼對應至其中一個標準層級。舉例來說,您可以將 Java 的 FINE、FINER 和 FINEST 級別全部對應至 LogSeverity.DEBUG
。如要保留原始嚴重性等級,可以在記錄項目酬載中保留。
列舉 | |
---|---|
DEFAULT |
(0) 記錄項目未獲指派嚴重性等級。 |
DEBUG |
(100) 偵錯或追蹤資訊。 |
INFO |
(200) 常規資訊,例如進行中的狀態或成效。 |
NOTICE |
(300) 正常但重要的事件,例如啟動、關機或設定變更。 |
WARNING |
(400) 警告事件可能會導致問題。 |
ERROR |
(500) 錯誤事件可能會導致問題。 |
CRITICAL |
(600) 重大事件會導致更嚴重的問題或中斷。 |
ALERT |
(700) 必須立即採取行動。 |
EMERGENCY |
(800) 一或多個系統無法使用。 |
ClarificationNeeded
系統需要釐清。
JSON 表示法 |
---|
{ "runbookParameter": { object ( |
欄位 | |
---|---|
runbookParameter |
(選用步驟) 釐清問題的結果是觀察。使用者需要提供的 Runbook 參數。 |
generalMissingObservation |
(選用步驟) 缺少非 Runbook 參數的觀察項目。 |
parentObserverNames[] |
(選用步驟) 要求澄清的觀察員顯示名稱。使用者介面會依這些名稱分組。 |
RunbookParameter
診斷工作更新的 Runbook 參數中繼資料。
JSON 表示法 |
---|
{ "id": string, "displayName": string, "description": string, "exampleValues": [ string ], "value": string, "associatedAssetTypes": [ string ] } |
欄位 | |
---|---|
id |
(選用步驟) 參數的名稱。 |
displayName |
(選用步驟) 要向使用者顯示的參數名稱。 |
description |
(選用步驟) 參數說明。 |
exampleValues[] |
(選用步驟) 參數值範例。 |
value |
(選用步驟) 參數值 (如有)。 |
associatedAssetTypes[] |
(選用步驟) 如果存在,這個參數可能屬於的資源類型清單。例如「compute.googleapis.com/Instance」。 |
方法 |
|
---|---|
|
在指定專案和位置建立新的調查。 |
|
刪除單一調查。 |
|
取得單一調查的詳細資料。 |
|
取得資源的存取權控管政策。 |
|
列出指定專案和位置的調查。 |
|
更新單一調查作業的參數。 |
|
設定指定資源的存取權控管政策。 |
|
傳回呼叫者在指定資源上擁有的權限。 |