Search the VMware Knowledge Base (KB)
View by Article ID

在 ESXi 上配置 syslog (2075511)

  • 0 Ratings

Symptoms

免责声明: 本文为 Configuring syslog on ESXi (2003322) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。

Purpose

VMware vSphere ESXi 5.0 及更高版本主机运行一项 syslog 服务 (vmsyslogd),此服务提供的标准机制可用于记录来自 VMkernel 及其他系统组件的消息。在 ESXi 中,默认情况下这些日志存放在一个本地暂存卷或 ramdisk 上。如果要进一步保留这些日志,可以将 ESXi 配置为将这些日志存放在磁盘上的备用存储位置,以及将这些日志通过网络发送到 syslog 服务器。

对于 syslog 服务器收到并管理的日志,其保留、轮换和拆分完全由该服务器控制。ESXi 无法配置或控制远程 syslog 服务器上的日志管理。有关详细信息,请参见 syslog 服务器的文档。

早期版本 vSphere ESXi 的配置有所不同。有关详细信息,请参见 Enabling syslog on ESXi 3.5 - 4.1 (1016621)

无论使用这些选项指定的附加 syslog 配置如何,这些日志都继续放在 ESXi 主机上的默认位置。有关详细信息,请参见 Location of ESXi 3.5 - 4.1 log files (1021801) 或 Location of ESXi log files (2032076)

如果使用 vSphere Syslog Collector 接收来自 ESXi 主机的日志,请参见vSphere Installation and Setup Guide中的“安装和升级 vSphere Syslog Collector”部分,或者 ESXi and vCenter Server 6.0 Documentation Guide 中的“VMware Syslog 服务”部分。

Resolution

在 ESXi 5.x 和 6.0 上配置 Syslog 服务可使用“主机配置文件”、vCLI 或 vSphere Client 中的“高级配置”选项执行。选择最适合您环境的方法。无法通过运行vicfg-syslog命令执行配置。

共有五个可配置选项:

  • Syslog.global.logDir- 本地或远程数据存储(VMFS、NFS、FAT)上的位置和日志应保存到的路径。采用[DatastoreName]DirectoryName格式,映射到/vmfs/volumes/DatastoreName/DirectoryName/。如果指定的DirectoryName不存在,则将进行创建。如果定义了/scratch,则默认值为[]/scratch/log。有关暂存位置的详细信息,请参见 Creating a persistent scratch location for ESXi (1033696)

  • Syslog.global.logHost- 使用 syslog 协议将日志发送到的远程服务器的逗号分隔列表。如果logHost字段为空,则不会转发任何日志。包括协议和端口,类似于tcp://hostname:514udp://hostname:514ssl://hostname:514

  • Syslog.global.logDirUnique- 一个布尔选项,用于控制是否在配置的logDir中创建特定于主机的目录。此目录名称为 ESXi 主机的主机名。如果多个 ESXi 主机使用同一共享目录,则使用唯一目录将会有所帮助。默认为false

  • Syslog.global.defaultRotate- 要在 ESXi 主机上配置的 logDir 中本地保留的最大日志文件数量。不会影响远程 syslog 服务器保留。默认为8

  • Syslog.global.defaultSize- 每个本地日志文件在轮换之前的最大大小(以千字节为单位)。不会影响远程 syslog 服务器保留。默认为1024 KB。有关所需空间的详细信息,请参见 Providing Sufficient Space for System Logging

使用esxcli命令配置本地和远程日志记录

利用esxcli命令行实用程序(可在 ESXi 主机的控制台、vCLI 或 vMA 中使用)为主机配置本地和远程 syslog 功能。

