将 syslog 消息转发到远程服务器
Google Cloud VMware Engine 提供将 syslog 消息发送到远程 syslog 服务器的选项。此配置允许您使用远程日志记录和监控系统整理和处理 syslog 消息。
准备工作
本文档中的步骤假定您已完成以下操作:
如果您想按名称引用远程 syslog 主机,请完成以下操作:
- 对于标准 VMware Engine 网络,请配置 DNS 绑定。
- 对于旧版 VMware Engine 网络,请配置条件 DNS 转发规则。
转发日志
转发日志的方法取决于您要为哪个管理设备转发日志。
- 对于 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 服务器,请执行以下操作:
在 Google Cloud 控制台中,前往私有云页面。
选择 Syslog 标签页。
点击创建来源。系统会显示用于创建日志记录服务器的子任务。
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 服务器,请执行以下操作:
- 在您的私有云中登录 NSX-T 设备。请参阅访问管理设备。
- 依次前往系统 > Fabric > 配置文件 > 节点配置文件。
- 如需从所有 NSX 节点转发日志,请选择 All NSX Nodes。否则,请仅选择您要从中发送日志的节点。
- 在 Syslog 服务器 (Syslog Servers) 部分,点击添加。
- 在 FQDN 或 IP 地址 (FQDN or IP Address) 字段中,输入远程 syslog 主机的 IP 地址。
- 在端口字段中,输入远程 syslog 服务器侦听的端口号。
- 在 Protocol 字段中,选择通信协议。
- 在日志级别字段中,选择要转发的日志的级别。
- 点击添加。
NSX-T 边缘虚拟机
如需在 VMware Engine 私有云中配置 NSX-T Edge VM 以将日志转发到远程 syslog 服务器,请与 Cloud Customer Care 联系。
在 VMware Engine 上管理日志记录服务器
以下步骤介绍了如何描述、列出、修改或删除日志记录服务器。
说明日志记录服务器
您可以执行以下操作,使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 获取日志服务器的说明:
控制台
如需使用 Google Cloud 控制台获取已配置的日志记录服务器的说明,请执行以下操作:
在 Google Cloud 控制台中,前往私有云页面。
选择 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 控制台获取已配置的日志记录服务器列表,请执行以下操作:
在 Google Cloud 控制台中,前往私有云页面。
选择 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 控制台更新已配置的日志记录服务器,请执行以下操作:
在 Google Cloud 控制台中,前往私有云页面。
选择 Syslog 标签页。
点击行末的更多
图标,然后选择修改。在日志记录服务器修改窗口中进行更新。
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 控制台删除已配置的日志记录服务器,请执行以下操作:
在 Google Cloud 控制台中,前往私有云页面。
选择 Syslog 标签页。
点击行末的更多
图标,然后选择删除。
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。