查看操作系统清点数据


本文档介绍如何设置和使用 OS Inventory Management。如需查看 OS Inventory Management 功能的概览,请参阅 OS Inventory Management

您可以使用 OS Inventory Management 来收集和查看虚拟机实例的操作系统详细信息。这些操作系统详细信息包括主机名、操作系统和内核版本等信息。您还可以获取有关已安装的操作系统软件包、可用的操作系统软件包更新和操作系统漏洞的信息。如需了解使用 OS Inventory Management 的常见场景,请查看何时使用 OS Inventory Management

准备工作

  • 查看 OS Config 配额
  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. 设置默认区域和可用区

    REST

    如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

      安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init

支持的操作系统

如需查看支持 OS Inventory Management 的操作系统和版本的完整列表,请参阅操作系统详细信息

所需的角色和权限

如需获得列出和描述库存数据所需的权限,请让管理员向您授予 OS Inventory Viewer (roles/osconfig.inventoryViewer) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

设置虚拟机

您必须先配置虚拟机,然后才能使用 OS Inventory Management。如需配置虚拟机以使用 OS Inventory Management,请设置虚拟机管理器

在虚拟机上设置虚拟机管理器后,您可以查看操作系统清点数据和漏洞报告。

查看操作系统清点数据

查看虚拟机的操作系统清点数据

您可以使用 Google Cloud 控制台、gcloud CLI 或 OS Config API 查看特定虚拟机的操作系统信息。

控制台

如需使用 Google Cloud Console 查看虚拟机上已安装的软件包的漏洞和信息,请执行以下步骤:

  1. 在 Google Cloud 控制台中,打开虚拟机实例页面。

    进入“虚拟机实例”

  2. 点击您要查看其操作系统信息的实例的名称。系统会显示实例详情页面。
  3. 点击操作系统信息标签页。
    如需查看操作系统清点数据,您必须启用虚拟机管理器。如果 Google Cloud 控制台提示您启用虚拟机管理器,请选择以下选项之一:
    • 为当前项目启用:为所选项目中的所有虚拟机启用虚拟机管理器
    • 为此虚拟机启用:仅为所选虚拟机启用虚拟机管理器
  4. 操作系统信息标签页中查看操作系统漏洞和已安装软件包的列表。
  5. 可选:如果任何已安装的软件包有更新,请选择软件包名称,然后点击应用更新
    系统会显示补丁页面。如需详细了解如何在虚拟机管理器中使用修补功能,请参阅创建修补作业

gcloud

如需查看特定虚拟机的清点详情,请运行 os-config inventories describe 命令

gcloud compute os-config inventories describe VM_NAME \
    --location=ZONE \
    --view=VIEW

请替换以下内容:

  • VM_NAME:您的虚拟机的名称
  • ZONE:虚拟机实例所在的区域
  • VIEW:所需的输出信息类型。 提供以下视图类型:

    • basic:仅显示操作系统信息
    • full:显示操作系统和软件包的相关信息

      如果您未指定此项,则默认设置为 basic

    示例(基本视图)

    gcloud compute os-config inventories describe vm1-centos \
       --location=us-central1-c
    

    输出示例

    architecture: x86_64
    hostname: vm1-centos
    kernelRelease: 3.10.0-1160.92.1.el7.x86_64
    kernelVersion: '#1 SMP Tue Jun 20 11:48:01 UTC 2023'
    longName: CentOS Linux 7 (Core)
    osconfigAgentVersion: 20230504.00-g1.el7
    shortName: centos
    updateTime: '2023-07-26T17:03:50Z'
    version: '7'
    

    示例(完整视图)

    gcloud compute os-config inventories describe vm1-centos \
       --location=us-central1-c \
       --view=full
    

    Linux 输出示例

    ┌─────────────────────────────────────────────────────────────────────────────────────┐
    │                               Installed Packages (Yum)                              │
    ├─────────────────────────────────────┬──────────────┬────────────────────────────────┤
    │             PACKAGE_NAME            │ ARCHITECTURE │            VERSION             │
    ├─────────────────────────────────────┼──────────────┼────────────────────────────────┤
    │ GeoIP                               │ x86_64       │ 1.5.0-13.el7                   │
    │ NetworkManager                      │ x86_64       │ 1:1.12.0-8.el7_6               │
    │ NetworkManager-libnm                │ x86_64       │ 1:1.12.0-8.el7_6               │
    │ NetworkManager-team                 │ x86_64       │ 1:1.12.0-8.el7_6               │
    │ NetworkManager-tui                  │ x86_64       │ 1:1.12.0-8.el7_6               │
    │ acl                                 │ x86_64       │ 2.2.51-14.el7                  │
    │ yum-cron                            │ all          │ 3.4.3-161.el7.centos           │
    │ yum-metadata-parser                 │ x86_64       │ 1.1.4-10.el7                   │
    │ yum-plugin-fastestmirror            │ all          │ 1.1.31-50.el7                  │
    │ zlib                                │ x86_64       │ 1.2.7-18.el7                   │
    └─────────────────────────────────────┴──────────────┴────────────────────────────────┘
    ┌───────────────────────────────────────────────────────────────────────────────┐
    │                        Package Updates Available (Yum)                        │
    ├───────────────────────────────┬──────────────┬────────────────────────────────┤
    │          PACKAGE_NAME         │ ARCHITECTURE │            VERSION             │
    ├───────────────────────────────┼──────────────┼────────────────────────────────┤
    │ GeoIP                         │ x86_64       │ 1.5.0-14.el7                   │
    │ NetworkManager                │ x86_64       │ 1:1.18.8-2.el7_9               │
    │ NetworkManager-libnm          │ x86_64       │ 1:1.18.8-2.el7_9               │
    │ NetworkManager-team           │ x86_64       │ 1:1.18.8-2.el7_9               │
    │ yum-cron                      │ all          │ 3.4.3-168.el7.centos           │
    │ yum-plugin-fastestmirror      │ all          │ 1.1.31-54.el7_8                │
    │ zlib                          │ x86_64       │ 1.2.7-19.el7_9                 │
    └───────────────────────────────┴──────────────┴────────────────────────────────┘
    architecture: x86_64
    hostname: vm1-centos
    kernelRelease: 3.10.0-957.1.3.el7.x86_64
    kernelVersion: '#1 SMP Thu Nov 29 14:49:43 UTC 2018'
    longName: CentOS Linux 7 (Core)
    osconfigAgentVersion: 20230504.00-g1.el7
    shortName: centos
    updateTime: '2021-05-11T22:21:52.323Z'
    version: '7'
    

    Windows 输出示例

    ┌───────────────────────────────────────────────────────────┐
    │                Installed Packages (GooGet)                │
    ├───────────────────────┬──────────────┬────────────────────┤
    │      PACKAGE_NAME     │ ARCHITECTURE │      VERSION       │
    ├───────────────────────┼──────────────┼────────────────────┤
    │ google-osconfig-agent │ x86_64       │ 20210415.4.0+win@1 │
    └───────────────────────┴──────────────┴────────────────────┘
    ┌───────────────────────────────────────────────────┐
    │     Installed Packages (Windows Update Agent)     │
    ├───────┬────────────┬────────────────┬─────────────┤
    │ TITLE │ CATEGORIES │ KB_ARTICLE_IDS │ SUPPORT_URL │
    ├───────┼────────────┼────────────────┼─────────────┤
    │ title │ C1, C2     │ 4589208        │ url.com     │
    └───────┴────────────┴────────────────┴─────────────┘
    ┌───────────────────────────────────────────────────────────────┐
    │           Installed Packages (Quick Fix Engineering)          │
    ├─────────┬─────────────────┬────────────┬──────────────────────┤
    │ CAPTION │   DESCRIPTION   │ HOT_FIX_ID │     INSTALL_TIME     │
    ├─────────┼─────────────────┼────────────┼──────────────────────┤
    │ caption │ Security Update │ KB4470788  │ 2019-03-12T00:00:00Z │
    └─────────┴─────────────────┴────────────┴──────────────────────┘
    ┌───────────────────────────────────────────────────────────────────────────┐
    │                  Installed Packages (Windows Application)                 │
    ├──────────────────┬─────────────────┬───────────────────────┬──────────────┤
    │   DISPLAY_NAME   │ DISPLAY_VERSION │       PUBLISHER       │ INSTALL_DATE │
    ├──────────────────┼─────────────────┼───────────────────────┼──────────────┤
    │ PowerShell 7-x64 │ 7.0.2.0         │ Microsoft Corporation │ 2021-06-08   │
    └──────────────────┴─────────────────┴───────────────────────┴──────────────┘
    ┌───────────────────────────────────────────────────────────┐
    │             Package Updates Available (GooGet)            │
    ├───────────────────────┬──────────────┬────────────────────┤
    │      PACKAGE_NAME     │ ARCHITECTURE │      VERSION       │
    ├───────────────────────┼──────────────┼────────────────────┤
    │ google-osconfig-agent │ x86_64       │ 20210415.4.0+win@1 │
    └───────────────────────┴──────────────┴────────────────────┘
    ┌───────────────────────────────────────────────────┐
    │  Package Updates Available (Windows Update Agent) │
    ├───────┬────────────┬────────────────┬─────────────┤
    │ TITLE │ CATEGORIES │ KB_ARTICLE_IDS │ SUPPORT_URL │
    ├───────┼────────────┼────────────────┼─────────────┤
    │ title │ C1, C2     │ 4589208        │ url.com     │
    └───────┴────────────┴────────────────┴─────────────┘
    ┌───────────────────────────────────────────────────────────────┐
    │       Package Updates Available (Quick Fix Engineering)       │
    ├─────────┬─────────────────┬────────────┬──────────────────────┤
    │ CAPTION │   DESCRIPTION   │ HOT_FIX_ID │     INSTALL_TIME     │
    ├─────────┼─────────────────┼────────────┼──────────────────────┤
    │ caption │ Security Update │ KB4470788  │ 2019-03-12T00:00:00Z │
    └─────────┴─────────────────┴────────────┴──────────────────────┘
    architecture: x86_64
    hostname: vm3-windows
    kernelRelease: 10.0.17763.1817
    kernelVersion: 10.0.17763.1817 (WinBuild.160101.0800)
    longName: Microsoft Windows Server 2019 Datacenter
    osconfigAgentVersion: 20210901.00.0+win@1
    shortName: windows
    updateTime: '2021-09-12T22:14:35Z'
    version: 10.0.17763
    

