使用logstash+kibana+elasticsearch+redis搭建集中式日志分析平台_第1页
使用logstash+kibana+elasticsearch+redis搭建集中式日志分析平台_第2页
使用logstash+kibana+elasticsearch+redis搭建集中式日志分析平台_第3页
使用logstash+kibana+elasticsearch+redis搭建集中式日志分析平台_第4页
使用logstash+kibana+elasticsearch+redis搭建集中式日志分析平台_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、搭建logstash+kibana+elasticsearch+redis搭建集中式日志分析平台LogStash架构专为收集、分析和存储日志所设计,正适合分布式系统,因此我根据官方文档和网上经验搭建了这个平台。安装环境平台架构采用LogStash的官方推荐Shipper环境规划4(CentOS5.5):Broker34(CentOS5.5):Indexer,Storage&Search,WebInterface1/2(CentOS5.5):Shiper必要组件JDK安装步骤在4安装并启动Redis下载解压#cd/usr/local#wget HYPERLINK /files/redis-2.6

2、.14.tar /files/redis-2.6.14.tar.gz#tar-xzvfredis-2.6.14.tar.gz创建软链接(非必须)这里是个人习惯,以后版本变迁的时候便于升级,可以跳过但如果跳过的话下面相应的目录就要变更。#ln-sredis-2.6.14redis编译#cdredis#make建立Redis目录(非必须)这步只是习惯将Redis相关的资源统一管理,可以跳过。#mkdir-pbin#mkdir-petc#mkdir-pvar#cpsrc/redis-serversrc/redis-clisrc/redis-benchmarksrc/redis-sentinelsrc

3、/redis-check-dumpsrc/redis-check-aofbin/#cpredis.confetc/配置参数#vietc/redis.conf对redis.conf做如下变更daemonizeyespidfile/usr/local/redis/var/redis.pidport6379timeout300logleveldebuglogfile/usr/local/redis/var/redis.logdatabases16save9001save30010save6010000rdbcompressionyesdbfilenamedump.rdbdir/usr/local/r

4、edis/var/appendonlynoappendfsyncalways启动#bin/redis-serveretc/redis.conf在34安装并启动ElasticSearch下载解压,可到官网直接下载,也可使用wget。#cd/usr/localwget HYPERLINK /elasticsearch/el /elasticsearch/elasticsearch/elasticsearch-1.1.1.tar.gztar-zxvfelasticsearch-1.1.1.tar.gz创建软连接。这里是个人习惯,以后版本变迁的时候便于升级,可以跳过但如果跳过的话下面相应的目录就要变更

5、。ln-selasticsearch-1.1.1elasticsearch这里我们使用默认配置,直接启动。elasticsearch/bin/elasticsearch在34安装并启动LogStash下载并解压Logstash。curl-O HYPERLINK /logstash/logstas /logstash/logstash/logstash-1.4.1.tar.gztar-xzvflogstash-1.4.1创建软连接。这里是个人习惯,以后版本变迁的时候便于升级,可以跳过但如果跳过的话下面相应的目录就要变更。ln-slogstash-1.4.1logstash创建配置文件cdlogs

6、tashmkdirconf#viconf/redis.conf内容如下inputredishost=4data_type=listport=6379key=logstash:redistype=redis-inputoutputelasticsearchhost=解释一下logstash的配置文件由inputfilteroutput等几个基本的部分组成,顾名思义input就是在哪收集数据,output就是输出到哪,filter代表一个过滤规则意思是什么内容会被收集。上面这段是让logstash去4这个redis服务器上去收集日志redis端口为6379,key是logstash:redis类型

7、为redis-input,(注意:这几个值必须跟logstashagent的output所对应),收集完成后输出到elasticsearch,如果elasticsearch有更改端口,需要将这条改为host=elasticsearch的ipport=端口启动logstashindex#bin/logstash-fconf/redis.conf-l/data/logs/logstash.log&其中-f是指以指定的配置文件启动,-l是设置logstash本身的日志位置。&是以守护进程方式启动。启动logstashweb#bin/logstash-web在1/2安装并启动LogStashagent

8、这里的机器就是我们应用部署的各台机器了。这里的步骤与logstashindex的步骤差不多,差异除了不用启动logstashweb外,主要有两个。redis.conf的配置内容。inputfiletype=dev_integratepath=/data/logs/integrate/integrate.logfiletype=dev_custompath=/data/logs/custom/custom.logfiltermultilinepattern=八2014what=previousoutputredishost=4data_type=listkey=logstash:redis其中i

9、nput指定了本机部署的两个应用的log文件。type是我自定义的一个类型,用来在后面的UI中区分各应用,path就是log文件路径了。如果有更多应用,照格式添加即可。filter用来处理log中的error信息,因为我的应用java程序,部署在tomcat下,所以错误信息类似如下:2014-05-2702:17:16emailJMSContainerTERRORcom.xxx.xxx.email.EmailSender.errorLog(79):-exceptionoccurred:javax.mail.SendFailedException:InvalidAddresses;nestede

10、xceptionis:com.sun.mail.smtp.SMTPAddressFailedException:5535.7.1:Senderaddressrejected:notownedbyuserpaymonito HYPERLINK mailto:r ratcom.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)atcom.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)atjavax.mail.Transport.sendO(Transp

11、ort.java:169)atjavax.mail.Transport.send(Transport.java:98)munication.email.EmailSender.sendEmail(EmailSender.java:97)atcom.xxx.notification.EmailNotificationCcessTxtMsg(EmailNotificationConsumer.java:24)atcom.xxx.asyncmsg.consumer.AbstractConsumer.onMessage(AbstractConsumer.java:78)atorg.springfram

12、ework.jms.listener.AbstractMessageListenerContainer.dolnvokeListener(AbstractMessageListenerContainer.java:562)atorg.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)atorg.springframework.jms.listener.AbstractMessageListenerContai

13、ner.doExecuteListener(AbstractMessageListenerContainer.java:468)atorg.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:326)atorg.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute

14、(AbstractPollingMessageListenerContainer.java:264)atorg.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerlnvoker.invokeListener(DefaultMessageListenerContainer.java:1071)atorg.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerlnvoker.exe

15、cuteOngoingLoop(DefaultMessageListenerContainer.java:1063)atorg.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:960)atjava.lang.Thread.run(Thread.java:662)Causedby:com.sun.mail.smtp.SMTPAddressFailedException:5535.7.1:

16、Senderaddressrejected:notownedbyuserpaymonito HYPERLINK mailto:r ratcom.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1047)15more如果不加fitler,那采集来的message就是单独的一条。所以这里我配置了一个fitler,所有不是以2014开头(这里演示我偷了一下懒,应该用正则)的都并到上一条。output就是输入到我们的redis服务器。启动agent#bin/logstash-fconf/redis.conf-l/data/logs/logst

17、ash.log&3.查看和搜索日志打开浏览器,输入以下地址: HYPERLINK 34:9292/index.html%23/dashboard/file/logstash.js 34:9292/index.html#/dashboard/file/logstash.json即可看到如下界面。LogstashSearchtimemustfield:timestampfrom:now-1hto:nowEVENTSOVERTIMEaHView|*(23)countper30s|(23hits)10860i16:30:0016:35:0016:40:0016:45:0016:50:0016:55-ALLEVENTS0mFieldsAll(9)/Current(8)timestampversionndex.typehostmessagetypesource(selectcolumnsfromthelistto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论