graylog 2+mongodb集中管理ログサーバの構築

7360 ワード

graylog 2はオープンソースのログストレージシステムで、java言語で作成されたserverで、TCP、UDP、AMQPのプロトコルで送信されたログ情報を受信することができ、mongodbデータベースサーバに基づいて迅速にストレージすることができ、rubyに基づいて作成されたweb管理インタフェースを通じて、あなたのログを軽く管理することができます.
私はネット上の教程によって以下の総括を行って、環境:centos 6.4 32 bit
一.ソースパッケージのダウンロード
#mongodb   ,              
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.2.1.tgz 
#graylog2  
wget http://cloud.github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.5.tar.gz 
#yaml
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz 
#ruby
wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz 
#graylog2-web
wget http://cloud.github.com/downloads/Graylog2/graylog2-web-interface/graylog2-web-interface-0.9.5p2.tar.gz 

mongodb yum , :

1、 CentosBase.repo
-------------------------------------------------------------------------------------
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
-------------------------------------------------------------------------------------
2、yum install mongo-10gen-server #
3、yum install mongo-10gen        #

.
yum -y install gcc* openssl-devel glib2-devel autoconf readline-devel curl-devel expat-devel gettext-devel zlib-devel

. mongodb ( mongodb 1 2 , yum 3 )
1. mongodb
useradd mongodb
mkdir -pv /data/db chown -R mongodb:mongodb /data
tar xvf /usr/src/mongodb-linux-i686-2.2.1.tgz -C /usr/local/
cd /usr/local/
ln -sv mongodb-linux-i686-2.2.1 mongodb
2. mongodb ,
vim /etc/init.d/mongod  
#
#!/bin/bash

# chkconfig: - 90 11 # description: mongodb server SysV script ./etc/rc.d/init.d/functions if [ -f/etc/sysconfig/mongod ]; then        ./etc/sysconfig/mongod fi mongod=/usr/local/mongodb/bin/mongod prog=mongod lockfile=/data/db/mongod.lock RETVAL=0 OPTIONS="--fork --logpath=/data/mongod.log"  start() {        echo -n $"Starting $prog: "        daemon  $mongod $OPTIONS          RETVAL=$?        echo        [ $RETVAL = 0 ]          return $RETVAL } stop() {    echo -n $"Stopping $prog: "    killproc -p ${lockfile}  $mongod    RETVAL=$?    echo    [ $RETVAL = 0 ] && rm -f ${lockfile} } case "$1"in  start)    start    ;;  stop)    stop    ;;  restart)    stop    start    ;;  status)    status -p ${lockfile} $mongod        RETVAL=$?    ;;  *)    echo $"Usage: $prog {start|stop|restart|status|}"    exit 1 esac exit $RETVAL ----------------------------------------------------
chmod a+x/etc/init.d/mongod 
chkconfig --add mongod 
chkconfig mongod on 
service mongod start 
3.graylog 2の作成に必要なデータベース・インスタンス
/usr/local/mongodb/bin/mongo 
>use graylog2 
>db.addUser('graylog','123456') 
>exit 
四.graylog 2-serverのインストール
1.JDK環境のインストール
cd/usr/src 
chmod a+x jdk-6u21-linux-i586.bin 
./jdk-6u21-linux-i586.bin 
mv jdk1.6.0_21//usr/local/ 
cd/usr/local/ 
ln -sv jdk1.6.0_21 jdk 
 
Java環境変数を追加し、 
vim/etc/profile 
JAVA_HOME=/usr/local/jdk 
PATH=$JAVA_HOME/bin:$PATH 
export JAVA_HOME PATH 
 
source/etc/profile 
2.graylog-serverのインストール
cd/usr/src 
tar -xvf graylog2-server-0.9.5.tar.gz -C/usr/local/ 
useradd graylog 
chown -R graylog:graylog/usr/local/graylog2-server-0.9.5/ 
cd/usr/local 
ln -sv graylog2-server-0.9.5 graylog2 
cp/usr/local/graylog2/graylog2.conf.example  /etc/graylog2.conf 
3.garylog 2-serverの構成
vim/etc/graylog2.conf  修正内容は以下の通り 
syslog_listen_port = 515    #デフォルトの514ポートを他の未使用ポートに変更します.514ポートはsyslog-ngデフォルトのポートです.ここではsyslog-ngの514ポートで他のサーバからのログを受信し、処理する必要があります. 
syslog_protocol = udp 
 
