1、安裝準備
java
服務器:Red Hat Enterprise Linux Server release 5.6 (Tikanga)git
java運行環境:jdk1.6github
ruby運行環境:ruby 1.9.2web
graylog2-server:https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.5.tar.gzmongodb
graylog2-web-interface:https://github.com/downloads/Graylog2/graylog2-web-interface/graylog2-web-interface-0.9.5p2.tar.gzapache
2、部署graylog2-server(接收日誌信息)ruby
1.安裝jdk1.6(安裝步驟省略)服務器
2.上傳graylog2-server-0.9.5.tgz 至/opt目錄下app
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 有無錯誤信息
3、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
***後臺啓動:
後臺啓動須要修改:
/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.rbconfig.time_zone = 'Beijing'