サーバで障害が発生した時、ログの確認は必要ですよね。
RHEL、CentOS、Ubuntu等のLinux系のサーバの場合、慣れていないとそもそもログが何処に出力されているかも分かりません。
IT業界で長く働いていても、業務内容は様々です。
WindowsOSばっかりだった、アプリ系の業務でOS側は良く分からない等、よくある事だと思います。
私は5年程度保守運用の業務を行い、RHEL、CentOS等のLinux系のサーバ、少し系統の異なるAIX等の運用を行ってきました。
この運用業務で得た経験を基に、ログの設定であるSyslog.confについて記載をします。
このような方向け
- Linuxのログを確認したいけど、出力先が分からない方
- syslog.confファイルが見つからない方
- ログインした時のログがどこに出力されるのか知りたい方
Syslog.confはログの設定ファイル
Syslog.conf(rsyslog.conf)はログの出力先、出力種類等が記載された設定ファイル
ログの出力ですが、ログを出力するためのデーモン、その設定ファイルがSyslog.confとなります。
デーモンは、windowsOS的にいうとサービスの様なイメージで考えてください。
常駐して、裏で頑張ってくれているプログラムです。
Syslog.confとrsyslog.confについては、どちらもログを出力するデーモンのための設定ファイルです。
rsyslogの方がセキュリティ的な面で色々な機能が追加されており、新しいバージョンのOSを使用している場合は、こちらが標準で入っていることが多いと思います。
「Syslog.conf」ファイルが無い場合は、そもそもどちらのデーモンが動いているかを確認してみた方が良いです。
Syslog.confからログの出力先を確認
Syslog.confは「/etc」に格納されている
Syslog.confファイルを参照して、ログの出力先を確認しましょう。
格納先は、Syslog.confでもrsyslog.confでも「/etc」パスの下になっています。
テキストで記載されているため、catやmoreコマンドで参照できます。
cat /etc/syslog.conf
色々なコメントや設定が表示されますが、確認した部分は下の方に出力されます。
- *.info;mail.none;authpriv.none;cron.none /var/log/messages
出力するログの種類が「*.info;mail.none;authpriv.none;cron.none」
出力先のファイル名が「/var/log/messages」となります。
出力先のファイル名は簡単に理解できると思いますが、出力されるログの種類が少し見難いと思います。
「ログのタイプ」と「ログのレベル」をドット「.」で接続した記載がログの種類になります。
複数のログ種類を組み合わせる場合は間に「;」を記載します。
- 「*.info」:すべて(*)の情報ログ(info)を出力
- 「mail.none」:メール(mail)のログは出力しない(none)
- 「authpriv.none」:認証ログ(authpriv)は出力しない(none)
- 「cron.none」:cronのログは出力しない(none)
の様なフォーマットになります。
ここの記載を確認することで、目的のログが何処に出力されるか判断が可能となります。
ちなみに、ログイン関連のログは別ファイルに出力されていることが多いようです。
- authpriv.* /var/log/secure
「authpriv」の出力先を参照すれば、ログイン情報が参照できます。
Linux系関連記事
初心者向けに、アカウントロック時の記事も記載しています。
初心者向け「ログインできない場合の確認」(RHELインフラ保守運用)
まとめ
ログは様々な情報が含まれているため、障害や調査の際に参照することが多いと思います。
WindowsOSと異なり、イベントビューアを開けば参照できる、というわけでは無いのでログの出力先の確認方法について記載をしてみました。
設計されたシステムの方針にもよりますが、出力先はデフォルトのままであることが今までの経験では多いようです。
もしもログが思っていた場所になかった場合は、出力先についてSyslog.confファイルを参照することをお勧めします。