在 ESXi 上配置 syslog (2003322)

https://kb.vmware.com/s/article/2003322?lang=zh_CN

Purpose


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



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/vSphere Web 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:514 或 udp://hostname:514 ssl://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

    注意:要单独为 auth、vmkernel 和 hostd 等系统组件设置日志记录级别,可从 vSphere Client GUI 的syslog下选择记录器并设置为所需的值。


使用 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. 保存该配置文件并将其分配给主机。

有关通过 vSphere Web Client 但不使用主机配置文件配置 syslog 的详细信息,请参见 vSphere 6.0 Documentation 中的“在 ESXi 主机上配置 Syslog”部分。


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

可以使用高级配置选项为主机配置本地和远程 syslog 功能,这些选项可使用 vSphere Client、vSphere Web 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 服务器发送任何内容。

 Related 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


此外,有关 ESXi 的端口要求请参见:- Port requirements for ESX/ESXi 。

猜你喜欢

转载自blog.csdn.net/Tdburongke/article/details/114841629
今日推荐