有关使用esxcli的详细信息,请参见 vSphere Command-Line Interface Documentation

  1. 打开可使用esxcli命令的 ESXi Shell 控制台会话(例如 vCLI),或直接在 ESXi 主机上打开。

  2. 通过运行以下命令在主机上显示现有的五个配置选项:

    esxcli system syslog config get

  3. 通过运行以下命令设置新的主机配置,指定要更改的选项:

    注意:输入错误的日志记录路径信息会导致目标系统难以管理。

    esxcli system syslog config set --logdir=/path/to/vmfs/directory/--loghost=RemoteHostname--logdir-unique=true|false--default-rotate=NNN--default-size=NNN

    例如:

    在端口 514 上使用 TCP 配置远程 syslog:esxcli system syslog config set --loghost='tcp://10.11.12.13:514'

    注意:在 ESXi 5.0 上使用 UDP Syslog 时,必须下载并安装修补程序 VMware ESXi 5.0, Patch ESXi-5.0.0-20120704001-standard (2019113)

  4. 进行配置更改后,通过运行以下命令加载新配置:

    esxcli system syslog reload

  5. 运行以下命令测试是否可从 ESXi 主机访问端口:

    nc -zRemoteHostname514

    例如:

    nc -z 10.11.12.13 514

使用主机配置文件配置本地和远程日志记录

使用主机配置文件可以为类似主机的集群配置本地和远程 syslog 功能。有关详细信息,请参见 vSphere Installation and Setup Guide 中的“从主机配置文件界面设置 Syslog” 部分。
  1. 使用 vSphere Client 连接到 vCenter Server。
  2. 单击主页。
  3. 在“管理”部分下,单击主机配置文件。
  4. 创建新配置文件或编辑现有配置文件。
  5. 在编辑配置文件对话框中,设置五个配置选项中的一个或多个。

    • 如果您已使用esxcli或高级配置选项配置 syslog,并将其捕获为引用主机,则这 5 个配置选项将显示在“高级配置”选项部分下。
    • 如果 syslog 尚未配置,请右键单击高级配置选项部分,并为五个配置选项各添加一个配置文件。

  6. 保存该配置文件并将其分配给主机。

 使用 vSphere Web Client 来使用主机配置文件去配置本地和远程日志记录

  1. 使用 vSphere Web Client 连接到 vCenter Server。
  2. 单击主页。
  3. 在 “操作策略策” 部分下,单击主机配置文件。
  4. 创建新配置文件或编辑现有的配置文件。
  5. 在编辑配置文件对话框中,从五个配置选项中设置一个或多个。
  6. 保存配置文件并将其分配主机。

使用高级配置选项配置本地和远程日志记录

可以使用高级配置选项为主机配置本地和远程 syslog 功能,这些选项可使用 vSphere Client、PowerCLI 或 vCLI 加以设置。

有关详细信息,请参见 vSphere Single Host Management Guide 中的“在 ESXi 主机上配置 Syslog”部分。

不能使用本地控制台的esxcfg-advcfg命令执行此项配置。有关使用各种方法设置高级配置选项的详细信息,请参见 Configuring advanced options for ESXi/ESX (1038578)

注意:如果 ESXi 主机失去与远程 syslog 服务器的通信,则日志记录将停止推送到 syslog 服务器。您会在/var/log/.vmsyslogd.err文件中看到“failed to write log”错误。在syslogd服务重新启动之前,将不会向远程 syslog 服务器发送任何内容。

Additional Information

使用esxcli命令配置 ESXi 防火墙例外

注意:重定向日志时,您可能需要手动打开为 syslog 设置的防火墙规则。对于 UDP 流量,此防火墙规则在 ESXi 5.0 内部版本 456551 中不会产生影响,UDP 端口 514 的流量也照常流动。

要在 UDP 端口 514 以及 TCP 端口 514 和 1514 上通过 ESXi 防火墙打开出站流量,请运行以下命令:

esxcli network firewall ruleset set --ruleset-id=syslog --enabled=true
esxcli network firewall refresh

Tags

需要发送 syslogs 到 esxi 服务器,esxi 将不能启动,并显示 错误32
 
简体中文 Mandarin

See Also

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 0 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 0 Ratings
Actions
KB: