将 syslog 消息转发到远程服务器

Google Cloud VMware Engine 提供将 syslog 消息发送到远程 syslog 服务器的选项。此配置允许您使用远程日志记录和监控系统整理和处理 syslog 消息。

准备工作

本文档中的步骤假定您已完成以下操作:

  • 如果您想按名称引用远程 syslog 主机,请完成以下操作:

转发日志

转发日志的方法取决于您要转发日志的管理设备。

  • 对于 vCenter 和 ESXi 日志(包括 NSX 分布式防火墙 [DFW] 日志),请使用 VMware Engine
  • 对于 NSX Manager 和 NSX Edge 虚拟机,请使用 NSX 设备

使用 VMware Engine 转发日志

如需使用Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 将 ESXi 或 vCenter 配置为将日志转发到 syslog 服务器,请执行以下操作。如果您计划从 ESXi 主机转发 syslog,请将日志代理监听的默认端口从 5142 更改为 514。在这种情况下,请使用相同的端口 (514) 来转发来自 vCenter 和 NSX 的 syslog。

控制台

如需使用 Google Cloud 控制台将 ESXi 或 vCenter 日志转发到 syslog 服务器,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往私有云页面。

    前往“Private Cloud”页面

  2. 点击选择项目,然后选择包含私有云的组织、文件夹或项目。

  3. 选择 Syslog 标签页。

  4. 点击创建来源。系统会显示用于创建日志记录服务器的子任务。

gcloud

如需使用 Google Cloud CLI 将 ESXi 或 vCenter 配置为将日志转发到 syslog 服务器,请使用 gcloud vmware private-clouds logging-servers create 命令

gcloud vmware private-clouds logging-servers create LOGGING_SERVER_ID \
  --project=PROJECT_ID \
  --hostname="HOST_NAME" \
  --port="PORT" \
  --source-type="SOURCE_TYPE" \
  --protocol="PROTOCOL" \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

替换以下内容:

  • LOGGING_SERVER_ID:相应请求的日志记录服务器 ID。
  • PROJECT_ID:此请求的项目。
  • HOST_NAME:相应请求的 IP 地址或完全限定域名。
  • PORT:相应请求的端口号。
  • SOURCE_TYPE:相应请求的来源类型,可以是 ESXi 或 vCenter。
  • PROTOCOL:相应请求所使用的协议,可以是 UDP 或 TCP。
  • PRIVATE_CLOUD_ID:相应请求的私有云 ID。
  • ZONE:此请求对应的区域。

API

如需使用 VMware Engine API 配置 ESXi 或 vCenter 以将日志转发到 syslog 服务器,请发出 POST 请求:

    GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/loggingServers?logging_server_id=LOGGING_SERVER_ID" -d '{
      "hostname": "HOST_NAME",
      "port": "PORT",
      "sourceType": "SOURCE_TYPE",
      "protocol": "PROTOCOL"
    }'

替换以下内容:

  • PROJECT_ID:此请求的项目。
  • ZONE:此请求对应的区域。
  • PRIVATE_CLOUD_ID:相应请求的私有云 ID。
  • LOGGING_SERVER_ID:相应请求的日志记录服务器 ID。
  • HOST_NAME:相应请求的 IP 地址或完全限定域名。
  • PORT:相应请求的端口号。
  • SOURCE_TYPE:相应请求的源类型,可以是 ESXi 或 VCSA。
  • PROTOCOL:相应请求所使用的协议,可以是 UDP 或 TCP。

使用 NSX 设备转发日志

该流程因您要转发 NSX Manager 还是 NSX Edge 虚拟机的日志而异。

NSX Manager

如需在 VMware Engine 私有云中配置 NSX Manager 以将日志转发到远程 syslog 服务器,请执行以下操作:

  1. 在您的私有云中登录 NSX 设备。请参阅访问管理设备
  2. 依次前往系统 > Fabric > 配置文件 (Profiles) > 节点配置文件 (Node Profiles)
  3. 如需从所有 NSX 节点转发日志,请选择 All NSX Nodes。否则,请仅选择您要从中发送日志的节点。
  4. Syslog 服务器 (Syslog Servers) 部分,点击添加
  5. FQDN 或 IP 地址 (FQDN or IP Address) 字段中,输入远程 syslog 主机的 IP 地址。
  6. 端口字段中,输入远程 syslog 服务器侦听的端口号。
  7. Protocol 字段中,选择通信协议。
  8. 日志级别字段中,选择要转发的日志的级别。
  9. 点击添加

NSX Edge 虚拟机

如需在 VMware Engine 私有云中配置 NSX Edge 虚拟机以将日志转发到远程 syslog 服务器,请与 Cloud Customer Care 联系。

管理 VMware Engine 上的日志记录服务器

以下步骤介绍了如何描述、列出、修改或删除日志记录服务器。

说明日志记录服务器

您可以执行以下操作,使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 获取日志记录服务器的说明:

控制台

如需使用Google Cloud 控制台获取已配置的日志记录服务器的说明,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往私有云页面。

    前往“Private Cloud”页面

  2. 点击选择项目,然后选择要查看日志记录服务器详细信息的组织、文件夹或项目。

  3. 选择 Syslog 标签页。日志记录服务器详细信息列在 Syslog 表中。

gcloud

如需使用 Google Cloud CLI 获取已配置的日志记录服务器的说明,请使用 gcloud vmware private-clouds logging-servers describe 命令

gcloud vmware private-clouds logging-servers describe LOGGING_SERVER_ID \
  --project=PROJECT_ID \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

