您的位置:首页 > 其它

ElasticSearch + Logstash + Kibana 实时日志收集、查询和分析系统

2014-09-27 21:49 771 查看
大数据处理解决方案中,有大量的分布式系统,其日志分散在集群的各个节点,这就给跟进系统运行效果以及排错带来了很大的难度。

ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。

logstash是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

Kibana是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。

这是一个Demo,在单台PC上安装并进行初步测试。测试通过后会进行统一规划后,部署到生产环境。

搭建环境:
OSUbuntu Server 12.04
JavaJava 1.6.0_31
ElasticSearch1.0.1
Logstash1.3.3
Kibana3.0.0


一、安装ElasticSearch

1. 下载最新版本的ElasticSearch

1wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.1.tar.gz
2. 参考《分布式搜索引擎Elasticsearch——安装部署》

二、安装Logstash

logstash分为 index和agent ,agent负责监控、过滤日志,index负责收集日志并将日志交给ElasticSearch 做搜索1. 下载最新版本的Logstash

1

wget https://download.elasticsearch.org/logstash/logstash/logstash-1.3.3-flatjar.jar
2. index配置文件:index.conf

12345678910111213141516input {redis {host => '127.0.0.1'data_type => 'list'port => '6379'key => 'logstash:redis'type => 'redis-input'}} output {elasticsearch_http {host => '127.0.0.1'port => '9200'}}
input设置从redis中获取数据,output设置将数据输出到ES。启动index:

1

java
-jar
/soft/logstash-1.1.0-monolithic.jar
agent
-f
./index.conf
>>
index.log
&

3. agent配置文件

12345678910111213141516171819input {file {type => "test"path => "~/opt/logstash/test"}}filter {grep {match => [ "message", "error" ]}} output {redis {host => '127.0.0.1'data_type => 'list'key => 'logstash:redis'}}
input设置从文件”~/opt/logstash/test” 中获取最新的日志数据;
filter设置过滤条件,这里的grep是只获取message中包含字段”error”的数据,有更多的高级语法,请到http://logstash.net/docs/1.3.3/学习;
output设置收集到的数据输出到redis中。
启动agent:java -jar /soft/logstash-1.1.0-monolithic.jar agent -f ./agent.conf >> agent.log &

三、安装Kibana

1. 下载新版Kibana

1

wget https://download.elasticsearch.org/kibana/kibana/kibana-3.0.0milestone5.tar.gz
2. 修改配置文件

解压后,打开配置文件config.js。

设置elasticsearch链接地址为:”http://localhost:9200″。(Demo在单机上,如果ES安装在其他机器,则将localhost修改为对应的机器地址)

3. 安装配置Nginx web服务器

123456789server {listen 80;server_name elk.test.com; location / {root /home/[当前用户名]/opt/kibana-3.0.0milestone5/;index index.html index.htm;}}
4. 打开Kibana配置host:127.0.0.1 elk.test.com;
在浏览器打开http://elk.test.com

四、测试系统效果

1. 新增日志数据

1

2

echo
"error
3333"
>>
~/opt/logstash/test

echo
"test
elk"
>>
~/opt/logstash/test

2. 查看Kibana

第一条数据满足filter,被录入系统,第二条不满足filter没有录入。


参考:

http://www.elasticsearch.org
http://logstash.net https://github.com/elasticsearch/kibana http://www.elasticsearch.org/overview/elkdownloads/ http://demo.kibana.org/
升级Kibana到3.0 http://storysky.blog.51cto.com/628458/1336289
用Kibana和logstash快速搭建实时日志查询、收集与分析系统 http://storysky.blog.51cto.com/628458/1158707
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