logstash+elasticsearch+redis+kibana3 日志收集系统搭建

一直拖拖拉拉,今晚终于把环境搭起来了,简单的说下原理、安装步骤以及需要注意的问题。


一、原理:


上图可见,一共分为5个部分,shipper是我们部署在我们需要采集日志的机器上,broker汇聚这些日志,然后统一传到indexer上,ElasitcSearch是一个搜索引擎,负责存储这些日志,并搜索。Web interface是一个前端展示页面。

shipper和Indexer都是logstash,只不过他们的配置文件不一样。broker一般采用redis,所有的shipper上的日志统一传到redis中。indexer负责从broker中取数据,并将它存储到elasticsearch中。webinterface一般使用kibana,现在es中集成了kibana,但我们还是自己安装它。


二、环境搭建

1、部署规划:

192.168.137.101       logstash-1.4.2(indexer)     redis-2.8.13    elasticsearch-1.1.1    kibana-3.1.0

192.168.137.10         logstash-1.4.2(shipper)

2、安装

192.168.137.10只安装logstash,负责收集本地的日志,安装很简单,下载后解压即可。看下配置文件:

vi logstash/shipper.conf

logstash+elasticsearch+redis+kibana3 日志收集系统搭建_第1张图片

input的file指定从文件中读取日志,文件路径为"var/log/httpd/access.log",output指定输出日志到redis,host指定了redis所在机器的ip。其中key和data_type是必须要配置的,唯一的要求就是,客户端和服务端的相应值是一致的。所以,该配置文件的意思就是,去httpd的登录日志,然后将其传到redis服务器上。


192.168.137.101,logstash的安装就不说了,看下它的配置文件:

logstash+elasticsearch+redis+kibana3 日志收集系统搭建_第2张图片

input指定从redis中读取日志,output表明它将日志保存到elasticsearch中。


redis只做队列处理,其实就是一个broker的功能。安装比较简单,下载后解压,然后进入解压目录,make  make install。不用更加配置即可使用。


elasticsearch负责保存日志文件,安装只需要解压就可以了。默认配置就可以使用。


kibana的安装和上面一样,解压即可。kibana需要安装apache,如果是默认安装的话,将解压后的kibana目录考到/var/www/html文件夹下即可。网上有些帖子说要更改config.js里面elasticsearch对应的url,我改成192.168.137.101:9200,通过它访问,还是访问不了。。。



三、启动

首先在服务器192.168.137.101启动redis、elasticsearch、logstash。

elasticsearch启动:bin目录下  ./elasticsearch

redis启动:redis-server

logstash启动:bin/logstash -f indexer.conf

然后在客户端192.168.137.10启动logstash。

启动apache,然后访问192.168.137.101/kibana

默认访问default.json页面,可以手动改成logstash.json,也可以在app/dashboard中,将logstash.json改成default.json。

 

PS:碰到的问题

1、进入redis的解压目录后,执行Make,报错/bin/sh: cc: command not found

这是由于没有安装gcc,而redis是由C实现的,解决方法:yum -y install gcc

2、将kibana拷贝到/var/www/html目录下后,访问ip/kibana报错,forriben。

解决办法是关闭防火墙和selinux

selinux关闭方法:cd /usr/share/selinux/    setenforce 0

你可能感兴趣的:(logstash)