在 AWS 的 EC2 服务中的 Amazon Linux 上,它使用非常短的 DHCP 租约时间,这意味着/var/log/messages
每隔几分钟就会从dhclient
和ec2net
服务中获取行。我如何才能将这些排除在日志记录之外,以便任何重要的日志消息不会在噪音中丢失(虽然磁盘空间不是很大,但这似乎是一种浪费,而且我并不需要额外的日志记录到 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
。