日志筛选功能可用于修改运行于 ESXi 主机上的 syslog 服务的日志记录策略。
从 vSphere 7.0 Update 2 开始,您可以使用 ESXCLI 添加日志筛选器并启用日志筛选。日志筛选器在建立后将一直保留在原位,直到被移除为止,即使在 ESXi 重新引导后也如此。
无论是记录到日志目录还是远程 syslog 服务器,日志筛选器将会影响由 ESXi 主机 vmsyslogd 服务处理的所有日志事件。
要在 ESXi 主机上激活日志筛选器,必须启用日志筛选功能并重新加载 syslog 守护进程。
用于配置日志筛选器的 ESXCLI 命令采用以下模式:esxcli system syslog config logfilter {cmd} [cmd options]
。
例如,要获取可用日志筛选器的列表,请运行以下命令:[root@xxx-xx-dhcp-xx-xx:~] esxcli system syslog config logfilter list
。
使用 set 命令可激活或停用日志筛选:[root@xxx-xx-dhcp-xx-xx:~] esxcli system syslog config logfilter set
。
使用 add 命令可添加日志筛选器,使用 remove 命令可移除日志筛选器。
使用 get 命令可确定是否已启用日志筛选。
日志筛选器由三个组成部分指定,并使用以下语法:numLogs | ident | logRegexp
。
参数 | 描述 |
---|---|
numLogs | 指定在开始筛选之前允许的 logRegexp Python 正则表达式的匹配数。 |
ident | ident 字符串是应用程序向 syslog 功能标识其自身的方式。logRegexp 筛选器必须与同一应用程序相关联。您可以通过检查 /var/run/log 中的日志文件来查找应用程序的 ident 字符串。每个日志文件的第三个字段以 ident 字符串开头,并以 [ 结尾。 |
logRegexp | 用于标识要筛选出的消息的 Python 正则表达式。 |
例如,要筛选出来自 hostd 守护进程在出现第十次后包含“mark”一词的所有消息,请使用以下命令:esxcli system syslog config logfilter add --filter="10|Hostd|mark"
。
要移除日志筛选器,请使用 esxcli system syslog config logfilter remove --filter="10|Hostd|mark" 命令。
有关详细信息,请参见 ESXi Syslog 选项。
前提条件
安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell 中运行 esxcli 命令。