graylog 2+mongodb集中管理ログサーバの構築
7360 ワード
graylog 2はオープンソースのログストレージシステムで、java言語で作成されたserverで、TCP、UDP、AMQPのプロトコルで送信されたログ情報を受信することができ、mongodbデータベースサーバに基づいて迅速にストレージすることができ、rubyに基づいて作成されたweb管理インタフェースを通じて、あなたのログを軽く管理することができます.
私はネット上の教程によって以下の総括を行って、環境:centos 6.4 32 bit
一.ソースパッケージのダウンロード
# 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
私はネット上の教程によって以下の総括を行って、環境: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<
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