graylog2(v2.0.3)的安装与配置
自己倒腾费了很大劲,但是回过头来,倒是不难,还是写下来记录一下。
安装
我自己安装的时候,看了一个老版本的安装手册,走了不少弯路,最后还是参考官方手册,很简单很快的就安装好了,官网地址: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的端口进行输入。
2、客户端及服务端都安装rsyslog服务,客户端配置将本机的日志发送到服务端的514端口,注意第二行的tag,后面方便配置匹配规则。配置如下
3、服务端的rsyslog侦听514端口进行接收客户端发送过来的日志,并且转发到graylog2侦听的11514端口,编辑/etc/rsyslog.conf,只需添加一行
*.* @@127.0.0.1:11514
rsyslog就把本机所有日志发送到11514端口,即graylog2-server侦听的端口
修改完rsyslog的配置文件,不要忘了重启生效
4、这时候就可以在source标签看到哪些主机的日志被graylog2接收了
5、配置streams,我是根据前面说的tag标签来进行匹配的,相对简单,有其他需求的看看帮助手册,很明了。配置邮件报警,设置alert。