こういった悩みを解決するのが
/etc/rsyslog.conf の設定です。Linuxのログ管理は rsyslog(または syslog)デーモンが担っており、どのログをどこに出力するかをこのファイルで細かく制御できます。【この記事でわかること】
・/etc/rsyslog.confでログのファシリティ・プライオリティ・出力先を設定できる・ファシリティはログのカテゴリ(kern/mail/cronなど)を意味する
・プライオリティはログの重要度(debug/info/warning/err/critなど)を意味する
・設定変更後はrsyslogサービスの再起動が必要
rsyslog.confの基本構造
/etc/rsyslog.conf の設定は「セレクタ(ファシリティ.プライオリティ)」と「アクション(出力先)」の組み合わせで記述します。[root@Tiger ~]# vi /etc/rsyslog.conf #### RULES #### # *.info以上のレベルを /var/log/messages に記録(mail,authpriv,cronを除く) *.info;mail.none;authpriv.none;cron.none /var/log/messages # 認証メッセージはアクセス制限されたファイルに記録 authpriv.* /var/log/secure # メールメッセージを記録(先頭の-はディスク書き込みを非同期にする意味) mail.* -/var/log/maillog # cronのメッセージを記録 cron.* /var/log/cron # 全員に緊急メッセージを通知 *.emerg * # ブートメッセージを記録 local7.* /var/log/boot.log
ファシリティ(ログのカテゴリ)
ファシリティはログを出力するプロセスやカテゴリを表します。・auth / authpriv:認証メッセージ(sshなど)
・cron:cronデーモンのメッセージ
・daemon:各種デーモンのメッセージ
・kern:カーネルメッセージ
・mail:メール関連メッセージ
・syslog:rsyslog自身のメッセージ
・local0 ~ local7:独自アプリケーション用の汎用ファシリティ
・*:すべてのファシリティ
プライオリティ(ログの重要度)
プライオリティは重要度の低い順に以下のとおりです。・debug:デバッグ情報
・info:通常の情報
・notice:通知
・warning:警告
・err:エラー
・crit:致命的な問題
・alert:すぐに修正すべき問題
・emerg:システム不能の非常事態
プライオリティを指定すると、そのレベル以上のすべてのメッセージが対象になります。特定レベルのみを対象にするには
= を使います(例:=debug)。none を指定するとそのファシリティを除外できます。設定変更の手順
1. rsyslog.confを編集する
[root@Tiger ~]# vi /etc/rsyslog.conf
2. rsyslogを再起動して設定を反映する
# CentOS 6系 [root@Tiger ~]# /etc/rc.d/init.d/rsyslog restart システムロガーを停止中: [ OK ] システムロガーを起動中: [ OK ] # CentOS 7以降 [root@server ~]# systemctl restart rsyslog
応用・カスタム設定の例
特定アプリのエラーだけを別ファイルに記録する
# /etc/rsyslog.conf に追記する # local0ファシリティのerr以上を独自ファイルに記録 local0.err /var/log/myapp-error.log
ログを別サーバーに転送する
アクションに@ホスト名(UDP)または @@ホスト名(TCP)を指定することで、別サーバーにログを転送できます。# 全てのログをUDPで別サーバーへ転送 *.* @192.168.0.200
本記事のまとめ
・/etc/rsyslog.conf でログの出力先・ファシリティ・プライオリティを設定する・設定書式は「ファシリティ.プライオリティ 出力先」
・
none で特定ファシリティを除外、=プライオリティ で特定レベルのみを対象にする・変更後は
systemctl restart rsyslog(CentOS 7以降)で反映するでも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
Linuxのログ管理を体系的に学びたい方へ
rsyslogの設定を理解すると、障害発生時の原因調査が格段に早くなります。ログ管理はLinuxサーバー運用の基本スキルです。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:Linuxのロードアベレージを確認・理解する方法|uptimeとwの出力と高負荷時の原因特定
- 前のページへ:Linuxのホスト名をファイルで永続変更する方法|/etc/sysconfig/networkとhostsの設定手順
- この記事の属するカテゴリ:Linuxtips・ログ管理へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます