查看操作系统清点数据


本文档介绍如何设置和使用 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 进行身份验证。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

支持的操作系统

如需查看支持 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 提供的信息

后续步骤