- リソース: Investigation
- メソッド
リソース: Investigation
Investigation オブジェクトについて説明するメッセージ。次の ID: 24
JSON 表現 |
---|
{ "name": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "revision": string, "revisionIndex": integer, "revisionPredecessor": string, "annotations": { object ( |
フィールド | |
---|---|
name |
識別子。リソースの名前 |
createTime |
出力専用。[出力専用] 作成タイムスタンプ RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。[出力専用] 更新タイムスタンプ RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
labels |
省略可。Key-Value ペアとしてのラベル
|
revision |
出力専用。[出力専用] 調査の現在のリビジョン |
revisionIndex |
出力専用。[出力専用] 調査の現在のリビジョンのインデックス。1 から始まります。 |
revisionPredecessor |
省略可。このリビジョンの直前のリビジョンの名前。たとえば UI では、編集によって新しいリビジョンが作成された場合、このフィールドは既存のリビジョンに設定されます。 |
annotations |
省略可。調査に関するアノテーション。ラベルとは異なり、これらは調査の実行時にセマンティックな意味を持つことがあり、請求などの他のシステムからは読み取られません。 |
executionState |
出力専用。[出力専用] この調査の実行状態。 |
error |
出力専用。[出力専用] 調査の実行状態が FAILED の場合、このフィールドにエラー メッセージが格納されます。 |
operation |
出力専用。この調査で最後に実行された Run オペレーション。 |
title |
必須。人が読める形式の、調査の表示タイトル。 |
observations |
省略可。観察 ID と観察を対応付けるマップ。これは、古い観察を最新リビジョンのバージョンできれいに上書きできるようにするためのマップです。ID の選択に関するガイダンスについては、Observation をご覧ください。
|
observerStatuses |
省略可。上記の複数形バージョン。コードはいずれこちらに移行します。
|
clarificationsNeeded |
省略可。システムがユーザーに尋ねる質問。結果は、UI によって新しい Observation として返されます。これらの観察の ID が、clarificationsNeeded マップ内のエントリのキーになります。
|
InvestigationAnnotations
Investigation に関するユーザー定義の追加のアノテーション。事前定義されたアノテーションと、独自のアノテーションを追加できる新しいアプリケーション用のマップがあります。
JSON 表現 |
---|
{
"followUp": boolean,
"extrasMap": {
string: string,
...
},
"revisionLastRunInterval": {
object ( |
フィールド | |
---|---|
followUp |
出力専用。調査を継続するには追跡調査が必要です。通常はトラブルシューティングによって true に設定され、質問の回答が得られると false に設定されます。 |
extrasMap |
省略可。アプリケーションに必要な追加のアノテーション。これらは秘匿化されないため、機密情報や個人情報を含めないでください。
|
revisionLastRunInterval |
省略可。このリビジョンが最後に実行されたときの開始 / 終了日時。 |
Interval
時間間隔を表します。開始日時を示す Timestamp(この日時を含む)と終了日時を示す Timestamp(この日時を含まない)としてエンコードされます。
開始日時は終了日時以前にする必要があります。開始日時と終了日時が同じ場合、時間間隔は空になります(どの時間とも一致しません)。開始日時と終了日時が両方とも指定されていない場合、その時間間隔はすべての時間と一致します。
JSON 表現 |
---|
{ "startTime": string, "endTime": string } |
フィールド | |
---|---|
startTime |
省略可。時間間隔の開始日時(この日時を含む)。 指定した場合、開始日時と同じかそれ以降の Timestamp がこの時間間隔に一致します。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
省略可。時間間隔の終了日時(この日時を含まない)。 指定した場合、終了時刻より前の Timestamp がこの時間間隔に一致します。 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 |
すべての実行タスクが完了し、調査は解決しました。 |
Observation
観察は、ユーザーとシステム間のやり取り、またはシステムの異なるコンポーネント間のやり取りの基本単位です。これは関連性を持つ要素です。したがって、観察は比較的小さなものにする必要があります。ユーザーがある観察の「一部」に反応すると予想される場合は、それをさらに小さな観察に分割します。特定のランブックの実行、特定のユーザー パラメータの入力、特定の関心のあるログエントリはすべて、それぞれ別々の観察とすることができます。つまり、1 つの調査に数十から数百の観察が含まれる可能性があります。次の ID: 26
JSON 表現 |
---|
{ "id": string,"timeIntervals": [ { object ( |
フィールド | |
---|---|
id |
必須。この観察を一意に識別します。関連性などではなく、観察の「コアコンテンツ」に依存する必要があります。実行するリビジョンの間で予測不能に変化する可能性のあるものには依存しないでください。これは親調査内のマップキーでもあります。オブザーバーの名前で始まり、区切り文字として「.」を使用する階層構造にします。たとえば、diagnostics.runbook.ABC、signals.logs、user.input.2 などです。URL の構成要素として使用できるようにします(大文字と小文字を区別しない [a-z0-9-._]+)。これらはユーザーには表示されませんが、データモデルにおいては見ることができます。これらは Google のエンジニアがバグの発生場所を特定するために使用するため、ある程度解読可能にする必要があります。 |
timeIntervals[] |
省略可。この観察がいつ発生したかを示します。観察をタイムラインに表示するため、および関連するイベントを見つけられるように、観察は少なくとも 1 つの時間範囲を持つ必要があります。繰り返し発生するものの連続的でないイベントについては、複数の時間範囲を設定するのが適切です。UI でこれらを組み合わせることもできます。 |
title |
省略可。UI に表示されるラベル。調査内で一意である必要はありません。ただし、ユーザーが多くの観察にざっと目を通せるように、その観察を 80 文字未満で具体的に表す内容にする必要があります。「すべての機能が削除された Nettools ポッド構成」と「興味深いポッド構成」では、前者のタイトルの方がはるかに優れています。 |
observationType |
必須。観察のタイプ(ログ、指標など)。 |
observerType |
必須。データの生成元(ユーザー、システムコード、LLM など)。 |
text |
省略可。観察に関連付けられた自然言語の [マークダウン] テキスト。これはメタデータの説明ではなく、コアコンテンツです。 |
data |
省略可。オブザーバーによって選択された、観察の構造化表現。省略可。存在する場合、オブザーバーは LLM による処理や UI でのレンダリングを容易にするために、テキストによる観察の説明も提供する必要があります。 |
dataUrls |
省略可。人が読める形式の名前と、裏付けとなる証拠の URL を対応付けるマップ。マップキーは URL アンカー テキストとしてレンダリングされます。観察がシステム外部の要素に依存している場合は、必ずこのフィールドを設定してください。たとえば、ロギング / 指標や、観察を再生成できるクエリを設定します。
|
knowledgeUrls |
省略可。人が読める形式の名前と、ドキュメントの URL を対応付けるマップ。
|
baseObservations[] |
省略可。この観察の基となる他の観察の ID。たとえば、結論の観察では、結論の生成に使用された観察を記録します。抽出されたパラメータでは、その抽出元を記録します。前提と結論のグラフは、リビジョン内で非巡回になります。 |
relevantResources[] |
省略可。この観察に関連する Google Cloud リソース。完全修飾されたリソース URI を指定する必要があります。例: "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance" |
recommendation |
省略可。根本原因を修復 / 修正するための推奨アクションを記述した自然言語の [マークダウン] テキスト。これは自由形式であり、現時点では機械処理されません。次のようなものを指定できます。- 修復の大まかな説明 - 実行可能なコマンドを含む具体的かつ戦術的な修復手順 - 実行可能なコマンドを含む、次に調査すべき箇所に関する具体的かつ戦術的なトラブルシューティング手順 |
systemRelevanceScore |
省略可。システムによって推測された、この観察が調査にどの程度関連しているかを示す値。省略可。[-1, 1] の範囲内にする必要があります。OBSERVATION_TYPE_HYPOTHESIS の場合は、説明の信頼度を表します。根本原因の仮説のみが相互にランク付けされます。その他の ObservationType の場合、これは関連性スコアを表し、それらが相互にランク付けされます。値が 0 の場合は、関連性があるともないとも言えないことを意味します。 |
relevanceOverride |
省略可。ユーザーによる関連性の判断。 |
observationCompletionState |
省略可。ObservationCompletionState は、出力された観察が完全に形成されていて、その観察がユーザーに表示されるかどうかを表します。これは、中間状態の観察が表示されないようすることを目的とします。 |
observedNormalOperation |
省略可。この観察から問題 / 根本原因に関する情報が得られる場合は false、この観察が正常な動作を示している場合は true。これは関連性とは概念的に異なり、使い方も異なります。関連性のない観察は、LLM からもユーザーからも見えないようにする必要があります。問題との関連性がある観察は、観察として表示され、仮説の動機となります。正常性を示す関連性のある結果は、UI に表示するかどうかはどちらでもかまいませんが、LLM ではこれを使用して、その結果によって反論された仮説を除外する必要があります。 |
ObservationType
観察を構成するデータの種類を表します。これは生成元とは無関係です。たとえばログは、ユーザーによって明示的に提供されることも、AI によって抽出されることも、ランブックによって検出されることもあります。
列挙型 | |
---|---|
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 |
自由形式のテキスト入力(最初のユーザー入力など)。マークダウンを使用できます。 |
OBSERVATION_TYPE_HYPOTHESIS |
これはシステムによって導き出された(仮の)結論を表すためのものです。これらは後続のリビジョンへの入力になる可能性があります。この場合、推奨事項は使用されますが、修復は使用されません。 |
OBSERVATION_TYPE_STRUCTURED_INPUT |
構造化された入力(フォームに入力されたランブック パラメータなど) |
OBSERVATION_TYPE_COMPOSITE |
ランブックの出力など、複数の種類の証拠を含む観察に使用されます。 |
OBSERVATION_TYPE_OTHER |
他に適用可能なタイプがない場合、ランブックの出力は「その他」にすることができます。 |
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 |
これは内部アトリビューションの理由から区別されています。診断は、(たとえばランブックを介して)根本原因という明確な概念を持ちます。 |
OBSERVER_TYPE_SIGNALS |
シグナルは、明確な根本原因を持たない処理向けです。 |
OBSERVER_TYPE_DETERMINISTIC_CODE |
これはオンプレミスのみに依存するコードのために用意されています。特に、エラーカタログのルックアップ用です。 |
OBSERVER_TYPE_AI |
これは、推論の過程で、前提として挙げられた観察のみに基づいて行われる AI 推論のためのものです。 |
OBSERVER_TYPE_USER |
ユーザー入力の観察(明確化に対する回答を含む)。 |
OBSERVER_TYPE_ALERT |
外部から GCA へのアラートに由来する観察。 |
UserRelevance
観察に対してユーザーが下した関連性の判断を表します。UI では、高評価や低評価のようなものになります。
列挙型 | |
---|---|
USER_RELEVANCE_UNSPECIFIED |
ユーザーがこの観察を関連性ありまたは関連性なしとしてマークしていません。 |
USER_RELEVANCE_PROMOTED |
ユーザーがこの観察を関連性ありとマークしました。 |
USER_RELEVANCE_REJECTED |
ユーザーがこの観察を関連性なしとマークしました。 |
ObservationCompletionState
観察が完全に形成されていて、完了しているかどうかを表します。副作用として、ユーザーにこの観察が表示されるかどうかも、この設定によって決まります。
列挙型 | |
---|---|
OBSERVATION_COMPLETION_STATE_UNSPECIFIED |
使用しないでください。 |
OBSERVATION_COMPLETION_STATE_COMPLETE |
この観察は完全に形成されており、ユーザーに表示されます。 |
OBSERVATION_COMPLETION_STATE_INCOMPLETE |
この観察は情報が不足しているか、別のオブザーバーによるさらなる処理を必要としています。このタイプの Observation は、調査の今後のリビジョンに保持しないでください。 |
ObserverStatus
ObserverStatus は、調査実行中の特定の時点におけるオブザーバーのステータスを表します。注: デフォルトでは、このメッセージはどの部分も秘匿化されません。秘匿化されている場合を除き、構成要素に個人情報や機密情報を入力しないでください。次の ID: 13
JSON 表現 |
---|
{ "observer": string, "observerExecutionState": enum ( |
フィールド | |
---|---|
observer |
必須。このステータスが適用されるオブザーバーの ID。オブザーバー ID は、人が読める形式の階層構造にする必要があります(例: "signals.logs.firewall_rules"、"diagnostics.error_catalog")。 |
observerExecutionState |
省略可。オブザーバーの現在の実行状態。 |
observerDisplayName |
必須。このオブザーバーの説明時にユーザーに表示される名前。これは UI において国際化された対応文字列に置き換えられる可能性があるため、動的に生成しないでください。システムがどのオブザーバー(ランブックなど)に言及しているのかをユーザーに知らせるため、この表示名は必須です。 |
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 やロギングの無効化など)を報告しました。UI に目立つようにレンダリングする必要があります。 |
OBSERVER_EXECUTION_INVESTIGATION_DEGRADED |
オブザーバーが、調査の質を低下させるエラーを報告しました。ユーザーはエスカレーションするか、原因を緩和してから調査を再実行しなければならない場合があります。 |
AbsentObservation
必要とされている観察の識別子。通常はパラメータですが、他のケースにも拡張できます。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド t 。欠落しているパラメータには複数の種類があります。t は次のいずれかになります。 |
|
param |
省略可。ランブック パラメータ。 |
generalMissingObservation |
省略可。ユーザーが提供できる、ランブック パラメータ以外の欠落している観察。 |
pendingObservation |
省略可。まだ作成されておらず、オブザーバーが実行によって作成する必要がある観察。これが原因で、システムがランブックを実行する場合があります。 |
GeneralAbsentObservation
ランブック パラメータ以外の欠落している観察。
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 の他のフィールドと同様に、このフィールドの内容はオブザーバーのデバッグ目的で読み取られる場合があります。機密データの場合は、代わりに |
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)1 つ以上のシステムが使用不能。 |
ClarificationNeeded
システムによって必要とされている明確化。
JSON 表現 |
---|
{ "runbookParameter": { object ( |
フィールド | |
---|---|
runbookParameter |
省略可。明確化の結果は観察です。ユーザーが指定する必要があるランブック パラメータ。 |
generalMissingObservation |
省略可。ランブック パラメータ以外の欠落している観察。 |
parentObserverNames[] |
省略可。この明確化を要求したオブザーバーの表示名。UI ではこれらの名前に従ってグループ化されます。 |
RunbookParameter
診断タスクによって更新されたランブックのパラメータ メタデータ。
JSON 表現 |
---|
{ "id": string, "displayName": string, "description": string, "exampleValues": [ string ], "value": string, "associatedAssetTypes": [ string ] } |
フィールド | |
---|---|
id |
省略可。パラメータの名前。 |
displayName |
省略可。ユーザーに表示されるパラメータの名前。 |
description |
省略可。パラメータの説明。 |
exampleValues[] |
省略可。パラメータ値の例。 |
value |
省略可。パラメータの値(使用可能な場合)。 |
associatedAssetTypes[] |
省略可。存在する場合、このパラメータが該当する可能性のあるリソースタイプのリスト。例: "compute.googleapis.com/Instance"。 |
メソッド |
|
---|---|
|
指定されたプロジェクトとロケーションに新しい Investigation を作成します。 |
|
単一の Investigation を削除します。 |
|
単一の Investigation の詳細を取得します。 |
|
リソースのアクセス制御ポリシーを取得します。 |
|
指定されたプロジェクトとロケーションにある Investigations のリストを取得します。 |
|
単一の Investigation のパラメータを更新します。 |
|
指定したリソースにアクセス制御ポリシーを設定します。 |
|
指定したリソースに対して呼び出し元が持っている権限を返します。 |