REST Resource: projects.locations.investigations

资源:Investigation

包含 Gemini Cloud Assist 问题排查调查的内容。

JSON 表示法
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "revision": string,
  "revisionIndex": integer,
  "revisionPredecessor": string,
  "annotations": {
    object (InvestigationAnnotations)
  },
  "executionState": enum (InvestigationExecutionState),
  "error": {
    object (Status)
  },
  "operation": string,
  "title": string,
  "observations": {
    string: {
      object (Observation)
    },
    ...
  },
  "observerStatuses": {
    string: {
      object (ObserverStatus)
    },
    ...
  }
}
字段
name

string

标识符。调查的名称,格式为:projects/{projectNumber}/locations/{locationId}/investigations/{investigationId}

createTime

string (Timestamp format)

仅限输出。调查的创建时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。上次更新调查时的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

labels

map (key: string, value: string)

可选。调查的用户指定标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

revision

string

仅限输出。调查的当前修订版本的资源名称,格式为:projects/{projectNumber}/locations/{locationId}/investigations/{investigationId}/revisions/{revision_id}

revisionIndex

integer

仅限输出。调查的当前修订版本的索引。

revisionPredecessor

string

可选。相应修订版本的前代修订版本的名称。

annotations

object (InvestigationAnnotations)

可选。调查的其他注解。

executionState

enum (InvestigationExecutionState)

仅限输出。相应调查的执行状态。

error

object (Status)

仅限输出。如果调查运行失败,则返回相应错误。只有当 executionStateINVESTIGATION_EXECUTION_STATE_FAILED 时,系统才会设置此字段。

operation

string

仅限输出。最近对调查执行的“运行”操作的资源名称,格式为:projects/{projectNumber}/locations/{locationId}/operations/{operation_id}

title

string

可选。调查的人类可读显示标题。

observations

map (key: string, value: object (Observation))

可选。构成调查内容的项目状态观察结果。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

observerStatuses

map (key: string, value: object (ObserverStatus))

可选。为运行调查而调用的观察方的状态。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

InvestigationAnnotations

有关调查的其他注解。

JSON 表示法
{
  "supportCase": string,
  "revisionLastRunInterval": {
    object (Interval)
  },
  "pagePath": string,
  "extrasMap": {
    string: string,
    ...
  }
}
字段
supportCase

string

可选。与调查相关的支持请求 ID。

revisionLastRunInterval

object (Interval)

仅限输出。上次执行调查的时间段。

pagePath

string

可选。创建相应调查的网页的路径。

extrasMap

map (key: string, value: string)

可选。其他由客户端指定的注解。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

间隔

表示时间间隔,以开始时间戳(含)和结束时间戳(不含)的形式编码。

开始时间必须早于或等于结束时间。如果开始时间与结束时间相同,则时间间隔为空(不会匹配任何时间)。如果开始时间和结束时间都未指定,则时间间隔会匹配任何时间。

JSON 表示法
{
  "startTime": string,
  "endTime": string
}
字段
startTime

string (Timestamp format)

可选。时间间隔的开始时间(含)。

如果指定,则与此时间间隔匹配的时间戳必须等于或晚于开始时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

可选。时间间隔的结束时间(不含)。

如果指定,则与此时间间隔匹配的时间戳必须早于结束时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

InvestigationExecutionState

调查的执行状态。

枚举
INVESTIGATION_EXECUTION_STATE_UNSPECIFIED 默认值。此值未使用。
INVESTIGATION_EXECUTION_STATE_RUNNING 调查正在执行。
INVESTIGATION_EXECUTION_STATE_MODIFIED 自上次更新以来,尚未执行过调查。
INVESTIGATION_EXECUTION_STATE_FAILED 调查执行完毕,但执行失败。
INVESTIGATION_EXECUTION_STATE_COMPLETED 所有执行任务均已完成,且调查当前处于静止状态。

观察

观察结果表示与所调查系统状态相关的一项事实,以及该事实的相关性排名。

JSON 表示法
{
  "id": string,
  "timeIntervals": [
    {
      object (Interval)
    }
  ],
  "title": string,
  "observationType": enum (ObservationType),
  "observerType": enum (ObserverType),
  "text": string,
  "data": {
    object
  },
  "dataUrls": {
    string: string,
    ...
  },
  "knowledgeUrls": {
    string: string,
    ...
  },
  "baseObservations": [
    string
  ],
  "relevantResources": [
    string
  ],
  "recommendation": string,
  "systemRelevanceScore": number,
  "relevanceOverride": enum (UserRelevance),
  "observationCompletionState": enum (ObservationCompletionState),
  "observedNormalOperation": boolean
}
字段
id

string

仅限输出。相应观察结果的唯一标识符。此值始终等于父级调查中相应观察结果的映射键。

timeIntervals[]

object (Interval)

可选。相应观察发生的时间段。

title

string

可选。观察结果的人类可读显示标题。

observationType

enum (ObservationType)

必需。观察结果的类型。

observerType

enum (ObserverType)

必需。生成相应观察结果的观察方类型。

text

string

