使用mongodb做数据存储的graylog2日志系统搭建

一、安装准备

服务器:Red Hat Enterprise Linux Server release 5.6 (Tikanga)

java运行环境:jdk1.6

ruby运行环境:ruby 1.9.2

graylog2-server:https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.5.tar.gz

graylog2-web-interface:https://github.com/downloads/Graylog2/graylog2-web-interface/graylog2-web-interface-0.9.5p2.tar.gz

二、部署graylog2-server(接收日志信息)

1.安装jdk1.6(安装步骤省略)

2.上传graylog2-server-0.9.5.tgz 至/opt目录下

tar zxvf graylog2-server-0.9.5.tgz

ln -s /opt/graylog2-server-0.9.5/graylog2.conf  /etc/graylog2.conf

修改graylog2.conf中mongodb数据源的设置

3.启动:cd /opt/graylog2-server-0.9.5/bin/ && ./graylog2ctl  start

4.测试:ps aux|grep graylog2 或者查看:/opt/graylog2-server-0.9.5/bin/nohup.out 有无错误信息

三、graylog2-web(web UI查看日志信息)

1.安装ruby到/usr/local下

下载ruby-1.9.2-p290.tar.gz:http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz

上传ruby-1.9.2-p290.tar.gz到/opt下

tar zxvf ruby-1.9.2-p290.tar.gz

cd ruby-1.9.2-p290

./configure --prefix=/usr/local/ruby

make && make install

echo 'PATH=/usr/local/ruby/bin:$PATH  export PATH' >> /etc/profile

source /etc/profile

测试是否安装成功:ruby -v


2.安装graylog2-web-interface

上传graylog2-web-interface.tgz 到/opt下

tar zxvf graylog2-web-interface.tgz

cd  graylog2-web-interface

 

gem install bundler                     ---需连网

bundle install                            ---需连网

 

bundle exec rake db:mongoid:create_indexes RAILS_ENV=production

chmod +x ./script/rails

修改/opt/graylog2-web-interface/conf/下的mongod.yml、general.yml、email.yml

启动:script/rails server -e production

测试:http://localhost:3000


***后台启动:

后台启动需要修改:

/usr/local/ruby/lib/ruby/gems/1.9.1/gems/graylog2-declarative_authorization-0.5.2/lib/declarative_authorization/reader.rb  94行

reader.parse(File.read(file), file)修改成

 reader.parse(File.read(Rails.root.join(file)), file)

然后

cd  /opt/graylog2-web-interface

bundle install --local

启动:script/rails server -e production -d

*********

添加定时检查(如果某个错误消息达到设定的量可以报警,确保服务器可以发送邮件)

*/10 * * * * cd /opt/graylog2-web-interface && /usr/local/ruby/bin/rake RAILS_ENV=production streamalarms:send

*/10 * * * * cd /opt/graylog2-web-interface && /usr/local/ruby/bin/rake RAILS_ENV=production subscriptions:send

测试:可以先执行一下以上两行定时器脚本看是否生效

到此graylog2日志系统已经安装完毕,

接下来,就可以使用log4j把项目中的日志输出到graylog2了,

需下载gelf4j的jar包:https://github.com/t0xa/gelfj

log4j配置:

log4j.appender.graylog2=org.graylog2.log.GelfAppender
log4j.appender.graylog2.graylogHost=localhost
log4j.appender.graylog2.facility=test
log4j.appender.graylog2.extractStacktrace=true
log4j.appender.graylog2.layout=org.apache.log4j.PatternLayout
log4j.appender.graylog2.layout.ConversionPattern=%p %d{yyyy-MM-dd HH\:mm} %c.%M(%L) | %m%n


####离线安装########

如果部署日志系统的服务器无法连网怎么办,下面就是提供一个离线安装的方法,前提是需要能连网的机器上安装好后把系统依赖的gems打包。具体方法

1.在已装好日志系统的机器上使用bundle pack把依赖的gems打包,会保存在vender/cache下,或者

把/usr/local/ruby/lib/ruby/gems/1.9.1/gems下的gems打包到不能连网的机器上。

2.在不能联网的机器上把/usr/local/ruby/lib/ruby/gems/1.9.1/gems下的gems都手工安装一下(使用gem install XXX.gem)

然后进入/opt/graylog2-web-interface  ,执行bundle install --system 这样就能安装好所依赖的gems了,其他的和前面所述的操作一样


其他:

graylog2-web-interface默认时间显示是使用UTC,所以有8小时的时间差,修改方法是

vi /opt/graylog2-web-interface/config/application.rb
config.time_zone = 'Beijing'


你可能感兴趣的:(mongodb,日志,graylog2)