q666123 发表于 2018-10-27 14:38:32

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

  graylog2 是一个开源的日志存储系统,是由java语言编写的server,能够接收TCP,UDP,AMQP的协议发送的日志信息,并且基于mongodb数据库服务器快速存储,能够通过一个基于ruby编写的web管理界面,让轻松管理你的日志。下面将在一台默认安装的rhel5.x的系统上来实现graylog2+syslog-ng+mongodb构建集中管理日志服务器
  一.源码包下载
  


[*]cd /usr/src
[*]#mongodb数据库,在此的主要作用是存储日志信息
[*]wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.2.1.tgz
[*]#graylog2日志服务器
[*]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日志服务器,
[*]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环境
[*]JDK下载地址, http://www.oracle.com/technetwork/java/javase/downloads/index.html 打开此链接下载相应的jdk版本,这里以jdk-6u21-linux-i586.bin
  

  二.安装相关依赖包
  


[*]yum -y install gcc* openssl-devel glib2-devel
  

  三.安装并配置mongodb数据库
  
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
  

  2.为mongodb提供服务启动脚本,并启动
  


[*]vim /etc/init.d/mongod#内容如下
[*]#!/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
[*]----------------------------------------------------
[*]
[*]chmod a+x /etc/init.d/mongod
[*]chkconfig --add mongod
[*]chkconfig mongod on
[*]service mongod start
  

  3.创建graylog2所需数据库实例
  


[*]/usr/local/mongodb/bin/mongo
[*]>use admin
[*]>db.addUser('admin','password')
[*]>use graylog2
[*]>db.addUser('graylog','redhat')
[*]>exit
  

  
四.安装graylog2-server
  
1.安装JDK环境
  


[*]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
[*]
[*]添加java环境变量,
[*]vim /etc/profile
[*]JAVA_HOME=/usr/local/jdk
[*]PATH=$JAVA_HOME/bin:$PATH
[*]export JAVA_HOME PATH
[*]
[*]source /etc/profile
  

  2.安装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
  

  3.配置garylog2-server
  


[*]vim /etc/graylog2.conf修改内容如下
[*]syslog_listen_port = 515    #将默认的514端口修改为其他未使用端口,因为514端口是syslog-ng默认的端口,这里需要用syslog-ng的514端口来接收其他服务器发来的日志,并进行处理的,
[*]syslog_protocol = udp
[*]
[*]mongodb_useauth = true
[*]mongodb_user = graylog2   #访问mongodb的用户名
[*]mongodb_password = redhat   #访问mongodb用户名的密码
[*]mongodb_host = localhost    #mogodb的主机
[*]mongodb_database = graylog2 #存储日志的数据库
[*]mongodb_port = 27017      #访问mongodb的端口,默认是27017
[*]......
[*]......
[*]
[*]为了方便起见这里修改下graylog-server服务启动脚本配置文件
[*]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
  

  4.将graylog2-server添加为系统服务并启动
  


[*]vim /etc/init.d/graylog2#内容如下
[*]#!/bin/bash
[*]#
[*]# chkconfig: - 83 19
[*]# description: graylog2-server SysV script
[*]#
[*]
[*]GRAYLOG_BIN=/usr/local/graylog2/bin
[*]cd $GRAYLOG_BIN && ./graylog2ctl $1
[*]
[*]-------------------------------------------
[*]chmod a+x /etc/init.d/graylog2
[*]chkconfig --add graylog2
[*]chkconfig graylog2 on
[*]service graylog2 start
  

  五.安装graylog2-web-interface
  
1.安装ruby脚本语言环境
  


[*]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
[*]
[*]vim /etc/profile
[*]在PATH环境变量中添加
[*]PATH=......:/usr/local/ruby/bin
[*]
[*]source /etc/profile
  

  2.安装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   #需要连网
[*]bundle install      #需要联网
  

  3.配置graylog2-web-interface
  


[*]vim /usr/local/graylog2-web-interface/config/mongoid.yml
[*]production:
[*]host: localhost   #mongodb的主机
[*]port: 27017       #mongodb的端口号
[*]username: graylog #mongodb的用户名
[*]password: redhat#mongodb的用户名密码
[*]database: graylog2    #mongodb的数据库名
[*]
[*]--------------------------------------------------
[*]vim /usr/local/graylog2-web-interface/config/general.yml #根据自己的需要修改,不做任何修改也没关系,
[*]vim /usr/local/graylog2-web-interface/config/email.yml   #根据自己的需要修改,不做任何修改也没关系,
[*]配置日志切割 cat > /etc/logrotate.d/graylog2-web-interface/usr/local/syslog-ng/etc/syslog-ng.conf
页: [1]
查看完整版本: graylog2+syslog-ng+mongodb构建集中管理日志服务器