自己倒腾费了很大劲,但是回过头来,倒是不难,还是写下来记录一下。

安装

    我自己安装的时候,看了一个老版本的安装手册,走了不少弯路,最后还是参考官方手册,很简单很快的就安装好了,官网地址:http://graylog2.org/。

安装相关依赖包

1.  yum -y install gcc* openssl-devel glib2-devel numactl

 

安装mongodb

useradd mongodb

mkdir –p /var/mongodb/db/

mkdir –p /var/log/mongodb

tar xvf /usr/src/ mongodb-linux-x86_64-2.6.2.tgz  -C /usr/local/

cd /usr/local

mv  mongodb-linux-x86_64-2.6.2  mongodb

 

遇到的报错:[initandlisten] ** WARNING: Youare running on a NUMA machine.

http://docs.mongodb.org/manual/administration/production-notes/#production-numa

添加到启动脚本里

vim /etc/init.d/mongod  #内容如下

#!/bin/bash

# description: mongodb server SysV script

. /etc/rc.d/init.d/functions

if [ -f /etc/sysconfig/mongod ]; then

      . /etc/sysconfig/mongod

fi

NUMA=”numactl –interleave=all”

mongod=/usr/local/mongodb/bin/mongod

prog=mongod

lockfile=/var/mongodb/db/mongod.lock

RETVAL=0

OPTIONS=”–fork–logpath=/var/log/mongodb/mongod.log –dbpath=/var/mongodb/db”

start() {

       echo -n $”Starting $prog: “

       daemon $NUMA  $mongod $OPTIONS

#        $NUMA  $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

 

 

创建graylog2所需数据库实例

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

 

安装elasticsearch

rpm –ivh elasticsearch-0.9.10.noarch.rpm

修改配置文件

vim/etc/elasticsearch/elasticsearch.yml  

添加cluster.name:graylog2

service elasticsearch start   

 

安装graylog2-server

~$ tar xvfzgraylog2-server-0.20.3.tgz

~$ mvgraylog2-server-0.20.2  /usr/local/graylog2-server

cp /usr/local/graylog2-server/graylog2.conf.example/etc/graylog2.conf

修改配置文件

 


/usr/local/graylog2-server/bin/graylog2ctl restart 

 nohup /usr/local/graylog2-web-interface/bin/graylog2-web-interface &


 

错误一:

versioncheck.torch.sh: Temporary failure in nameresolution

没配DNS

错误二:

Connect to versioncheck.torch.sh:80[versioncheck.torch.sh/54.195.251.6] failed: connect timed out

启动时会调用api检查版本,这个错误可以忽略

 

安装graylog2-web-interface

 

报错如下

2014-07-03 22:00:21,388 – [ERROR] – fromnet.sf.ehcache.Cache in main

Unable to set localhost. This prevents creationof a GUID. Cause was: Myhostname: Myhostname: Name or service not known

 

添加/etc/hosts 文件

配置:

1、首先在页面上配置inputs的端口及方式。在System下的inputs下。添加new input,我选用的syslog方式,tcp或udp的都行。我选用的tcp,端口随便设置,大于1024,这里是11514。这样,graylog2的服务端就开启了侦听11514的端口进行输入。

wKioL1PYU8rSlvLHAALe1Mxh9SU874.jpg

2、客户端及服务端都安装rsyslog服务,客户端配置将本机的日志发送到服务端的514端口,注意第二行的tag,后面方便配置匹配规则。配置如下

wKioL1PYVQmw-1JLAAEGeBfEKZw037.jpg

3、服务端的rsyslog侦听514端口进行接收客户端发送过来的日志,并且转发到graylog2侦听的11514端口,编辑/etc/rsyslog.conf,只需添加一行 

     *.*               @@127.0.0.1:11514

rsyslog就把本机所有日志发送到11514端口,即graylog2-server侦听的端口

 修改完rsyslog的配置文件,不要忘了重启生效

4、这时候就可以在source标签看到哪些主机的日志被graylog2接收了

wKiom1PYVUPRfYzQAAJMD5THXrI294.jpg

5、配置streams,我是根据前面说的tag标签来进行匹配的,相对简单,有其他需求的看看帮助手册,很明了。配置邮件报警,设置alert。