日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

graylog2+syslog-ng+mongodb构建集中管理日志服务器 --转载

發(fā)布時間:2025/4/5 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 graylog2+syslog-ng+mongodb构建集中管理日志服务器 --转载 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文地址:http://blog.chinaunix.net/uid-11065483-id-3654882.html

由于公司內(nèi)需要監(jiān)控QQ的上下線記錄,原本使用了分光+Panabit+Splunk的結(jié)構(gòu)來做記錄。Panabit的使用是相當舒服的,可是當一天內(nèi)的Splunk的日志記錄超過了500MB的時候,Splunk的Free版本卻不能再使用了,這讓我非常的郁悶。于是我開始尋找其他的解決方案,終于被我發(fā)現(xiàn)了Graylog2。Graylog2配合MongoDB可以快速檢索LOG的信息,這對于每天有大量日志需要記錄并偶爾需要檢索重要信息的場景中,十分的有用。
? ? Graylog2安裝完后的效果圖如下:
????
? ??效果還可以吧,使用Quickfilter可以快速檢索相關(guān)的Message。“一萬年太久,只爭朝夕”,咱說干就干!下面開始介紹如何安裝Graylog2。

一.源碼包下載

點擊(此處)折疊或打開

  • cd /usr/src
  • #mongodb數(shù)據(jù)庫,在此的主要作用是存儲日志信息
  • wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.2.1.tgz
  • #graylog2日志服務(wù)器
  • 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
  • #eventlog,安裝syslog-ng需要先安裝eventlog
  • wget http://www.balabit.com/downloads/files/syslog-ng/sources/3.2.4/source/eventlog_0.2.12.tar.gz
  • #syslog-ng日志服務(wù)器,
  • wget http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.3.5/source/syslog-ng_3.3.5.tar.gz
  • #JDK,java環(huán)境
  • JDK下載地址, http://www.oracle.com/technetwork/java/javase/downloads/index.html 打開此鏈接下載相應的jdk版本,這里以jdk-6u21-linux-i586.bin
  • ? ? ?你可以按上面的來下載,或者也可以到我的網(wǎng)盤上下載,地址是:http://www.kuaipan.cn/file/id_11613978115442246.htm。

    二.安裝相關(guān)依賴包

    點擊(此處)折疊或打開

  • yum -y install gcc* openssl-devel glib2-devel
  • ? ??操作系統(tǒng)推薦使用CentOS 5.7 X64版本。我在使用CentOS 6版本的時候在進行到gem install bundler的時候會出現(xiàn)一個文件未找到,Google上的解決方案不多,但是我發(fā)現(xiàn)可以使用Find搜索之后根目錄之后,再將此文件拷貝到上級目錄中就可以解決了。我有強迫癥,所以我還是推薦使用CentOS 5.7 X64版本。????

    三.安裝并配置mongodb數(shù)據(jù)庫

    ????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
  • ? ??Mongo的基本操作可以參見:http://blog.csdn.net/shirdrn/article/details/7105539? ??

    ????2.為mongodb提供服務(wù)啟動腳本,并啟動

    點擊(此處)折疊或打開

  • #vim /etc/init.d/mongod #內(nèi)容如下
  • ————————————————————————————————
  • #!/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
  • ????
    ????3.修改權(quán)限+開機自啟動

    點擊(此處)折疊或打開

  • chmod a+x /etc/init.d/mongod
  • chkconfig --add mongod
  • chkconfig mongod on
  • service mongod start
  • ????
    ????4.創(chuàng)建graylog2所需數(shù)據(jù)庫實例

    點擊(此處)折疊或打開

  • /usr/local/mongodb/bin/mongo
  • >use admin
  • >db.addUser('admin','password')
  • >use graylog2
  • >db.addUser('graylog','redhat')
  • >exit
  • ????這里的用戶名:“Graylog和redhat”是后面Graylog2連接數(shù)據(jù)庫需要使用的。如果后面Graylog2連接Mongo失敗,可以使用命令:db.auth("graylog", ",redhat")將用戶添加到認證中。

    四.安裝graylog2-server
    ????
    ????1.安裝JDK環(huán)境

    點擊(此處)折疊或打開

  • 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
  • ????
    ????2.添加java環(huán)境變量

    點擊(此處)折疊或打開

  • #vim /etc/profile
  • ——————————————————
  • JAVA_HOME=/usr/local/jdk
  • PATH=$JAVA_HOME/bin:$PATH
  • export JAVA_HOME PATH
  • ——————————————————
  • #source /etc/profile最后不要忘記source一下
  • ????
    ????3.安裝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
  • ????
    ????4.配置garylog2-server

    點擊(此處)折疊或打開

  • vim /etc/graylog2.conf
  • ——————————————————————
  • syslog_listen_port = 515 #將默認的514端口修改為其他未使用端口,因為514端口是syslog-ng默認的端口,這里需要用syslog-ng的514端口來接收其他服務(wù)器發(fā)來的日志,并進行處理的
  • syslog_protocol = udp
  • mongodb_user = graylog #訪問mongodb的用戶名
  • mongodb_password = redhat #訪問mongodb用戶名的密碼
  • mongodb_host = localhost #mogodb的主機
  • mongodb_database = graylog2 #存儲日志的數(shù)據(jù)庫
  • mongodb_port = 27017 #訪問mongodb的端口,默認是27017
  • ????
    ????5.修改下graylog-server服務(wù)啟動腳本配置文件

    點擊(此處)折疊或打開

  • 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
  • ????
    ????6.將graylog2-server添加為系統(tǒng)服務(wù)并啟動

    點擊(此處)折疊或打開

  • vim /etc/init.d/graylog2 #內(nèi)容如下
  • —————————————————————————————————
  • #!/bin/bash
  • #
  • # chkconfig: - 83 19
  • # description: graylog2-server SysV script
  • #
  • GRAYLOG_BIN=/usr/local/graylog2/bin
  • cd $GRAYLOG_BIN && ./graylog2ctl $1
  • ????
    ????7.修改權(quán)限+自啟動

    點擊(此處)折疊或打開

  • chmod a+x /etc/init.d/graylog2
  • chkconfig --add graylog2
  • chkconfig graylog2 on
  • service graylog2 start

  • 五.安裝graylog2-web-interface
    ????
    ????1.安裝ruby腳本語言環(huán)境

    點擊(此處)折疊或打開

  • cd /usr/src
  • tar xvf yaml-0.1.4.tar.gz
  • cd yaml-0.1.4
  • ./configure --prefix=/usr/local/yaml
  • make
  • make install
  • cd /usr/src
  • 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
  • ????
    ????2.修改PATH中的環(huán)境變量

    點擊(此處)折疊或打開

  • PATH=......:/usr/local/ruby/bin #在PATH中添加ruby的路徑,不要忘記再source一下
  • ????
    ????3.安裝graylog2-web-interface

    點擊(此處)折疊或打開

  • cd /usr/src
  • 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 #需要連網(wǎng)
  • bundle install #需要聯(lián)網(wǎng)
  • ????
    ????4.配置graylog2-web-interface

    點擊(此處)折疊或打開

  • vim /usr/local/graylog2-web-interface/config/mongoid.yml #內(nèi)容如下
  • —————————————————————————————————————————————————————————————————
  • production:
  • host: localhost #mongodb的主機
  • port: 27017 #mongodb的端口號
  • username: graylog #mongodb的用戶名
  • password: redhat #mongodb的用戶名密碼
  • database: graylog2 #mongodb的數(shù)據(jù)庫名
  • ????
    ????5.配置日志切割

    點擊(此處)折疊或打開

  • cat > /etc/logrotate.d/graylog2-web-interface <<EOF
  • /usr/local/graylog2-web-interface/log/*log {
  • size=512M
  • rotate 90
  • copytruncate
  • delaycompress
  • compress
  • notifempty
  • missingok }
  • EOF
  • ????
    ????6.啟動graylog2-web-interface

    點擊(此處)折疊或打開

  • cd /usr/local/graylog2-web-interface && ./script/rails server -e production &
  • ? ??這里我沒有學上面再做一個服務(wù)腳本,而是直接跑到機器上在/etc/profile中添加TMOUT=0,然后再輸入上面這句,就結(jié)束了。我喜歡屏幕上不停滾動的信息,很有科技感。?

    ????7.訪問Graylog2的web界面
    ????打開瀏覽器輸入-->http://服務(wù)器IP:3000<--就打開Graylog2的web界面了。首次使用基本只要增加一個管理員帳號就ok了。

    六.安裝并配置syslog-ng服務(wù)
    ????
    ????1.安裝eventlog

    點擊(此處)折疊或打開

  • cd /usr/src/
  • tar xvf eventlog_0.2.12.tar.gz
  • cd eventlog-0.2.12
  • ./configure --prefix=/usr/local/eventlog
  • make
  • make install
  • ????
    ????2.安裝syslog-ng

    點擊(此處)折疊或打開

  • cd /usr/src
  • tar xvf syslog-ng_3.3.5.tar.gz
  • cd syslog-ng-3.3.5
  • export PKG_CONFIG_PATH=/usr/local/eventlog/lib/pkgconfig
  • ./configure --prefix=/usr/local/syslog-ng
  • make
  • make install
  • ????
    ????3.配置syslog-ng

    點擊(此處)折疊或打開

  • cat > /usr/local/syslog-ng/etc/syslog-ng.conf <<EOF
  • @version: 3.3
  • @include "scl.conf"
  • source s_local {
  • system();
  • internal();
  • };
  • #設(shè)置日志的來源為本機udp的514端口
  • source s_network { udp(ip(0.0.0.0) port(514)); };
  • #將日志發(fā)送到本機的udp515端口進行處理,515端口是graylog2-server的端口,
  • destination d_local { udp("127.0.0.1" port(515) ); };
  • log {
  • source(s_local);
  • source(s_network);
  • destination(d_local);
  • };
  • EOF
  • ????
    ????4.添加為系統(tǒng)服務(wù)

    點擊(此處)折疊或打開

  • vim /etc/init.d/syslog-ng #內(nèi)容如下
  • ____________
  • #!/bin/bash
  • #
  • # chkconfig: - 60 27
  • # description: syslog-ng SysV script.
  • . /etc/rc.d/init.d/functions
  • syslog_ng=/usr/local/syslog-ng/sbin/syslog-ng
  • prog=syslog-ng
  • pidfile=/usr/local/syslog-ng/var/syslog-ng.pid
  • lockfile=/usr/local/syslog-ng/var/syslog-ng.lock
  • RETVAL=0
  • STOP_TIMEOUT=${STOP_TIMEOUT-10}
  • start() {
  • echo -n $"Starting $prog: "
  • daemon --pidfile=$pidfile $syslog_ng $OPTIONS
  • RETVAL=$?
  • echo
  • [ $RETVAL = 0 ] && touch ${lockfile}
  • return $RETVAL
  • }
  • stop() {
  • echo -n $"Stopping $prog: "
  • killproc -p $pidfile -d $STOP_TIMEOUT $syslog_ng
  • RETVAL=$?
  • echo
  • [ $RETVAL = 0 ] && rm -f $lockfile $pidfile
  • }
  • case "$1" in
  • start)
  • start
  • ;;
  • stop)
  • stop
  • ;;
  • status)
  • status -p $pidfile $syslog_ng
  • RETVAL=$?
  • ;;
  • restart)
  • stop
  • start
  • ;;
  • *)
  • echo $"Usage: $prog {start|stop|restart|status}"
  • RETVAL=2
  • esac
  • exit $RETVAL
  • ????
    ????5.開機自啟動

    點擊(此處)折疊或打開

  • chmod a+x /etc/init.d/syslog-ng
  • killall syslogd
  • chkconfig --add syslog-ng
  • chkconfig syslog-ng on
  • service syslog-ng start

  • ? ??至此,Graylog2的配置已經(jīng)完成了。大家把Syslog往Graylog2上吐就可以了。若有安裝失敗或者出錯的地方歡迎留言。
    ????
    ? ??最后,要感謝http://ant595.blog.51cto.com/blog/5074217/1081094的博客,我只是在實驗了之后,再廣播一下。同時注明了我的操作而已。

    轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/4485433.html

    《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的graylog2+syslog-ng+mongodb构建集中管理日志服务器 --转载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。