如何让 Ubuntu 15.04 中的系统日志安静下来

如何让 Ubuntu 15.04 中的系统日志安静下来

在 Ubuntu 15.04 (Vivid Vervet) 上/var/log/syslog非常嘈杂。每隔几秒钟就会有来自systemdthermald、的消息gnome-session。大多数消息似乎都是无关紧要的,只是一遍又一遍重复的状态或调试消息。

我发现这使得使用 syslog 来解决问题、监控错误和故障变得非常困难,因为日志中充满了来自各种守护进程的重复的、不重要的状态消息块。有没有办法配置系统以在 syslog 中禁用此类消息?谢谢。

例如,thermald系统日志中每 10-60 秒重复一次以下消息块:

May 30 17:37:14 xxx thermald[960]: Dropped below poll threshold
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset index 0:Processor
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset index 4:intel_powerclamp
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset index 6:intel_pstate
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset index 5:rapl_controller
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset index 0:Processor
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset index 4:intel_powerclamp
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset index 6:intel_pstate
May 30 17:37:14 xxx thermald[960]: thd_trip_cdev_state_reset index 5:rapl_controller
May 30 17:37:15 xxx thermald[960]: Read set point 0

此外,每次my-weather-indicator更新gnome-session都会用以下 150 行状态消息填充系统日志(随着时间的推移,它会填满大部分系统日志):

May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075020
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433073280
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 1740
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075080
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433073280
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 1800
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: --- Updating data in location 1 ---
May 31 08:44:41 xxx gnome-session[1848]: ****** Updating weather
May 31 08:44:41 xxx gnome-session[1848]: ****** Calculating rawOffset
May 31 08:44:41 xxx gnome-session[1848]: ********************************************************
May 31 08:44:41 xxx gnome-session[1848]: ********************************************************
May 31 08:44:41 xxx gnome-session[1848]: 05:39 << 8:24 << 20:52
May 31 08:44:41 xxx gnome-session[1848]: ********************************************************
May 31 08:44:41 xxx gnome-session[1848]: ********************************************************
May 31 08:44:41 xxx gnome-session[1848]: -------------------------------------------------------
May 31 08:44:41 xxx gnome-session[1848]: -------------------------------------------------------
May 31 08:44:41 xxx gnome-session[1848]: OpenWeatherMap Weather Service url:http://api.openweathermap.org/data/2.5/weather?lat=43.6619&lon=-79.3952
May 31 08:44:41 xxx gnome-session[1848]: -------------------------------------------------------
May 31 08:44:41 xxx gnome-session[1848]: -------------------------------------------------------
May 31 08:44:41 xxx gnome-session[1848]: ****** Updated weather
May 31 08:44:41 xxx gnome-session[1848]: **** New temperature: 9°
May 31 08:44:41 xxx gnome-session[1848]: --- End of updating data in location 1 ---
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075141
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 60
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075201
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 120
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075261
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 180
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075321
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 240
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075381
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 300
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075441
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 360
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075501
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 420
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075561
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 480
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075621
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 540
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075681
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 600
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075741
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 660
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075801
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 720
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075861
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 780
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075921
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 840
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433075981
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 900
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433076041
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 960
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433076101
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 1020
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433076161
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 1080
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////
May 31 08:44:41 xxx gnome-session[1848]: message repeated 3 times: [ ///////////////////////////////////////////////////////]
May 31 08:44:41 xxx gnome-session[1848]: time.time() = 1433076221
May 31 08:44:41 xxx gnome-session[1848]: self.actualization_time = 1433075081
May 31 08:44:41 xxx gnome-session[1848]: (time.time()-self.actualization_time) = 1140
May 31 08:44:41 xxx gnome-session[1848]: self.refresh*3600 = 1800
May 31 08:44:41 xxx gnome-session[1848]: ///////////////////////////////////////////////////////

此外,gnome-session有时会发出大量有关zeitgeist活动的警告,例如类似这样的 200-300 行消息:

May 31 15:01:21 xxx gnome-session[1848]: ** (zeitgeist-datahub:2657): WARNING **: recent-manager-provider.vala:132: Desktop file for "file:///home/zzz/Documents/file.png" was not found, exec: google-chrome-stable, mime_type: image/png

答案1

[关于 的另一个答案loglevel=warn是错误的。 thermald 仅支持loglevel=infologlevel=debug,因此它将始终记录至少info和 更高的级别。 我通过检查源代码验证了这一点。

要安静 thermald,请使用:

/etc/rsyslog.d/99-thermald.conf

if $programname == "thermald" and ($syslogseverity-text == "debug" or $syslogseverity-text == "info" or $syslogseverity-text == "notice") then stop

然后重新启动rsyslog:

service rsyslog restart

这将丢弃所有notice级别或更低级别的 thermald 消息,同时仍记录级别warning或更高级别的消息。

您可以使用相同的基本模板来让其他程序安静下来,以满足您的喜好。此功能(表达式)文档的起点:

http://www.rsyslog.com/doc/expression.html

答案2

myweatherindicator.py为了抑制 syslog 上的 my-weather-indicator 噪音,您可以编辑位于的文件/opt/extras.ubuntu.com/my-weather-indicator/share/my-weather-indicator/并注释掉作者在代码中留下的所有调试打印语句,如下所示...

#print('///////////////////////////////////////////////////////')
#print('///////////////////////////////////////////////////////')
#print('time.time() = %s'%int(time.time()))
#print('self.actualization_time = %s'%int(self.actualization_time))
#print('(time.time()-self.actualization_time) = %s'%int((time.time()-self.actualization_time)))
#print('self.refresh*3600 = %s'%(int(self.refresh*3600)))
#print('///////////////////////////////////////////////////////')
#print('///////////////////////////////////////////////////////')

注意:除了上面显示的语句之外,该文件中还有更多的调试打印语句,因此您需要对它们全部进行注释。

答案3

我更喜欢将 thermald 消息记录在单独的文件中,这样它们就不会被丢弃,也不会使系统日志变得混乱。将以下内容放入名为 /etc/rsyslog.d/10-thermald.conf 的文件中(如上所述,它必须以小于 50 的数字开头命名)

if $programname == 'thermald' then /var/log/thermald.log & stop

相关内容