ログ分析ツールを調べていたところ、「Graylog」というツールがよさそうなので少し試してみることにした。
OSを用意してインストールが必要かと思っていたが、仮想アプライアンスが用意されているようなのでまずはそれを使ってみることにする。
1.導入
VMware ESXiのovaファイルの場合はこちら、KVMでqcow2の場合はこちらからダウンロードし、それぞれの仮想基盤上で利用できるようデプロイする。
デプロイ後、VMを起動させて初期設定を行う。以下の画面になったら、ID/PW「ubuntu/ubuntu」でログインする。
ログイン後、普通にUbuntuでやるように「/etc/network/interface」を編集して固定IPアドレスを設定し、ブラウザからアクセスする。
このとき、もしnmapしてsshしか上がってない場合は、コンソールから以下のコマンドを実行してやるとサービスが上がると思う。
sudo graylog-ctl reconfigure
ブラウザでアクセスしたら、ID/PW「admin/admin」でログインする。
2.ログを飛ばす
さて、それではクライアントからGraylogにログを飛ばすようにしてみよう。
今回は、手元のCentOS 7からrsyslog経由でログを飛ばすように設定する。
まず、Graylogの管理画面で、[System] > [Input]を選択、「Syslog TCP」を選択して「Launch new input」をクリックする。
タイトルを入力し、「Store full message?」にチェックを入れてSaveする。
あとは、クライアント側であるCentOS 7側で「/etc/rsyslog.conf」を編集して以下の内容を追記し、サービスを再起動する。
$WorkDirectory /var/lib/rsyslog # where to place spool files
$ActionQueueFileName fwdRule1 # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
$ActionQueueType LinkedList # run asynchronously
$ActionResumeRetryCount -1 # infinite retries if host is down
*.* @IPアドレス:514
*.* @@IPアドレス:514
サービスの再起動コマンド。
systemctl restart rsyslog
あとは、しばらく経てばGraylog側にログが転送されていく。