本页介绍了如何在 Google Cloud Observability 中查看受支持的请求类型的日志。
日志记录
以下各个请求中触发的错误都会记录到 Cloud Logging 中。
如果 Pub/Sub 消息无法发布到 Pub/Sub,则也会记录错误。如需了解详情,请参阅对 Pub/Sub 通知进行问题排查。
Logging 会自动运行,因此无需启用。如需为一个或所有受监控的资源停用 Cloud Logging,请参阅日志排除。
查看日志
如需查看所有日志,请前往日志浏览器。
如需查看存在错误状态的操作的日志,请按照以下步骤操作:
在 Google Cloud 控制台中,打开 Cloud Healthcare API 浏览器。
选择数据集。
点击操作标签页。
在操作列表中,从操作列表中选择在 Cloud Logging 中查看详情,以查看存在错误的操作的详细信息。
过滤日志
您可以按数据存储区类型、区域和数据集过滤日志。
例如,如需查看 FHIR 存储区的日志,请点击按标签过滤或搜索文字下第一个列表中的 Healthcare FHIR Store。您还可以按资源类型进行搜索。例如,搜索 healthcare_dicom_store 会显示为 resource.type 设置为 healthcare_dicom_store 的操作生成的所有日志。
系统为日志字段强制执行 UTF-8 编码。非 UTF-8 字符将被替换为问号。
如需详细了解日志浏览器,请参阅使用日志浏览器。
使用 Cloud Logging 查找错误事件
您还可以使用 Cloud Logging 查找导致错误的事件的审核日志。如需在审核日志中查找错误事件,请执行以下操作:
在 Cloud Logging 中搜索导致该事件的操作。
使用操作的日志详细信息,重新运行特定命令。
查看相应事件的审核日志。如需详细了解审核日志,请参阅查看 Cloud Audit Logs。
记录的内容
Cloud Healthcare API 日志条目包含以下类型的用于调试请求的信息:
- 一般信息,例如严重性、项目 ID、项目编号和时间戳。
jsonPayload包含条目的实际正文。此字段包含错误代码、错误消息以及其导入触发了错误的源文件的名称。operation包含产生错误的操作的类型和 ID。resource包含错误涉及的位置、数据集和数据存储区。
如果错误数量超过阈值,则 Cloud Logging 中将显示有限数量的错误。系统会根据输入的大小动态计算阈值。
日志的存储位置
Google Cloud Observability 不是地区化产品。写入 Google Cloud Observability 的日志可以存储在与数据存储区不同的区域中。
DICOM 导入日志条目示例
以下示例日志条目显示了在尝试将 gs://DICOM_FILENAME.dcm 导入projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID 时发生的 empty DICOM instance found 错误。
jsonPayload: {
@type: "type.googleapis.com/google.cloud.healthcare.logging.ImportDicomLogEntry"
error: {
code: 3
message: "empty DICOM instance found"
}
source: "gs://DICOM_FILENAME.dcm"
}
logName: "projects/PROJECT_ID/logs/healthcare.googleapis.com%2Foperations"
operation: {
id: "PROJECT_ID"
producer: "import_dicom"
}
receiveTimestamp: "TIMESTAMP"
resource: {
labels: {
dataset_id: "DATASET_ID"
dicom_store_id: "DICOM_STORE_ID"
location: "LOCATION"
project_id: "PROJECT_ID"
}
type: "healthcare_dicom_store"
}
severity: "ERROR"
timestamp: "TIMESTAMP"
FHIR 导入日志条目示例
以下示例日志条目显示了在尝试将 gs://FHIR_FILENAME.ndjson 导入 projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStore/FHIR_STORE_ID 时发生的 cannot import resource 错误。
jsonPayload: {
@type: "type.googleapis.com/google.cloud.healthcare.logging.ImportFhirLogEntry"
error: {
code: 3
message: "cannot import resource Patient/PATIENT_ID, conflicting resource already exists"
}
source: "gs://FHIR_FILENAME.ndjson"
}
logName: "projects/PROJECT_ID/logs/healthcare.googleapis.com%2Foperations"
operation: {
id: "PROJECT_ID"
producer: "import_fhir"
}
receiveTimestamp: "TIMESTAMP"
resource: {
labels: {
dataset_id: "DATASET_ID"
fhir_store_id: "FHIR_STORE_ID"
location: "LOCATION"
project_id: "PROJECT_ID"
}
type: "healthcare_fhir_store"
}
severity: "ERROR"
timestamp: "TIMESTAMP"
DICOM 去标识化日志条目示例
以下示例日志条目显示了在尝试对数据集 projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID 中的 DICOM 实例INSTANCE_ID 进行去标识化时发生的 cannot de-identify dicom instance 错误。
jsonPayload: {
@type: "type.googleapis.com/google.cloud.healthcare.logging.DeidentifyLogEntry"
error: {
code: 2
message: "Failed to process instance INSTANCE_ID"
}
resourceName: "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
}
logName: "projects/PROJECT_ID/logs/healthcare.googleapis.com%2Fdeidentify_dataset"
operation: {
id: "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
producer: "healthcare.googleapis.com/DeidentifyDataset"
}
receiveTimestamp: "TIMESTAMP"
resource: {
labels: {
dataset_id: "DATASET_ID"
location: "LOCATION"
project_id: "PROJECT_ID"
}
type: "healthcare_dataset"
}
severity: "ERROR"
timestamp: "TIMESTAMP"