欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-06-14 16:29:09
...

一、安装准备 服务器: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-inter

一、安装准备

服务器: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'