如何在 Google Cloud Logs Explorer 中查询 VM 合规性报告

Posted

技术标签:

【中文标题】如何在 Google Cloud Logs Explorer 中查询 VM 合规性报告【英文标题】:How to query for VM compliance report in Google Cloud Logs Explorer 【发布时间】:2021-10-14 16:59:33 【问题描述】:

我能够在 Google Cloud 控制台的给定项目和区域中以及通过使用如下 API 来查看虚拟机(我已通过虚拟机管理器中的操作系统配置管理应用自定义操作系统策略)的合规性状态:

GET https://osconfig.googleapis.com/v1alpha/projects/PROJECT_ID/locations/ZONE/instanceOSPoliciesCompliances

我可以通过 Google Cloud Logs Explorer 查看合规状态吗?

如果我在上面的“日志”选项卡中单击查看,我将被定向到日志资源管理器,其中的查询框架为:

resource.type="gce_instance" 
resource.labels.instance_id="<instance_id>" 
labels.os_policy_assignment="projects/<project_id>/locations/<zone>/osPolicyAssignments/<assignment>@<some_alphanumeric_id>" 
labels.os_policy_id="<custom-policy-id>" 
labels.task_type="APPLY_CONFIG_TASK"

但这并没有为我提供关于合规状态的任何信息,如上面的屏幕截图所示。

如何构建查询以获取与合规状态相关的日志?

【问题讨论】:

【参考方案1】:

要查看日志中的合规状态,请使用以下查询,

resource.type="gce_instance" 
resource.labels.instance_id="<instance_id>" 
labels.os_policy_assignment="projects/<project_id>/locations/<zone>/osPolicyAssignments/<assignment>@<some_alphanumeric_id>" 
labels.os_policy_id="<custom-policy-id>"
labels.task_type="APPLY_CONFIG_TASK"
jsonPayload.message:"state: COMPLIANT"

我们可以在日志的“jsonPayload.message”字段中找到VM的兼容状态。

【讨论】:

我可以看到状态日志:符合但如果我想检查状态:未知或状态:不符合怎么办。如果我想检查这些,我没有得到任何结果 如果要查看 NON-COMPLIANT 或 UNKNOWN 状态日志,可以将查询的最后一行相应更改为 state: NON-COMPLIANTstate: UNKNOWN。我已经在我的环境中检查了这些,我可以获取日志。

以上是关于如何在 Google Cloud Logs Explorer 中查询 VM 合规性报告的主要内容,如果未能解决你的问题,请参考以下文章

我的 Laravel 应用程序在 Google Cloud 上出现问题。无法打开流或文件“/srv/storage/logs/laravel.log”

在 Google Cloud Scheduler 日志中查看响应正文

Google Cloud Endpoints 相当于 API 网关,还是 Endpoints 相当于微服务?

如何使用 Google PubSub 确认 (@google-cloud/pubsub)

如何在 Google.Cloud.PubSub.V1 SubscriberServiceApiClientBuilder 中配置频道选项

如何使用 Google Cloud TPU 训练 keras 模型