Graylog2+mongdb+rsyslog中央日志服务器对syslog的web管理--转载
原文地址:http://blog.sina.com.cn/s/blog_49be4d570100yvv1.html
1、下載mongodb,可以通過(guò)下面2中方法安裝。
(1)官網(wǎng)下載yum源后直接安裝或下載tar包進(jìn)行安裝。http://www.mongodb.org/?。
(2)通過(guò)EPEL(企業(yè)linux額外軟件包)安裝。http://fedoraproject.org/wiki/EPEL?。
方便起見(jiàn),這里選擇用yum源直接安裝。
<1>在*.repo中加入
-------------------------------------------------------------------------------------
[10gen]
name=10gen?Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
-------------------------------------------------------------------------------------
<2>yum?install?mongo-10gen-server
2、啟動(dòng)、配置mongodb
<1>vi?/etc/mongod.conf
-------------------------------------------------------------------------------------
port?=?27017?#運(yùn)行端口27017
auth?=?true??#開(kāi)啟認(rèn)證
nohttpinterface?=?false
-------------------------------------------------------------------------------------
<2>/etc/init.d/mongod?start
<3>mongo
????>use?graylog2
>db.addUser("login","passwd")?#graylog2庫(kù)的user,graylog2這個(gè)user和mongo相連
>db.auth("login","passwd")?#打開(kāi)認(rèn)證
>db.system.users.find()?#查看存在的用戶
>exit
<4>/etc/init.d/mongod?restart?#mongodb默認(rèn)是開(kāi)機(jī)自啟動(dòng)的
用ps?aux?|?grep?mongo查看是否存在進(jìn)程;
用tail?-f?/var/log/mongo/mongod.log跟蹤mongodb信息。
3、下載graylog2-server(需要JAVA環(huán)境)
為方便起見(jiàn),我們使用系統(tǒng)自帶的openjdk
<1>yum,?install?java-1.6.0-openjdk
<2>tar?zxvf?graylog2-server-0.9.5p1.tar.gz?-C?/opt
<3>cd?/opt;?ln?-s?graylog2-server-0.9.5p1?graylog2
<4>cd?graylog2;?cp?graylog2.conf.example?/etc/graylog2.conf
4、配置、啟動(dòng)graylog2-server,連接mongodb。
<1>vi?/etc/graylog2.conf
-------------------------------------------------------------------------------------------
#?On?which?port?(UDP)?should?we?listen?for?Syslog?messages??(Standard:?514)
syslog_listen_port?=?514
syslog_protocol?=?udp
#?MongoDB?Configuration
mongodb_useauth?=?true
mongodb_user?=?login
mongodb_password?=?passwd
mongodb_host?=?localhost
#mongodb_replica_set?=?localhost:27017,localhost:27018,localhost:27019
mongodb_database?=?graylog2
mongodb_port?=?27017
-------------------------------------------------------------------------------------------
<2>cd?/opt/graylog2/bin
<3>./graylog2ctl?start
(注:其log日志就存在當(dāng)前目錄下的nohup.out中。后面會(huì)修改并放入/var/log/下,這樣便于日志管理,排錯(cuò))
<4>./graylog2ctl?stop
<5>vi?/etc/init.d/graylog2-server(仿照graylog2ctl寫(xiě)此腳本)
-------------------------------------------------------------------------------------------
#!/bin/sh
#
#?graylog2-server:???graylog2?message?collector
#?chkconfig:?-?98?02
#?description:??This?daemon?listens?for?syslog?and?GELF?messages?and?stores?them?in?mongodb
#
CMD=$1
NOHUP=`which?nohup`
#JAVA_HOME=/usr/java/latest
#JAVA_CMD=$JAVA_HOME/bin/java
GRAYLOG2_SERVER_HOME=/opt/graylog2
?
start()?{
????echo?"Starting?graylog2-server?..."
????$NOHUP?java?-jar?$GRAYLOG2_SERVER_HOME/graylog2-server.jar?>?/var/log/graylog2.log?2>&1?&
}
stop()?{
????????PID=`cat?/tmp/graylog2.pid`
????echo?"Stopping?graylog2-server?($PID)?..."
????????kill?$PID
}
restart()?{
????echo?"Restarting?graylog2-server?..."
????????stop
????????start
}
case?"$CMD"?in
????start)
????????start
????????;;
????stop)
????????stop
????????;;
????restart)
????????restart
????????;;
????*)
????????echo?"Usage?$0?{start|stop|restart}"
????????RETVAL=1
esac
-------------------------------------------------------------------------------------------
<6>chmod?+x?/etc/init.d/graylog2-server
<7>chkconfig?--add?graylog2-server
<8>chkconfig?graylog2-server?on
<9>/etc/init.d/graylog2-server?start
此時(shí),日志就存在了/var/log/graylog2.log。
????用“ps?aux?|?grep?graylog2”查看是否存在java?-jar?../graylog2-server.jar這個(gè)進(jìn)程。
????用cat?/var/log/graylog2.log查看是否有錯(cuò)誤信息。(這里首先要注意主機(jī)的域名解析問(wèn)題,再然后是可能會(huì)報(bào)錯(cuò),說(shuō)514端口沒(méi)有權(quán)限,可以先暫時(shí)不管它,后面會(huì)處理這個(gè)問(wèn)題)
當(dāng)然在mongodb中用db.messages.find()命令查看graylog2庫(kù)的messages表,這時(shí)應(yīng)該已經(jīng)插入了這個(gè)關(guān)于514端口沒(méi)有權(quán)限的錯(cuò)誤日志信息。
5、下載、配置graylog2-web-interface需要的RUBY環(huán)境
<1>先卸載舊版本的ruby(它不支持graylog2)
yum?erase/remove?ruby?ruby-libs?ruby-mode?ruby-rdoc?ruby-irb?ruby-ri?ruby-docs
<2>yum?install?gcc?gcc-c++?openssl-devel?zlib-devel?autoconf?readline-devel?curl-devel?expat-devel?gettext-devel
<3>下載新的ruby。http://www.ruby-lang.org/en/downloads/?。
tar?jxvf?ruby-1.9.2-p0.tar.bz2
<4>cd?ruby-1.9.2-p0
<5>./configure?-enable-shared?-enable-pthread?-prefix=/usr
<6>make
<7>make?install
注:Ruby1.9.2以上包含了rubygems
<8>ruby?-v?查看到rybu版本號(hào)1.9.2p0
<9>gem?-v?查看到1.3.7
由<8><9>兩步的測(cè)試結(jié)果,說(shuō)明ruby安裝成功。
<10>gem?update?
<11>gem?install?rake
6、下載、配置graylog2-web-interface
<1>tar?zxvf?graylog2-web-interface-0.9.5p2.tar.gz?-C?/opt
<2>cd?/opt;?ln?-s?graylog2-web-interface-0.9.5p2?graylog2-web-interface;
useradd?-m?graylog;chown?-R?graylog?/opt/graylog2-web-interface-0.9.5p2
<3>cd?graylog2-web-interface
<4>gem?install?bundler
<5>bundle?install
<6>Edit?all?./config/*.yml。這里可以先只編輯mongoid.yml
vi?/opt/graylog2-web-interface/config/mongoid.yml
--------------------------------------------------------------------------------------------
production:
??host:?localhost?#注意從此行起,前面不能頂格,有2個(gè)空格
??port:?27017
??database:?graylog2
??username:?login
??password:?passwd
--------------------------------------------------------------------------------------------
<7>RAILS_ENV=production?script/rails?server
訪問(wèn)http://127.0.0.1:3000測(cè)試,若出現(xiàn)頁(yè)面讓你創(chuàng)建第一個(gè)用戶,則成功。
<8>按Ctrl?C,結(jié)束它。
<9>gem?install?passenger????????#下載后,用passenger管理控制graylog2-web
<10>gem?install?file-tail
<11>chmod?-R?777?tmp?log
<12>passenger?start
Passenger自動(dòng)下載、配置、組建好一切所需要的東西后,按Ctrl?C,結(jié)束它。
<13>?vi?/etc/init.d/graylog2-web-interface?(原本是沒(méi)有這個(gè)文件的)
-------------------------------------------------------------------------------------------
#!/bin/bash
#
#?graylog2-web-interface:???graylog2?web?interface
#
#?chkconfig:?-?98?02
#?description:??Starts?graylog2-web-interface?using?passenger-standalone.?
#?
USER=graylog
APP_DIR=/opt/graylog2-web-interface
ADDR=127.0.0.1
PORT=3000
ENVIRONMENT=production
#LOG_FILE=/var/log/graylog2-web-interface.log
?
CMD_START="cd?$APP_DIR;?passenger?start?-d?\
????????????????????-a?$ADDR?\
????????????????????-p?$PORT?\
????????????????????-e?$ENVIRONMENT?\
????????????????????--user?$USER"
CMD_STOP="cd?$APP_DIR;?passenger?stop?-p?$PORT"
CMD_STATUS="cd?$APP_DIR;?passenger?status?-p?$PORT"
.?/lib/lsb/init-functions
case?"$1"?in
??start)
????echo?"Starting?graylog2-web-interface"
????su?-?$USER?-c?"$CMD_START"
????;;
??stop)
????echo?"Stopping?graylog2-web-interface"
?????su?-?$USER?-c?"$CMD_STOP"
????;;
??status)
???su?-?$USER?-c?"$CMD_STATUS"
???;;
??*)
????echo?"Usage:?$0?start|stop|status"?>&2
????exit?3
????;;
esac??????????????????????????????????????????????????????????????????????????????????????????????
-------------------------------------------------------------------------------------------
<14>chmod?+x?/etc/init.d/graylog2-web-interface?
<15>chkconfig?--add?graylog2-web-interface?
<16>chkconfig?graylog2-web-interface?on
<17>/etc/init.d/graylog2-web-interface?start
訪問(wèn)http://127.0.0.1:3000,看!出現(xiàn)頁(yè)面讓你創(chuàng)建第一個(gè)用戶!搞定!
在這里你先創(chuàng)建你的first?user(我的是admin、adminpasswd,記得填個(gè)Email),然后就可以用剛創(chuàng)建的user進(jìn)入web界面了。
7、用ryslog代替本機(jī)syslog,使graylog2正常開(kāi)啟、運(yùn)行
此時(shí),你的graylog2服務(wù)器還沒(méi)有真正搭建好,日志并不能被收集進(jìn)mongodb中存儲(chǔ),并通過(guò)graylog2-web頁(yè)面顯示出來(lái)。你會(huì)發(fā)現(xiàn)web上會(huì)一直報(bào)告錯(cuò)誤說(shuō)你的graylog2?server好像沒(méi)有運(yùn)行,通過(guò)個(gè)log信息可以知道是原因是graylog2(server)對(duì)514端口沒(méi)有權(quán)限。這個(gè)也就是我們之前遺留下來(lái)的問(wèn)題。
解決辦法如下:
<1>yum?install?rsyslog
<2>vi?/etc/sysconfig/rsyslog
----------------------------------------------------------------------------------------
SYSLOGD_OPTIONS="-m?0?-r10514"
----------------------------------------------------------------------------------------
<3>?vi?/etc/rsyslog.conf
----------------------------------------------------------------------------------------
*.*?????????????????@127.0.0.1:514
----------------------------------------------------------------------------------------
<4>/etc/init.d/syslog?stop
<5>chkconfig??syslog?off
<6>/etc/init.d/rsyslog?start
<7>chkconfig??rsyslog?on
<8>netstat?-anltpue?|?grep?514
可以看見(jiàn)
udp???0???0?0.0.0.0:10514????0.0.0.0:*????0????124239????4766/rsyslogd
<9>/etc/init.d/graylog2-server?restart
<10>netstat?-anltpue?|?grep?514
可以看見(jiàn)有
udp???0???0?0.0.0.0:10514????0.0.0.0:*????0????124239????4766/rsyslogd
udp???0???0?:::514???????????:::*????????0????111125????957/java?
然后,你就可以測(cè)試你的graylog2是否正常運(yùn)行了。Web界面有了messages數(shù)據(jù),查看mongodb中的graylog2庫(kù)也有了messages表的數(shù)據(jù)。Graylog2正常運(yùn)行。
8、增加遠(yuǎn)程客戶機(jī)
????我們來(lái)為這臺(tái)graylog2中央日志服務(wù)器增加客戶機(jī):
<1>vi?/etc/syslog.conf
----------------------------------------------------------------------------------------------
*.*??????????????????????????@graylog2's?IP
----------------------------------------------------------------------------------------------
<2>/etc/init.d/syslog?restart
好了,大功告成!可以用logger命令進(jìn)行測(cè)試,并在graylog2?web界面中查看、管理遠(yuǎn)程log日志了。
9、下載、配置graylog2虛擬主機(jī)、啟動(dòng)apache
<1>yum?install?httpd?-y
<2>vi?/etc/httpd/conf/httpd.conf?
-------------------------------------------------------------------------------------------
NameVirtualHost?*:80
?
<VirtualHost?*:80>
ServerName?log.example.com
ServerAlias?graylog2.example.com
????ProxyPreserveHost?On
????ProxyPass????????/?http://127.0.0.1:3000/
????ProxyPassReverse?/?http://127.0.0.1:3000/
?
????CustomLog?/var/log/httpd/graylog2.example.com-access_log?common
</VirtualHost>
-------------------------------------------------------------------------------------------
<3>?service?httpd?configtest
顯示“Syntax?OK”證明配置正確。
<4>/etc/init.d/httpd?start
Finally,通過(guò)web頁(yè)面訪問(wèn)log.example.com或者graylog2.example.com進(jìn)入graylog2日志管理系統(tǒng)。
?
10、web界面
<1>通過(guò)選項(xiàng)中的設(shè)置(這里設(shè)置為1,即1min),可調(diào)整、查看最近N(這里為1)min里graylog2(mongodb)接收到的日志信息(即messages)數(shù)量為多少,提示信息。
<2>通過(guò)選項(xiàng)創(chuàng)建一個(gè)組【這里創(chuàng)建的組名為(r)syslog】后,你還可以將主機(jī)加入組,便于分類、管理。
當(dāng)然,還有更多的功能等待你去發(fā)現(xiàn),最后,再送上2張截圖,祝你好運(yùn):)
?
?
?
?
?
?
?
?
?
?
?
?
??
參考文檔:
http://joemiller.me/2011/04/13/howto-install-graylog2-on-centos-5-with-rvm-passenger/
http://www.moneyq.org/blog/wnoznpwb/index.php?showentry=42766
http://eromang.zataz.com/2011/06/22/howto-install-graylog2-log-management-solution-under-centos/
http://community.zenoss.org/docs/DOC-4553
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/4486800.html
總結(jié)
以上是生活随笔為你收集整理的Graylog2+mongdb+rsyslog中央日志服务器对syslog的web管理--转载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: graylog2 架构--转载
- 下一篇: Tomcat7启动报Error list