■Nagios Log Serverについて
ネットワーク機器やUNIXのsyslogなどを特定のサーバに集約し、rsyslogなどでログ管理を行っている管理者の人は多いと思います。ただ、rsyslogですとテキストベースで保存され、それらは生ログなので技術者以外の方が見ることはあまりないかと思います。
オープンソースのネットワーク監視ソフトで有名なNagiosでログ管理を行うNagios Log Serverという製品が存在し、一部機能制限がありながらも無料で利用することができます。これだとsyslog以外でもWindowsのイベント・ログなども受信することができ、ビジュアルにログ内容を解析した画面をブラウザから閲覧可能なのでこちらの乗り換えを検討してみようと思い、その備忘録を以下に記載します。
■インストール方法
まずNagios Log Serverを以下のサイトからダウンロードします。
https://www.jtc-i.co.jp/support/download/index.php
会社名や氏名などを入力する必要があります。2016/5/18時点で最新バージョンは1.4.0です。ファイル名はnagioslogserver-1.4.0.tar.gzです。これを解凍してインストールを行います。
# tar xvzf nagioslogserver-1.4.0.tar.gz # cd nagioslogserver/ # ./fullinstall <省略> Nagios Log Server Installation Success! You can finish the final setup steps for Nagios Log Server by visiting: http:///nagioslogserver/ |
上記コマンドで必要なパッケージ一式がまとめてインストールされます。完了後、コンソール上にブラウザからアクセスしてください、というメッセージが表示されるのでアクセスすると以下のような画面が表示されます。
上記で必要事項を入力して「Finish Installation」ボタンをクリックします。そうすると以下のログイン画面が表示されます。
左上のログインのところで先ほど設定したユーザ名、パスワードを入力してLoginボタンをクリックします。そうすると以下の画面が表示されます。
ログインが成功して上記画面が表示されればOKです。引き続き基本設定を行っていきます。今回はフリー版を利用するので赤背面で試用期間について表示されていますが、気にせず進めてください。
■基本設定
右上の管理メニューから左下のグローバル設定を選択します。ここではデフォルト言語やURL、タイムゾーンなどの基本設定を行います。
続いてメール送信する際のfromやtoなどの設定を行います。左下のメール設定から行います。
以上で基本設定は完了となります。デフォルトですとNagios Log Server自体のログが蓄積されている状態です。後はリモートにあるサーバやネットワーク機器からこのNagios Log Serverに対してログを送信する設定が必要となります。
■Windowsイベント・ログ集約設定
今回、このソフトを導入した最大の目的はWindowsのイベントログを集約し、1台の管理サーバで監視をしたいというのが目的なので以下ではWindowsのログ設定を行います。
Nagios Log Serverにログインした直後の画面で Windowsソース、Linuxソース、ネットワークデバイスのアイコンがでており、それぞれをクリックするとどのようにリモートにある機器を設定変更すれば良いか説明文が表示されますので、基本はそれに従えば良いということになります。
今回はWindowsソースを追加するのでWindowsソースアイコンをクリックします。すると以下の画面が表示されるのでそのまま指示に従います。
Windows2008で試してみましたがNxLogも素直にインストールできましたが、confファイルの以下の部分のみ編集しました。
define ROOT C:\Program File(x86)\nxlog
→define ROOT C:\Program Files\nxlog
また、デフォルトだとWindowsのイベントログを大量に受信し、非常に見にくかったので、チャネルをApplication,System,Setupだけに絞り、なおかつInfoレベルのものは受信しないよう以下の記述を追記しました。
<省略> # Windows Event Log <Input eventlog> # Uncomment im_msvistalog for Windows Vista/2008 and later Module im_msvistalog # Uncomment im_mseventlog for Windows XP/2000/2003 # Module im_mseventlog Exec if ($Channel != 'Application') AND ($Channel != 'System') AND ($Channel != 'Setup') drop(); Exec if ($EventType == 'INFO') OR ($EventType == 'Info') drop(); Exec if ($Severity == 'INFO') OR ($Severity == 'Info') drop(); Exec if ($EventType == 'AUDIT_SUCCESS') OR ($EventType == 'Audit_success') drop(); </Input> <省略> |
32bit OSだったため上記のように編集しましたが、64bitの場合はそのままで良いと思われます。その他、LinuxOSやネットワーク機器なども集約が可能ですが詳しくは以下のドキュメントに記載されていますので参考にしてみてください。