设为首页 收藏本站
查看: 1297|回复: 0

[经验分享] graylog2+syslog-ng+mongodb构建集中管理日志服务器

[复制链接]

尚未签到

发表于 2018-10-27 14:38:32 | 显示全部楼层 |阅读模式
  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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627198-1-1.html 上篇帖子: mongodb操作 技术交流群:146510248-mongodb 下篇帖子: MongoDB安装和启动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表