mongodb_useauth = true 
mongodb_user = graylog     #mongodbにアクセスするユーザー名 
mongodb_password = 123456   #mongodbユーザー名へのアクセスパスワード 
mongodb_host = localhost    #mogodbのホスト 
mongodb_Database=graylog 2#ログを格納するデータベース 
mongodb_port = 27017        #mongodbのポートにアクセスします.デフォルトは27017です. 
...... 
...... 
 
便宜上graylog-serverサービス起動スクリプトプロファイルを変更します. 
sed -i 's/java/$JAVA_CMD/'/usr/local/graylog2/bin/graylog2ctl 
sed -i '2 aJAVA_CMD=/usr/local/jdk/bin/java'/usr/local/graylog2/bin/graylog2ctl 
4.graylog 2-serverをシステムサービスに追加して起動する
vim/etc/init.d/graylog2  #内容は以下の通り 
#!/bin/bash 

# chkconfig: - 83 19 
# description: graylog2-server SysV script 

 
GRAYLOG_BIN=/usr/local/graylog2/bin 
cd $GRAYLOG_BIN && ./graylog2ctl $1 
 
------------------------------------------- 
chmod a+x/etc/init.d/graylog2 
chkconfig --add graylog2 
chkconfig graylog2 on 
service graylog2 start 
五.graylog 2-web-interfaceのインストール
1.rubyスクリプト言語環境のインストール
tar xvf yaml-0.1.4.tar.gz 
cd yaml-0.1.4 
./configure --prefix=/usr/local/yaml 
make 
make install 
tar xvf ruby-1.9.2-p0.tar.gz 
cd ruby-1.9.2-p0 
./configure --prefix=/usr/local/ruby --enable-shared --disable-install-doc --with-opt-dir=/usr/local/yaml 
make 
make install 
 
PATH環境変数に追加 
echo 'PATH=/usr/local/ruby/bin:$PATH  export PATH' >>/etc/profile
 
source/etc/profile 
2.graylog 2-web-interfaceのインストール
tar xvf graylog2-web-interface-0.9.5p2.tar.gz -C/usr/local/ 
cd/usr/local/ 
chown -R graylog:graylog/usr/local/graylog2-web-interface-0.9.5p2/ 
ln -sv graylog2-web-interface-0.9.5p2/graylog2-web-interface 
cd graylog2-web-interface 
gem install bundler     #ネットワーク接続が必要 
bundle install      #ネットワーク接続が必要 
3.graylog 2-web-interfaceの構成
vim/usr/local/graylog 2-web-interface/config/mongoid.yml(削除ファイルに構成がある)
production: 
  host: localhost   #mongodbのホスト 
  port: 27017       #mongodbのポート番号 
  username:graylog#mongodbのユーザー名 
  password: redhat  #mongodbのユーザー名パスワード 
  database: graylog2    #mongodbのデータベース名 
 
-------------------------------------------------- 
vim/usr/local/graylog 2-web-interface/config/general.yml#自分の必要に応じて修正し、何の修正もしなくても大丈夫です. 
vim/usr/local/graylog2-web-interface/config/email.yml   #自分の必要に応じて修正して、何の修正もしなくても大丈夫です.
 
ログカットcat>/etc/logrotate.d/graylog 2-web-interface<4.graylog 2-web-interfaceを起動し、上記のサービス起動スクリプトの例に従ってSysVスタイルのスクリプトを書くことができます.
cd/usr/local/graylog2-web-interface && ./script/rails server -e production & 
5.graylog 2-webインタフェースへの初アクセスの構成
ブラウザ入力http://サーバIP:3000を開くとgraylog 2のwebインタフェースが開きます. 
管理者アカウントを1つ追加するだけで、最初の使用にはいくつかの構成が必要です.
ドキュメント参照
http://ant595.blog.51cto.com/5074217/1081094
http://blog.sina.com.cn/s/blog_49be4d570100yvv1.html
http://blog.csdn.net/ckh8913/article/details/6747077