Linux

【Linux】syslogの設定方法とは?Linuxでログの出力設定を変更する方法解説

Linuxサーバーの画面

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、Linuxのsyslogの設定方法を解説します。syslogとは、Linuxでログの出力を設定しているプログラムです。さまざまなプログラムからログデーターを受け取り、syslogによって出力されています。今回はsysylogの設定方法について詳しく解説します。

syslogの設定方法とは?

syslogの設定方法はどうやってやるの?

今回の記事では、syslogの設定方法について詳しく解説します。

設定はrsyslog.conf

syslogではログの出力設定を行います。設定ファイルは。”/etc/rsyslog.conf”です。viコマンドを使用して編集してみましょう。

vi /etc/rsyslog.conf

ファイルを開くと、「MODULES」や「GLOBAL DIRECTIVES」のように設定毎で項目が分かれています。

rsyslogファイル

ログの出力設定は、「RULES」の部分です。ファイルの中盤あたりまで移動しましょう。

ログの出力設定

ファイルの中盤に移動すると、ログの出力設定がいくつかの設定がされています。

###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log

ログの出力は以下のように設定します。

user.*                               -/var/log/user.log
[ファシリティ].[プライオリティ]  出力先

ファシリティやプライオリティ、ログの出力先を指定します。ファシリティやプライオリティが何なのか分からない方のためにさらに詳しく解説します。

設定が完了したら、rsyslogファイルを再起動しましょう。

/etc/init.d/rsyslog restart

syslogファイルの設定値について

ここからは、syslogファイルの設定値について詳しく解説します。先ほどファシリティやプライオリティという言葉がありましたが、それらがどのようなものなのかも併せて解説します!

syslogのファシリティとは

syslogのファシリティとは、メッセージの出力元です。ログの種類のことです。具体的には、カーネルや実行中のプロセスになります。

ファシリティには、以下のようなものがあります。

  • auth,authpriv(認証システム)
  • cron(クーロン)
  • deamon(デーモン)
  • kern(カーネル)
  • lpr(印刷システム)
  • mail(メールシステム)
  • syslog(syslog機能)
  • local0~local7(独自の設定)

「*」を使うと全てのファシリティという意味になります。

syslogのプライオリティとは

プライオリティとは、メッセージの優先度です。エラーのレベルやシステムの情報などのログを分類することができます。

プライオリティは以下のようなものがあります。

  • emerg(危機的状況
  • alert(早急に対処が必要)
  • crit(危険な状態)
  • error(エラー)
  • warning(警告)
  • notice(重要な通知)
  • info(システムからの情報)
  • debug(デバッグ情報)
  • none(ファシリティは無効)

上からファシリティが高いものとなり、システムが稼働するに当たり重要な順でログを表示します。

syslogの出力先

最後に出力先です。出力先には、ファイル名やリモートのホスト名を記入します。

出力先には、以下のものが設定できます。

ファイル名ファイルにログを出力する
@[ホスト名]リモートのホストにsyslogを出力する
ユーザー名ユーザーの端末にログを出力する
*を指定すると全ユーザーに出力
/dev/consoleコンソールに出力する

また、ファイル名の先頭に「-」を付けると、書き込み後に記憶しなくなります。書き込み負荷が下がりますが、障害が発生した場合にログな残らなくなる可能性があるので注意しましょう。

syslogの設定方法まとめ

今回の記事では、syslogの設定方法を解説しました。振り返りですが、syslogは以下のように設定します。

user.*                               -/var/log/user.log
[ファシリティ].[プライオリティ]  出力先

ファシリティやプライオリティを設定して、適切なログの管理を行いましょう!

このようなインフラエンジニアに必要な知識を当ブログでは、紹介しているので興味のある方は是非ご覧ください。

さらにlinuxについて勉強したい方はこちらの参考書がオススメです。

About me
大手メーカのIT部門→上場ベンチャーでフルスタックエンジニアやってます。エンジニア歴は8年目。 サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。 AI、ARも勉強中です! youtubeでも技術ネタを発信していきます。↓のアイコンよりご覧ください!

UdemyでIT講座をチェック!

  • セールだと1500円前後!
  • 無料サンプル講義動画・無料講義動画あり!
  • 気に入らなければ30日間返金保証!