【rsyslog】システムログ管理サーバの設定手順

CentOS6.5でrsyslogの設定手順を作成しました。
基本設定だけは簡単にできますので、是非やってみてください。

また、syslogとの違いとメリットも紹介します。

rsyslog設定手順

ネットワーク機器及びサーバ機器等に於いてそれぞれ”ログ”が吐かれます
そこで毎回のように各機器にアクセスし、ログを確認することはかなり時間が掛かり、めんどくさいです。

そこで、syslog(rsyslog)サーバを構築することにより、利便性を図り円滑に運営できることを目的にしています。(と自分で勝手に解釈する。)

syslogとは

NW機器、サーバ、またはOSやアプリケーションは起動し停止するまで多くのログメッセージを吐きます。
ログメッセージは正常な動作を出力するものから、異常(エラー)を検知し出力するものまで多様です。

では、バックグラウンドで動作しているOSやアプリケーション、その他ネットワーク機器のログを表示するためにはどうすればいいのか。
先ほども言いましたが。

めんどくさい。

だったら、何らかの方法でその情報(ログメッセージ)を収集し、管理すればいい。

そこで導入されたのが”syslog”であります。

 

 

rsyslogを使うメリット

小難しい専門的なことは省いて、現状じぶんが把握できるrsyslogがなぜ便利なのかっちゅうことをまとめます。

 

 

TCPを使ったログメッセージの転送が可能になった。

通常使用しているsyslogはUDPしか使えません。
それによって、ログメッセージの取りこぼしがあった際など確実にログを取得できないってことがあります。
そんで、rsyslogはTCPを使用しているのでログメッセージの取りこぼしがあった時でも再送処理によってログメッセージの取りこぼしを無くし信頼性を高めることができるんです。

 

 

さまざまなデータベースをサポート

通常使用しているsyslogでもデータベースと連携できますが、外部プログラムを利用するので設定が面倒です。
rsyslogではデータベースの管理システムがデフォルトで使用可能です。(MySQLなど)
しかも、以下のような他のデータベースにも対応しています。

  • PostgreSQL
  • Firebird
  • InterBase
  • SQL Server
  • SQLite
  • Oracle

 

 

暗号化を使ったログ転送が可能

rsyslogはモジュールを追加するだけで暗号化通信(SSHやSSL/TLS)が可能になります。

 

 

【なりすまし】の防止

認証方式を使用できることにより、正規なところからのアクセスなのか見分けることが可能になります。

これによてなりすましの防止になるのでセキュリティーの観点からもメリットがあります。

 

 

ログメッセージを圧縮して転送することができる

ネットワーク機器、サーバからrsyslogサーバへログメッセージを転送する際、データを圧縮して送ることにより快適な転送ができ、帯域を抑え、転送時間を短縮することもでき、サーバへの負荷も軽減されます。

 

 

ログファイルの分割及び保存が可能

syslogでは2Gバイトを超えるログメッセージは停止してしまうのですが、rsyslogは2G以上のファイルにも対応し、ログメッセージを転送することが可能になっています。

 

rsyslog設定手順

rsyslogはcentos6.5インストール時にはデフォルトでインストールされています。

まずは確認から

# chkconfig --list | grep rsyslog
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
# which rsyslogd
/sbin/rsyslogd

バージョンは以下のようになっています。

# cat /etc/sysconfig/rsyslog
# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
# See rsyslogd(8) for more details
SYSLOGD_OPTIONS="-c 5"

rsyslog.confの設定

バックアップ実施

# ll /etc/rsyslog.conf
-rw-r--r--. 1 root root 2875  8月 15 20:24 2013 /etc/rsyslog.conf
# cp -p /etc/rsyslog.conf /etc/rsyslog.conf_original

# ll /etc/rsyslog.*
-rw-r--r--. 1 root root 2875  8月 15 20:24 2013 /etc/rsyslog.conf
-rw-r--r--  1 root root 2875  8月 15 20:24 2013 /etc/rsyslog.conf_original

rsyslog.confの修正

# vi /etc/rsyslog.conf

# Provides UDP syslog reception
$ModLoad imudp			#を外す
$UDPServerRun 514		#を外す

# Provides TCP syslog reception
$ModLoad imtcp			#を外す
$InputTCPServerRun 514		#を外す

一番簡単な方法としてはこれでOKです。

 

ログの確認

あとは対象の機器からログメッセージが吐かれているか確認できれば完成です。

# tail -f /var/log/messages

May 16 18:16:35 localhost tmm[13994] 2014-05-16 18:16:34 test.jp qid 31140 from 10.50.0.1#48635: view none: query: www.test.jp IN A - (192.168.1.2%0)

細かい設定は次回記載します。

以上です。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!