目次
ログの調査とは
サーバを利用する際には、ログの調査が必要不可欠です。
ログを調査することによって、利用状況や外部からの不正アクセスなどを把握することができます。
本記事では、Linuxでログを調査する方法についてまとめました。
仕事でLinuxを使用する際には、ぜひ参考にしてください。
Linuxとは
Linuxとは、WindowsやMacと同じOSの1つです。CentOS、Fedora、Ubuntu、RedHatが有名で、AndroidもLinuxが組み込まれています。
Linuxでログを調査する方法
Linuxのログ調査は、保守者が直接コマンドを投入しログファイルを確認する方法です。テキストデータで格納されていますので、目視で行います。
実際にログ調査に使用するコマンドは、次項で詳しくご紹介します。
Linuxでのログ調査で使用するコマンド
Linuxのログ調査に使用するコマンドは「grep」「tail」「last」「less」の4つがあります。
「grep」は、ログ情報の条件を設定するものです。「tail」は、ログファイルの最後を指定するものです。「-f」の入力で最新情報の表示が可能です。「last」では、最近のログイン履歴を確認することができます。「less」はファイルの閲覧にするのに使うコマンドです。
syslogとは
syslogとは、情報をログとして保存していく仕組みを表します。
Linuxではsyslogデーモンがログを記録しており、syslogデーモンの種類としてはrsyslogやjounraldなどがあります。
syslogの書式は、以下のようになっています。
<�ファシリティ>.<�プライオリティ> 出力先
例えばcron.* /var/log/cronであれば、ファシリティがcron、プライオリティがすべて、出力先がlog/cronとなります。
*(アスタリスク)はすべてを指定するときに用いられます。
ファシリティとはメッセージの出力先のことで、具体的にはcron(cronからのメッセージ)、daemon(daemonからのメッセージ)、kern(カーネルからのメッセージ)、lpr(印刷関係のメッセージ)、mail(メール関係のメッセージ)、syslog(syslogの機能関係のメッセージ)などがあります。
また、プライオリティとは優先度のことをいいます。
プライオリティが高い順に、emerg、alert、crit、err、warning、notice、info、debug、noneとなっています。
ログのローテーション
ログのローテーションは、ログ記録データが限りなく増えることを防ぐために、一定の容量や期間ごとに古いログを削除したり上書きする機能のことです。
ローテーション機能は、cronによる定期実行で成り立っています。「/etc/logrotate.conf」ファイルでlogrotateの設定が可能です。
/var/log/とは
Linuxのログは、アプリケーションが記録するログとsyslogデーモンが記録するログの2つに分けられます。
そして、アプリケーション自体が記録するログのほとんどは/var/log/配下に保存されます。
ログを正しく調査・管理するためには、どのログがどこに保存されているのかを把握しておくことが大切だといえます。
個別アプリケーションに問題が生じた場合などは、/var/log/配下を確認してみてください。
スムーズに問題の原因を発見できる可能性があるといえるでしょう。
systemdの場合のログ管理
systemdはログを出力する機能を有するため、後から分析するときなどに便利です。
初期の設定では、ログは再起動時にクリアされるため、再起動時のエラー処理が走ったときに、ログの参照不可という問題があります。
対処として、ログを消さない設定する事でログがクリアされず分析に利用可能となります。
Linuxをマスターしてエンジニアとしての市場価値を上げよう
Linuxは、アプリケーション開発やサーバ構築を始めとした様々な用途で利用されています。
エンジニアであればLinuxを使う機会は多いといえるでしょう。
そのため、他のエンジニア以上にLinuxに関する知識を深めていくことで、希少な存在になることができます。エンジニアとしての市場価値を上げるためにも、ぜひLinuxをマスターしてください。
インフラエンジニア専門の転職サイト「FEnetインフラ」
FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。
転職をお考えの方は気軽にご登録・ご相談ください。