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

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

准备工作

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

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

转发日志

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

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

使用 VMware Engine 转发日志

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

控制台

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

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

    前往 Private Cloud

  2. 选择 Syslog 标签页。

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

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-T 设备转发日志

具体流程因您要转发 NSX-T Manager 日志还是 NSX-T Edge 虚拟机日志而异。

NSX-T Manager

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

  1. 在您的私有云中登录 NSX-T 设备。请参阅访问管理设备
  2. 依次前往系统 > Fabric > 配置文件 > 节点配置文件
  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-T 边缘虚拟机

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

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

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

说明日志记录服务器

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

控制台

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

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

    前往 Private Cloud

  2. 选择 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. 选择 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. 选择 Syslog 标签页。

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

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

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. 选择 Syslog 标签页。

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

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。