CentOS7でのログ出力関係の見直し

2017年4月7日金曜日

サーバー

t f B! P L





ログのゴミ出力を抑制


CentOS7をセットアップ後、特に何もいじっていないのに/var/logを見ると結構ログが吐き出されていました。

messagesの中身を確認したところ10分毎に延々と下記のようなログが出力されており、何かのエラーがあった時に、ログの精査の邪魔になりそうです。

出ていたログ
systemd: Started Session 396 of user root.
systemd: Starting Session 396 of user root.


ログのゴミを減らす方法


参考
https://access.redhat.com/solutions/1564823


/etc/rsyslog.d/にignore-systemd-session-slice.confを放り込んで、systemctl restart rsyslog.serviceでサービスの再起動をすればよいとのこと。


まず/etc/rsyslog.d/ignore-systemd-session-slice.confを作成して下記内容をコピペしました。



#echo 'if $programname == "systemd" and ($msg contains "Starting Session" or $msg contains "Started Session" or $msg contains "Created slice" or $msg contains "Starting user-") then stop' >/etc/rsyslog.d/ignore-systemd-session-slice.conf




(スポンサーリンク)

サービスを再起動します

#systemctl restart rsyslog.service



しばらく経ってから様子見すると、Started Session *** of user root.についてはログからきれいに消えました。

ただまだ以下のゴミが残っていました。



systemd: Stopping user-0.slice.
systemd: Removed slice user-0.slice.



先程作成したignore-systemd-session-slice.confに
or $msg contains "Stopping user-" or $msg contains "Removed slice"
を追加しました。



#vi /etc/rsyslog.d/ignore-systemd-session-slice.conf

if $programname == "systemd" and ($msg contains "Starting Session" or $msg contains "Started Session" or $msg contains "Created slice" or $msg contains "Starting user-" or $msg contains "Stopping user-" or $msg contains "Removed slice") then stop





再びサービスを再起動します

#systemctl restart rsyslog.service

時間経過してログ確認をすると、スッキリ消えました。




ログローテーション間隔の変更

squidサーバーを構築していますが、squidのログのローテーションの設定は/etc/logrotate.d/squidを読み込んでいるのかな?

/etc/logrotate.d/squidの中身

/var/log/squid/*.log {
    weekly
    rotate 5
    compress
    notifempty
    missingok
    nocreate
    sharedscripts
    postrotate
      # Asks squid to reopen its logs. (logfile_rotate 0 is set in squid.conf)
      # errors redirected to make it silent if squid is not running
      /usr/sbin/squid -k rotate 2>/dev/null
      # Wait a little to allow Squid to catch up before the logs is compressed
      sleep 1
    endscript
}

毎日ログを出力し、1年分残すようにするにはweekly→dailyに変更、rotate 5→rotate 365でいいのでしょうか

とりあえず変更して様子見です。

こちらは毎日自動実行されるため、サービスの再起動等は行う必要はありません。


ブログ内記事を検索

書いてる人

まったりと生きているネットワークエンジニアです。
指先ひとつで基幹ネットワークがダウンさ(トラウマ事例)
サーバー周りは勉強中。
当サイトは、アフィリエイト広告を利用しています

フォロワー

QooQ