モジュールが役に立たない出力でカーネルログを溢れさせるのを防ぎますか?

モジュールが役に立たない出力でカーネルログを溢れさせるのを防ぎますか?

私はこのatmel_mxt_tsモジュールを使用していますが、カーネルログに毎秒約10の無駄なステータスメッセージがあふれています。これにより、ログが膨大に大きくなり、SSDに不要な書き込みが発生するか心配されます。このモジュールの出力をサイレントにする方法はありますか、または少なくともシステムログでそれを無視するようにできますか?

例:

Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:52 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0000:01: Status: 08 
Jun 08 22:44:51 ben-chromebook kernel: atmel_mxt_ts i2c-ATML0001:01: Status: 08 

ベストアンサー1

使用している場合は、syslog-ng次のディレクティブを使用できますfilter

filter demo_filter { not match ("atmel_mxt_ts i2c-ATML0000:01: Status: 08"); };

フィルタリングの詳細については、syslog-ng次を参照してください。https://www.balabit.com/sites/default/files/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html-single/index.html#filters

使用している場合は、rsyslogプロパティベースのフィルタを使用できます。

:msg, !contains, "atmel_mxt_ts i2c-ATML0000:01: Status: 08"

フィルタリングの詳細については、rsyslog次を参照してください。http://www.rsyslog.com/doc/rsyslog_conf_filter.html

回答を拡張し、与えられたコメントに対応するには:

バージョン 216 より前の Systemd ロギングは、デフォルトでメッセージを syslog に渡しました。バージョン 216 以降、メッセージは配信されなくなりました。これは、rsyslogまたはsyslog-ng(バージョン3.6以降)がログ自体からメッセージを抽出するためです(参照:https://wiki.archlinux.org/index.php/Systemd/Journal#Journald_in_conjunction_with_syslog)。

Storage=また、デフォルトではJournald.confディレクティブが設定されていますauto。これは、/var/log/journalディレクトリが存在する場合にのみログが永続されることを意味します(man journald.conf

したがって、syslogをフィルタリングすると、継続的なログ記録がない限り、SSDへの不要な書き込みを防ぐことができます。この場合、Storage=ディレクティブをnoneまたはに設定する必要がありますvolatile

おすすめ記事