开源实时日志分析ELK平台部署.doc_第1页
开源实时日志分析ELK平台部署.doc_第2页
开源实时日志分析ELK平台部署.doc_第3页
开源实时日志分析ELK平台部署.doc_第4页
开源实时日志分析ELK平台部署.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

开源实时日志分析ELK平台部署日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:https:/www.elastic.co/productslElasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。lLogstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。lkibana也是一个开源和免费的工具,他Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界面,可以帮助您汇总、分析和搜索重要数据日志。工作原理如下如所示:在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到logstash indexer,logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana来结合自定义搜索进行页面展示。开源实时日志分析ELK平台部署流程:(1)安装Logstash依赖包JDKLogstash的运行依赖于Java运行环境,Logstash 1.5以上版本不低于java 7推荐使用最新版本的Java。由于我们只是运行Java程序,而不是开发,下载JRE即可。首先,在Oracle官方下载新版jre,下载地址:/technetwork/java/javase/downloads/jre8-downloads-2133155.html可以看到提供了多种版本,下载时,选择适合自己机器运行环境的版本,我使用的是RHEL6.5 x86_64的操作系统,所以,下载linux-64的版本。如果使用Linux下载执行如下命令下载即可。#wget /otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gzJDK的安装方式比较简单,只需将下载回来的程序包解压到相应的目录即可。# mkdir /usr/local/java# tar -zxf jdk-8u45-linux-x64.tar.gz -C /usr/local/java/设置JDK的环境变量,如下:# tail -3 /.bash_profileexport JAVA_HOME=/usr/local/java/jdk1.8.0_45export PATH=$PATH:$JAVA_HOME/binexportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH在Shell提示符中执行java version命令,显示如下结果,说明安装成功:# java -versionjava version 1.8.0_45Java(TM) SE Runtime Environment (build 1.8.0_45-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02,mixed mode)(2)安装Logstash下载并安装Logstash,安装logstash只需将它解压的对应目录即可,例如:/usr/local下:# https:/download.elastic.co/logstash/logstash/logstash-1.5.2.tar.gz# tar zxf logstash-1.5.2.tar.gz -C /usr/local/安装完成后运行如下命令:# /usr/local/logstash-1.5.2/bin/logstash -e input stdin output stdout Logstash startup completedHello World!2015-07-15T03:28:56.938Z Hello World!我们可以看到,我们输入什么内容logstash按照某种格式输出,其中-e参数参数允许Logstash直接通过命令行接受设置。这点尤其快速的帮助我们反复的测试配置是否正确而不用写配置文件。使用CTRL-C命令可以退出之前运行的Logstash。使用-e参数在命令行中指定配置是很常用的方式,不过如果需要配置更多设置则需要很长的内容。这种情况,我们首先创建一个简单的配置文件,并且指定logstash使用这个配置文件。例如:在logstash安装目录下创建一个“基本配置”测试文件logstash-test.conf,文件内容如下:# cat logstash-simple.confinput stdin output stdout codec= rubydebug Logstash使用input和output定义收集日志时的输入和输出的相关配置,本例中input定义了一个叫stdin的input,output定义一个叫stdout的output。无论我们输入什么字符,Logstash都会按照某种格式来返回我们输入的字符,其中output被定义为stdout并使用了codec参数来指定logstash输出格式。使用logstash的-f参数来读取配置文件,执行如下开始进行测试:# echo date hello WorldThu Jul 16 04:06:48 CST 2015 hello World# /usr/local/logstash-1.5.2/bin/logstash agent -f logstash-simple.confLogstash startup completedTue Jul 14 18:07:07 EDT 2015 hello World #该行是执行echo “datehello World” 后输出的结果,直接粘贴到该位置 message = Tue Jul 14 18:07:07 EDT 2015 helloWorld, version = 1, timestamp = 2015-07-14T22:07:28.284Z, host = (3)安装Elasticsearch下载Elasticsearch后,解压到对应的目录就完成Elasticsearch的安装。# tar -zxf elasticsearch-1.6.0.tar.gz -C /usr/local/启动Elasticsearch# /usr/local/elasticsearch-1.6.0/bin/elasticsearch如果使用远程连接的Linux的方式并想后台运行elasticsearch执行如下命令:# nohup /usr/local/elasticsearch-1.6.0/bin/elasticsearch nohup &确认elasticsearch的9200端口已监听,说明elasticsearch已成功运行# netstat -anp |grep :9200tcp 0 0 :9200 :* LISTEN 3362/java接下来我们在logstash安装目录下创建一个用于测试logstash使用elasticsearch作为logstash的后端的测试文件logstash-es-simple.conf,该文件中定义了stdout和elasticsearch作为output,这样的“多重输出”即保证输出结果显示到屏幕上,同时也输出到elastisearch中。# cat logstash-es-simple.confinput stdin output elasticsearch host = localhost stdout codec= rubydebug 执行如下命令# /usr/local/logstash-1.5.2/bin/logstash agent -f logstash-es-simple.conf Logstash startup completedhello logstash message = hello logstash, version = 1, timestamp = 2015-07-15T18:12:00.450Z, host = 我们可以使用curl命令发送请求来查看ES是否接收到了数据:# curl http:/localhost:9200/_search?pretty返回结果 took: 58, timed_out : false, _shards : total : 5, successful : 5, failed : 0 , hits: total : 1, max_score : 1.0, hits : _index : logstash-2015.07.15, _type : logs, _id : AU6TWiixxDXYhySMyTkP, _score : 1.0, _source:message:hellologstash,version:1,timestamp:2015-07-15T20:13:55.199Z,host: 至此,你已经成功利用Elasticsearch和Logstash来收集日志数据了。(4)安装elasticsearch插件Elasticsearch-kopf插件可以查询Elasticsearch中的数据,安装elasticsearch-kopf,只要在你安装Elasticsearch的目录中执行以下命令即可:# cd /usr/local/elasticsearch-1.6.0/# ./plugin -install lmenezes/elasticsearch-kopf安装完成后在plugins目录下可以看到kopf# ls plugins/kopf在浏览器访问88:9200/_plugin/kopf浏览保存在Elasticsearch中的数据,如下所示:(5)安装Kibana下载kibana后,解压到对应的目录就完成kibana的安装# tar -zxf kibana-4.1.1-linux-x64.tar.gz -C /usr/local/启动kibana# /usr/local/kibana-4.1.1-linux-x64/bin/kibana使用http:/kibanaServerIP:5601访问Kibana,登录后,首先,配置一个索引,默认,Kibana的数据被指向Elasticsearch,使用默认的logstash-*的索引名称,并且是基于时间的,点击“Create”即可。看到如下界面说明索引创建完成。点击“Discover”,可以搜索和浏览Elasticsearch中的数据,默认搜索的是最近15分钟的数据。可以自定义选择时间。到此,说明你的ELK平台安装部署完成。(6)配置logstash作为Indexer将logstash配置为索引器,并将logstash的日志数据存储到Elasticsearch,本范例主要是索引本地系统日志。# cat /usr/local/logstash-1.5.2/logstash-indexer.confinput file type =syslog path = /var/log/messages, /var/log/syslo

温馨提示

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

评论

0/150

提交评论