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

[经验分享] ElasticSearch + Logstash + Kibana 实时日志收集、查询和分析系统

[复制链接]

尚未签到

发表于 2015-11-27 12:40:15 | 显示全部楼层 |阅读模式
大数据处理解决方案中,有大量的分布式系统,其日志分散在集群的各个节点,这就给跟进系统运行效果以及排错带来了很大的难度。
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。
logstash是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。
Kibana是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。
这是一个Demo,在单台PC上安装并进行初步测试。测试通过后会进行统一规划后,部署到生产环境。
搭建环境:
OSUbuntu Server 12.04JavaJava 1.6.0_31ElasticSearch1.0.1Logstash1.3.3Kibana3.0.0
一、安装ElasticSearch
1. 下载最新版本的ElasticSearch
1[color=#004ED0 !important]wget [color=#002D7A !important]https[color=#006FE0 !important]:[color=#FF8000 !important]//download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.1.tar.gz2. 参考《分布式搜索引擎Elasticsearch——安装部署》
二、安装Logstash
logstash分为 index和agent ,agent负责监控、过滤日志,index负责收集日志并将日志交给ElasticSearch 做搜索
1. 下载最新版本的Logstash
1[color=#004ED0!important]wget[color=#002D7A!important]https[color=#006FE0!important]:[color=#FF8000!important]//download.elasticsearch.org/logstash/logstash/logstash-1.3.3-flatjar.jar2. index配置文件:index.conf
12345678910111213141516[color=#004ED0 !important]input[color=#006FE0 !important] [color=#333333 !important]{[color=#004ED0 !important]redis[color=#006FE0 !important] [color=#333333 !important]{[color=#002D7A !important]host[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'127.0.0.1'[color=#002D7A !important]data_type[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'list'[color=#002D7A !important]port[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'6379'[color=#002D7A !important]key[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'logstash:redis'[color=#002D7A !important]type[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'redis-input'[color=#333333 !important]}[color=#333333 !important]} [color=#004ED0 !important]output[color=#006FE0 !important] [color=#333333 !important]{[color=#004ED0 !important]elasticsearch_http[color=#006FE0 !important] [color=#333333 !important]{[color=#002D7A !important]host[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'127.0.0.1'[color=#002D7A !important]port[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'9200'[color=#333333 !important]}[color=#333333 !important]}
input设置从redis中获取数据,output设置将数据输出到ES。
启动index:
1[color=#002D7A!important]java[color=#006FE0!important][color=#006FE0!important]-[color=#002D7A!important]jar[color=#006FE0!important][color=#006FE0!important]/[color=#002D7A!important]soft[color=#006FE0!important]/[color=#002D7A!important]logstash[color=#006FE0!important]-[color=#CE0000!important]1.1.0[color=#006FE0!important]-[color=#002D7A!important]monolithic[color=#333333!important].[color=#004ED0!important]jar[color=#002D7A!important]agent[color=#006FE0!important][color=#006FE0!important]-f[color=#006FE0!important][color=#333333!important].[color=#006FE0!important]/[color=#002D7A!important]index[color=#333333!important].[color=#002D7A!important]conf[color=#006FE0!important][color=#006FE0!important]>>[color=#006FE0!important][color=#002D7A!important]index[color=#333333!important].[color=#002D7A!important]log[color=#006FE0!important][color=#006FE0!important]&3. agent配置文件
12345678910111213141516171819[color=#004ED0 !important]input[color=#006FE0 !important] [color=#333333 !important]{[color=#004ED0 !important]file[color=#006FE0 !important] [color=#333333 !important]{[color=#002D7A !important]type[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]"test"[color=#002D7A !important]path[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]"~/opt/logstash/test"[color=#333333 !important]}[color=#333333 !important]}[color=#004ED0 !important]filter[color=#006FE0 !important] [color=#333333 !important]{[color=#004ED0 !important]grep[color=#006FE0 !important] [color=#333333 !important]{[color=#002D7A !important]match[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#333333 !important][[color=#006FE0 !important] [color=#008000 !important]"message"[color=#333333 !important],[color=#006FE0 !important] [color=#008000 !important]"error"[color=#006FE0 !important] [color=#333333 !important]][color=#333333 !important]}[color=#333333 !important]} [color=#004ED0 !important]output[color=#006FE0 !important] [color=#333333 !important]{[color=#004ED0 !important]redis[color=#006FE0 !important] [color=#333333 !important]{[color=#002D7A !important]host[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'127.0.0.1'[color=#002D7A !important]data_type[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'list'[color=#002D7A !important]key[color=#006FE0 !important] [color=#006FE0 !important]=[color=#006FE0 !important]>[color=#006FE0 !important] [color=#008000 !important]'logstash:redis'[color=#333333 !important]}[color=#333333 !important]}

  • 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[color=#004ED0!important]wget[color=#002D7A!important]https[color=#006FE0!important]:[color=#FF8000!important]//download.elasticsearch.org/kibana/kibana/kibana-3.0.0milestone5.tar.gz 2. 修改配置文件
解压后,打开配置文件config.js。
设置elasticsearch链接地址为:”http://localhost:9200″。(Demo在单机上,如果ES安装在其他机器,则将localhost修改为对应的机器地址)
3. 安装配置Nginx web服务器
123456789[color=#004ED0 !important]server[color=#006FE0 !important] [color=#333333 !important]{listen[color=#006FE0 !important] [color=#CE0000 !important]80[color=#333333 !important];[color=#004ED0 !important]server_name [color=#002D7A !important]elk[color=#333333 !important].[color=#002D7A !important]test[color=#333333 !important].[color=#002D7A !important]com[color=#333333 !important]; [color=#004ED0 !important]location[color=#006FE0 !important] [color=#006FE0 !important]/[color=#006FE0 !important] [color=#333333 !important]{[color=#002D7A !important]root[color=#006FE0 !important] [color=#006FE0 !important]/[color=#002D7A !important]home[color=#006FE0 !important]/[color=#333333 !important][当前用户名[color=#333333 !important]][color=#006FE0 !important]/[color=#002D7A !important]opt[color=#006FE0 !important]/[color=#002D7A !important]kibana[color=#006FE0 !important]-[color=#CE0000 !important]3.0.0milestone5[color=#006FE0 !important]/[color=#333333 !important];[color=#004ED0 !important]index [color=#002D7A !important]index[color=#333333 !important].[color=#004ED0 !important]html [color=#002D7A !important]index[color=#333333 !important].[color=#002D7A !important]htm[color=#333333 !important];[color=#333333 !important]}[color=#333333 !important]} 4. 打开Kibana
配置host:127.0.0.1 elk.test.com;
在浏览器打开http://elk.test.com

四、测试系统效果
1. 新增日志数据
12echo[color=#006FE0!important][color=#008000!important]"error3333"[color=#006FE0!important][color=#006FE0!important]>>[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#002D7A!important]opt[color=#006FE0!important]/[color=#002D7A!important]logstash[color=#006FE0!important]/[color=#004ED0!important]testecho[color=#006FE0!important][color=#008000!important]"testelk"[color=#006FE0!important][color=#006FE0!important]>>[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#002D7A!important]opt[color=#006FE0!important]/[color=#002D7A!important]logstash[color=#006FE0!important]/[color=#002D7A!important]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.iyunv.com/628458/1336289
  • 用Kibana和logstash快速搭建实时日志查询、收集与分析系统 http://storysky.blog.iyunv.com/628458/1158707

运维网声明 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-144119-1-1.html 上篇帖子: 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 下篇帖子: Elasticsearch+Kibana+Logstash 搭建日志平台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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