替换以下内容:

  • LOGGING_SERVER_ID:相应请求的日志记录服务器 ID。
  • PROJECT_ID:此请求的项目。
  • PRIVATE_CLOUD_ID:此请求的私有云 ID。
  • ZONE:此请求对应的区域。

API

如需使用 VMware Engine API 获取已配置的日志记录服务器的说明,请发出以下请求:

     GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/loggingServers/LOGGING_SERVER_ID"
  

替换以下内容:

  • PROJECT_ID:此请求的项目。
  • ZONE:此请求对应的区域。
  • PRIVATE_CLOUD_ID:相应请求的私有云 ID。
  • LOGGING_SERVER_ID:相应请求的日志记录服务器 ID。

列出日志记录服务器

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 获取日志记录服务器的列表,具体操作如下:

控制台

如需使用 Google Cloud 控制台获取已配置的日志记录服务器的列表,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往私有云页面。

    前往“Private Cloud”页面

  2. 点击选择项目,然后选择要列出日志记录服务器详细信息的组织、文件夹或项目。

  3. 选择 Syslog 标签页。所有已配置的日志记录服务器都会列在 Syslog 表中。

gcloud

如需使用 Google Cloud CLI 获取已配置的日志记录服务器的列表,请使用 gcloud vmware private-clouds logging-servers list 命令

gcloud vmware private-clouds logging-servers list \
  --project=PROJECT_ID \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

替换以下内容:

  • PROJECT_ID:此请求的项目。
  • PRIVATE_CLOUD_ID:此请求的私有云 ID。
  • ZONE:此请求对应的区域。

API

如需使用 VMware Engine API 获取已配置的日志记录服务器的列表,请发出以下请求:

     GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/loggingServers/"
  

替换以下内容:

  • PROJECT_ID:此请求的项目。
  • ZONE:此请求对应的区域。
  • PRIVATE_CLOUD_ID:相应请求的私有云 ID。

修改日志记录服务器

如需使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 更新日志记录服务器,请执行以下操作:

控制台

如需使用Google Cloud 控制台更新已配置的日志记录服务器,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往私有云页面。

    前往“Private Cloud”页面

  2. 点击选择项目,然后选择要修改日志记录服务器详细信息的组织、文件夹或项目。

  3. 选择 Syslog 标签页。

  4. 点击行末的更多 图标,然后选择修改

  5. 在日志记录服务器修改窗口中进行更新。

gcloud

如需使用 Google Cloud CLI 更新已配置的日志记录服务器,请使用 gcloud vmware private-clouds logging-servers update 命令

gcloud vmware private-clouds logging-servers update LOGGING_SERVER_ID \
  --project=PROJECT_ID \
  --hostname="HOST_NAME" \
  --port="PORT" \
  --source-type="SOURCE_TYPE" \
  --protocol="PROTOCOL" \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

替换以下内容:

  • LOGGING_SERVER_ID:相应请求的日志记录服务器 ID。
    • PROJECT_ID:此请求的项目。
    • HOST_NAME:相应请求的 IP 地址或完全限定域名。
    • PORT:相应请求的端口号。
    • SOURCE_TYPE:相应请求的源类型,可以是 ESXi 或 VCSA。
    • PROTOCOL:相应请求所使用的协议,可以是 UDP 或 TCP。
    • PRIVATE_CLOUD_ID:此请求的私有云 ID。
    • ZONE:此请求对应的区域。

API

如需使用 VMware Engine API 更新已配置的日志记录服务器,请发出 PATCH 请求:

     PATCH "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/loggingServers/LOGGING_SERVER_ID?updateMask=hostname,sourceType,protocol,port" -d '{
        "hostname": "HOST_NAME",
        "port": "PORT",
        "sourceType": "SOURCE_TYPE",
        "protocol": "PROTOCOL"
     }'
  

替换以下内容:

  • PROJECT_ID:此请求的项目。
  • ZONE:此请求对应的区域。
  • PRIVATE_CLOUD_ID:此请求的私有云 ID。
  • LOGGING_SERVER_ID:相应请求的日志记录服务器 ID。
  • HOST_NAME:相应请求的 IP 地址或完全限定域名。
  • PORT:相应请求的端口号。
  • SOURCE_TYPE:相应请求的来源类型(ESXi 或 VCSA)。
  • PROTOCOL:相应请求所使用的协议,可以是 UDP 或 TCP。

删除日志记录服务器

如果您想使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 删除日志记录服务器,请执行以下操作:

控制台

如需使用 Google Cloud 控制台删除已配置的日志记录服务器,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往私有云页面。

    前往“Private Cloud”页面

  2. 点击选择项目,然后选择要删除日志记录服务器的组织、文件夹或项目。

  3. 选择 Syslog 标签页。

  4. 点击行末的更多 图标,然后选择删除

gcloud

如需使用 Google Cloud CLI 删除已配置的日志记录服务器,请使用 gcloud vmware private-clouds logging-servers delete 命令

gcloud vmware private-clouds logging-servers delete LOGGING_SERVER_ID \
  --project=PROJECT_ID \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

替换以下内容:

  • LOGGING_SERVER_ID:相应请求的日志记录服务器 ID。
  • PROJECT_ID:此请求的项目。
  • PRIVATE_CLOUD_ID:此请求的私有云 ID。
  • ZONE:此请求对应的区域。

API

如需使用 VMware Engine API 删除已配置的日志记录服务器,请发出 DELETE 请求:

     GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/loggingServers/NETWORK_ID"
  

替换以下内容:

  • PROJECT_ID:此请求的项目。
  • ZONE:此请求对应的区域。
  • PRIVATE_CLOUD_ID:相应请求的私有云 ID。
  • NETWORK_ID:此请求的网络 ID。