REST

如需查看特定虚拟机的清点详情,请创建对 projects.locations.instances.inventories.get 方法GET 请求。

   GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/INSTANCE/inventory
   

请替换以下内容:

  • PROJECT_ID:您的项目 ID
  • ZONE:虚拟机实例所在的区域
  • INSTANCE:指定虚拟机的实例 ID 或名称

查看特定可用区中虚拟机的操作系统清点数据

您可以使用 gcloud CLI 或 OS Config API 查看特定可用区中虚拟机的操作系统信息。

gcloud

如需查看特定可用区中虚拟机的清点数据列表,请运行 os-config inventories list 命令

gcloud compute os-config inventories list \
    --location=ZONE \
    --view=VIEW

请替换以下内容:

  • ZONE:该虚拟机所在的可用区
  • VIEW:所需的输出信息类型。 提供以下视图类型:

    • basic:仅显示操作系统信息
    • full:显示操作系统和软件包的相关信息

      如果您未指定此项,则默认设置为 basic

    示例(基本视图)

    gcloud compute os-config inventories list \
       --location=us-central1-c
    

    输出内容类似如下:

    INSTANCE_ID          INSTANCE_NAME     OS                                         OSCONFIG_AGENT_VERSION       UPDATE_TIME
    29255009728795105    vm1-centos        CentOS Linux 7 (Core)                      20230504.00-g1.el7           2023-07-26T16:53:49Z
    5138980234596718741  vm2-rhel8         Red Hat Enterprise Linux 8.8 (Ootpa)       20230504.00-g1.el8           2023-07-26T16:55:33Z
    7127836223366142250  vm3-windows       Microsoft Windows Server 2022 Datacenter   20230403.00.0+win@1          2023-07-26T16:49:16Z
    

    示例(完整视图)

    gcloud compute os-config inventories list \
       --location=us-central1-c \
       --view=full
    

    输出类似于以下内容:

    INSTANCE_ID          INSTANCE_NAME     OS                                       INSTALLED_PACKAGES   AVAILABLE_PACKAGES  OSCONFIG_AGENT_VERSION       UPDATE_TIME
    29255009728795105    vm1-centos        CentOS Linux 7 (Core)                    334                    2                 20230504.00-g1.el7           2023-07-26T16:53:49Z
    5932621394110773366  vm2-rhel8         Red Hat Enterprise Linux 8.8 (Ootpa)     410                  138                 20230504.00-g1.el8           2023-07-26T16:55:33Z
    7127836223366142250  vm3-windows       Microsoft Windows Server 2022 Datacenter  36                    6                 20230403.00.0+win@1          2023-07-26T16:49:16Z
    

