jiabanl 发表于 2018-10-26 13:49:53

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

  graylog2 是一个开源的日志存储系统,是由java语言编写的server,能够接收TCP,UDP,AMQP的协议发送的日志信息,并且基于mongodb数据库服务器快速存储,能够通过一个基于ruby编写的web管理界面,让轻松管理你的日志。
  本人根据网上的教程进行了下总结,环境:centos 6.4 32bit
  一.源码包下载
#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
  其中mongodb也可以通过yum安装,具体方法如下:
  1、在CentosBase.repo中加入
  -------------------------------------------------------------------------------------
  
  name=10gen Repository
  baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
  gpgcheck=0
  -------------------------------------------------------------------------------------
  2、yum install mongo-10gen-server #服务端
  3、yum install mongo-10gen      #客户端
  二.安装相关依赖包
  yum -y install gcc* openssl-devel glib2-devel autoconf readline-devel curl-devel expat-devel gettext-devel zlib-devel
  三.安装并配置mongodb数据库(如果手动安装mongodb需执行以下1和2步骤,通过yum安装直接跳至3步)
  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 graylog2
  >db.addUser('graylog','123456')
  >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 = graylog   #访问mongodb的用户名
  mongodb_password = 123456   #访问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脚本语言环境
  tar xvf yaml-0.1.4.tar.gz
  cd yaml-0.1.4
  ./configure --prefix=/usr/local/yaml
  make
  make install
  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
  在PATH环境变量中添加
  echo 'PATH=/usr/local/ruby/bin:$PATHexport PATH' >> /etc/profile
  source /etc/profile
  2.安装graylog2-web-interface
  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
页: [1]
查看完整版本: graylog2+mongodb构建集中管理日志服务器