如何使用Rsyslog服务器存储ESXi Host日志
安装和配置Rsyslog server
一般来说,安装完Linux系统的时候就已经安装了Rsyslog 了。如果没有,请手动安装。
a. 安装Rsyslog Server
[root@rsyslog /]# yum -y install syslog
b. 开机自启动Rsyslog Server
[root@rsyslog /]# systemctl enable rsyslog
c. 关闭防火墙或者打开防火墙端口
关闭防火墙
[root@rsyslog /]# systemctl stop firewalld
[root@rsyslog /]# systemctl disable firewalld
打开防火墙端口
[root@rsyslog /]# firewall-cmd --permanent --add-port=514/udp
[root@rsyslog /]#firewall-cmd --reload
d.编辑Rsyslog配置并保存
[root@rsyslog /]#vim /etc/rsyslog.conf
加#号注释掉默认的一些配置
加入自定义的配置语句,用于远程主机的日志存放规则
template(name="Esxi" type="list") {
constant(value="/var/log/esxi")
property(name="fromhost-ip")
constant(value="/")
property(name="programname" SecurePath="replace")
constant(value=".log")
} //* template 有点像定义一个function()
*.* ?Esxi //* *.*?Esxi 有点像执行上面定义的function(),不写这条语句,配置不会生效。
e. 重启Rsyslog
[root@rsyslog /]#systemctl restart rsyslog
f.配置ESXi日志级别
ESXi的日志级别默认是info,info级别的日志充斥着太多无用的信息,且信息增长量太快。
编辑ESXi主机的"高级设置",将Config.HostAgent.log.level的值设置为warring 或者error。
g.配置ESXi主机的防火墙
编辑ESXi主机的"安全配置文件",开放syslog的514和1514端口
或者SSH ESXi主机,执行命令 esxcli system syslog config set -loghost="udp://host_ip:514"
esxcli system syslog reload
测试连接是否成功 : nc -z host_ip 514
参考文档 https://kb.vmware.com/articleview?docid=2003322&lang=zh_CN
h. 确认是否在定义的文件夹下产生相应的日志文件