REST

如需查看特定可用区中虚拟机的清点数据列表,请创建对 projects.locations.instances.inventories.list 方法GET 请求。

   GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/–/inventories
   

请替换以下内容:

  • PROJECT_ID:您的项目 ID
  • ZONE:虚拟机所在的区域

查看来自 Cloud Asset Inventory 的操作系统清点数据

OS Inventory Management 会存储清点和漏洞报告数据,并将其转发到 Cloud Asset Inventory。Cloud Asset Inventory 是一种元数据清点服务,可让您查看、监控和分析整个 Google Cloud 中的资产。借助 Cloud Asset Inventory,您可以轮询信息并查看数据中的更改。

如需从 Cloud Asset Inventory 访问操作系统清点和漏洞报告数据,您需要完成以下设置:

如需了解详情,请参阅查看虚拟机管理器数据

OS Inventory Management(早期版本)

如果您仍在使用早期版本的 OS Inventory Management,请展开即可下部分查看 Google Cloud CLI 的说明。

OS Inventory Management(早期版本)

列出虚拟机

如需查看设置了 OS Inventory Management 的虚拟机的列表,请运行 instances os-inventory list-instances 命令。

例如,如需列出具有清点数据的所有实例,请运行以下命令:

gcloud compute instances os-inventory list-instances

输出内容类似如下:

  NAME                 ZONE          MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP STATUS
  inventory-instance   us-east1-b    e2-standard-2               192.0.2.1    RUNNING
  instance-inventory1  us-west1-b    e2-standard-2               192.0.2.2    RUNNING
  instance-inventory2  asia-east2-b  e2-standard-2               192.0.2.3    RUNNING
  

您还可以使用过滤器缩小结果范围。例如,您可以通过运行以下命令来列出所有设置了 OS Inventory Management 且主机名与正则表达式 instance-* 匹配的虚拟机:

gcloud compute instances os-inventory list-instances
      --inventory-filter="Hostname~instance-*"

输出内容类似如下:

  NAME                 ZONE         MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP STATUS
  inventory-instance   us-east1-b   e2-standard-2               192.0.2.1    RUNNING
  instance-inventory1  us-west1-b   e2-standard-2               192.0.2.2    RUNNING
  instance-inventory2  asia-east2-b e2-standard-2               192.0.2.3    RUNNING
  
查看清点数据

如需查看实例的清点数据,请使用 instances os-inventory describe 命令。

如需查看为虚拟机收集的清点数据,请运行以下命令:

gcloud compute instances os-inventory describe VM_NAME \
      --zone=ZONE

请替换以下内容:

  • VM_NAME:您的虚拟机的名称
  • ZONE:该虚拟机所在的区域

如需查看返回的输出详细信息的类型,请查看 OS Inventory Management 提供的信息

后续步骤