可选。说明观察结果的自然语言或 Markdown 文本。

data

object (Struct format)

可选。观察结果的结构化表示形式。此属性不是必需的,也不保证符合任何特定架构。

dataUrls

map (key: string, value: string)

可选。指向支持此观察结果的证据的网址。从人类可读的说明到网址的映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

knowledgeUrls

map (key: string, value: string)

可选。指向与相应观察结果相关的参考知识的网址。从人类可读的说明到网址的映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

baseObservations[]

string

可选。相应观察所基于的其他观察的 ID。例如,一条假设性观察结果会记录支持该假设的观察。

relevantResources[]

string

可选。与观察结果相关的 Google Cloud 资源。应是资源的完全限定 URI,例如:"//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance"

recommendation

string

可选。自然语言或 Markdown 文本,用于描述建议采取的用于修复根本原因或进一步调查问题的措施。

systemRelevanceScore

number

可选。观察方认为相应观察结果的相关程度。此值用于在生成假设时对观察结果进行排名。系统会输出 [-1, 1] 范围内的观察结果,其中 -1 表示完全不相关,0 表示中性,1 表示完全确信其相关性。

relevanceOverride

enum (UserRelevance)

可选。用户的相关性判断。

observationCompletionState

enum (ObservationCompletionState)

可选。表示观察结果是否已完全形成并可用于得出结论。

observedNormalOperation

boolean

可选。如果为 false 或未指定,则相应观察结果会提供有关问题或根本原因的信息。如果为 true,则表示观察到系统正常运行。此类负面结果可作为有用的诊断发现,并且此字段与相关性得分无关。

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_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 来自提醒的观察结果。

UserRelevance

表示用户对观察结果做出的相关性判断。

枚举
USER_RELEVANCE_UNSPECIFIED 用户尚未将相应观察结果标记为相关或不相关。
USER_RELEVANCE_PROMOTED 用户将相应观察结果标记为相关。
USER_RELEVANCE_REJECTED 用户将相应观察结果标记为不相关。

ObservationCompletionState

确定观察结果是否已完全形成并完整。

枚举
OBSERVATION_COMPLETION_STATE_UNSPECIFIED 默认值。将被视为 COMPLETE。
OBSERVATION_COMPLETION_STATE_COMPLETE 观察结果已完全形成。
OBSERVATION_COMPLETION_STATE_INCOMPLETE 观察结果缺少一些信息,或者需要由其他观察方进一步处理。此类观察结果可能会在未来的调查运行中被舍弃。

ObserverStatus

ObserverStatus 表示在调查执行期间,观察方在特定时间点的状态。

JSON 表示法
{
  "observer": string,
  "observerExecutionState": enum (ObserverExecution),
  "observerDisplayName": string,
  "updateTime": string,
  "startTime": string,
  "updateComment": string,
  "observerErrors": [
    {
      object (Status)
    }
  ]
}
字段
observer

string

仅限输出。相应观察方的唯一标识符。此值始终等于父级调查中相应观察方的映射键。

observerExecutionState

enum (ObserverExecution)

可选。观察方的当前执行状态。

observerDisplayName

string

必需。观察方的人类可读显示名称。

updateTime

string (Timestamp format)

可选。观察方上次更新调查的时间。如果 observerExecutionState 为 COMPLETE 或 FAILED,则表示观察方完成观察的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

startTime

string (Timestamp format)

可选。观察方开始观察的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateComment

string

可选。来自观察方的状态更新。

observerErrors[]

object (Status)

可选。一种错误,会导致观察方无法执行特定观察。

ObserverExecution

观察方的状态。

枚举
OBSERVER_EXECUTION_UNSPECIFIED 观察方状态未指定。
OBSERVER_EXECUTION_NOT_STARTED 调查尚未开始。
OBSERVER_EXECUTION_RUNNING 调查正在运行,并且相应观察方可运行或正在运行。
OBSERVER_EXECUTION_COMPLETE 观察方已完成观察,且没有出现内部错误。
OBSERVER_EXECUTION_FAILED 观察方尝试运行,但因错误而失败。此消息特定于某个构件,如果显示观察结果,则可能会在界面中呈现此消息,但优先级非常低。
OBSERVER_EXECUTION_BLOCKED 观察方处于停滞状态,并在等待输入。
OBSERVER_EXECUTION_INVESTIGATION_BLOCKED 观察方报告了会阻碍或严重影响调查的错误,例如 CAIS 或日志记录被停用。应在界面中以醒目方式呈现。
OBSERVER_EXECUTION_INVESTIGATION_DEGRADED 观察方报告了会导致调查降级的错误,可能需要用户在修复造成错误的原因后升级或重新运行调查。

方法

create

在给定的项目中创建新调查。

delete

删除单个调查。

get

获取单个调查的详细信息。

getIamPolicy

获取资源的访问权限控制政策。

list

列出给定项目和位置中的调查。

patch

更新单个调查的参数。

setIamPolicy

针对指定资源设置访问权限控制政策。

testIamPermissions

返回调用者对指定资源拥有的权限。