如何防止我的 Amazon Linux EC2 实例 /var/log/messages 被 dhclient 和 ec2net 消息填满?

如何防止我的 Amazon Linux EC2 实例 /var/log/messages 被 dhclient 和 ec2net 消息填满?

在 AWS 的 EC2 服务中的 Amazon Linux 上,它使用非常短的 DHCP 租约时间,这意味着/var/log/messages每隔几分钟就会从dhclientec2net服务中获取行。我如何才能将这些排除在日志记录之外,以便任何重要的日志消息不会在噪音中丢失(虽然磁盘空间不是很大,但这似乎是一种浪费,而且我并不需要额外的日志记录到 Cloudwatch Logs)。据推测,如果我最终在获取 IP 地址时遇到麻烦,我可以重新打开日志记录(如果我可以回到盒子上)。

每隔几分钟就会重复出现以下消息:

Jun  8 09:14:49 server-name dhclient[2206]: PRC: Renewing lease on eth0.
Jun  8 09:14:49 server-name dhclient[2206]: XMT: Renew on eth0, interval 9900ms.
Jun  8 09:14:49 server-name dhclient[2206]: RCV: Reply message on eth0 from fe80::my:link:locl:addr.
Jun  8 09:14:49 server-name ec2net: [get_meta] Trying to get http://169.254.169.254/latest/meta-data/network/interfaces/macs/0a:91:b3:my:mac:addr/local-ipv4s
Jun  8 09:14:49 server-name ec2net: [rewrite_aliases] Rewriting aliases of eth0
Jun  8 09:14:49 server-name ec2net: [get_meta] Trying to get http://169.254.169.254/latest/meta-data/network/interfaces/macs/0a:91:b3:my:mac:addr/subnet-ipv4-cidr-block

答案1

这仅涉及告诉日志系统忽略来自dhclient和的消息ec2net。编辑/etc/rsyslog.conf文件,在#### RULES ####行之后和定义其他文件日志记录的行之前,添加以下两行:

:programname,isequal,"dhclient"  ~
:programname,isequal,"ec2net"    ~

根据手册页,这~表示“不记录此内容” rsyslog.conf

然后,运行service rsyslog restart让系统重新启动日志守护进程。


为了亚马逊Linux 2,rsyslogd 已更新以支持更直观的“stop”关键字,因此您可以改用以下行:

:programname,isequal,"dhclient"  stop
:programname,isequal,"ec2net"    stop

并使用 重新启动服务systemctl restart rsyslog

相关内容