欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    《数据采集技术(初级)》实验手册项目10:项目实战:业务系统日志数据采集.docx

    • 资源ID:1216693       资源大小:163.19KB        全文页数:18页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《数据采集技术(初级)》实验手册项目10:项目实战:业务系统日志数据采集.docx

    项目十:业务系统曰志采集作者时间版本审核王健2020-7-212.01.收集业务系统日志,保存到MySqI数据库中。一、概述因为业务系统以分布式的形式部署在不同的服务器上,为了便于有看所有服务器上的日志,必须要将所有服务器上的日志集中收收集到一个地方进行展示、查询等。这就是业务数据采集的核心'概念。二、日志采集的方式方法1、Iog4j,Iogback等日志系统,默认情况下,已经提供了JDBCSocket这样的输出接口,完全可以将这些日志信息集中发送到一台中心服务器,但让其输出到JDBC、Socket等,会大大降低日志写出的速度,虽然异步可以解决速度的情况,但大部分情况下,我们依然还是将日志保存到文本文件中。2、可以使用flume、IogStash、filebeat等第三方组件将文本日志信息输出到指定的服务器中。其中flume用于大数据环境下,Iogstash和filebeat都属于ELK家族,而Iogstash又是一个重量级的组件,所以,这儿可以使用filebeat做为日志收集组件。三、了解ELK1、概述官网:https:WwW.elastic.cocnWhat-is/elk-stack什么是ELKStack?很简单,指的就是EIaStiCStack。让我们解释一下。已经知道来龙去脉了?艮需几分钟,即可启用我们的托管型ElasticsearchService(如果喜欢,您也可称其为托管型ELK),同时欢迎观看我们的入门视频。那么,ELK到底是什么呢?"ELK"是三个开源项目的首字母缩写,这三个项目分别是:EasticsearchLogstash和KibanaeEasticsearch是一个搜索和分析引擎。LogStaSh是0艮务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如Elasticsearch等"存储库"中。Kibana则可以i1用户在Elasticsearch中使用图形和图表对数据进行可视化。日asticStack是ELKStack的更新换代产品。从一个菜谱开始:Itstartedwitharecipeapp伦敦的公寓内,ShayBanorl正在忙着寻找工作,而他的妻子正在蓝带(LeCOrdOnBIeU)烹饪学校学习厨艺。在空闲时间,他开始编写搜索引擎来帮助妻子管理越来越丰富的菜谱。他的首个迭代版本叫做Compass0第二个迭代版本就是日asticsearch(基于ApacheLucene开发)。他将Elasticsearch作为开源产品发布给公众,并创建了#elasticsearchIRC通道,剩下来就是静待用户出现了。公众反响十分强烈。用户自然而然地就喜欢上了这一软件。由于使用量急速攀升,此软件开始有了自己的社区,并引起了人们的高度关注,尤其引发了SteVenSChUUrmarI、UriBonessSimonWillnauer的浓厚兴趣。他们四人最终共同组建了一家搜索公司。2、下载以下都以LinUX版本为基本:1.ogstash采集、转换、充实,然后输出.下载下载logstash:https:/artifacts.elastic.co/downloads/IOHStaSh/IOgStaSh-7.8.0.tar.HZFilebeatReal-timeinsightintologdata.Download下载fiIebea:https:/artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.8.0-linux-x8664.tar.z如果时EIasticSearch和Kibana有兴趣的可以同时下载这两个组件:Elasticsearch分布式、RESTfUl风格的搜索和分析.在ElasticCloud上启用下装地址:https:/artifacts.elastic.co/downloads/elasticsearch/elasticsearsh-7.8.0-linux-x8664.tar.gzKibana实现数据可视化.在ElasticStack中进行在ElasticCloud上启用地址:https:/artifacts.egstic.codownloadskibanakibana-7.8.0-linux-x8664.tar.gz四、IogStaSh应用IogStaSh可以充当从日忐收集到EgStiCSeaCh的媒介。但本质上,IOgStaSh之初就可以收集日志。但由于它过于庞大,所以才有了后来的beats0同时Iogstash还可以对接收到的数据进行分析和转换。为了让大家掌握Iogstash,这儿我们先用Iogstash收集日志开始。同时,IogStaSh在收集到数据以后,可以保存到指定的位置,一般为ES,也可以是数据库。由于本课程没有涉及到ES,所以这儿将收集到的日志,保存到MySql数据库中。K准备工作由于大部分业务系统,都运行了UnUX上,所以,我们这儿是以LinUXCent0S7做为环境给大家讲解。准备工作主要包含以下过程:(以后所有的测试,都需要做以下环境准备)为了给大家一个全新的环境,这儿从一个完整的纯净的CentOS开始。1使用VBox安装CentOS虚拟机参考:hltps:/bl。以CS由于过程相时简单,网上有很多教程,请大家自行参阅。2、CentOS准备使用XSheIlmobaXItem登录CentOSo并做以卜操作:1、关闭防火墙。root()serverl01#systemctlstopfirewalldTOOtSerVerlol伊systemctldisablefirewalld2、配置峥态ip地址修改配置文件:如果没有这个配置文件,关闭CentoS,并创建HoStc)My连接,然后再手工创建这个文件即可:Iroot(三)ServerlOl#vimetcsysconfignetwork-scriptsifcfg-enp0s8TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=StaticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUT0C0NF=yesIPV6-DEFR0TE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s8UID=620377da-1744-4268-b6d6-a519d27e01c6DEVICE=enp0s8ONBOOT=yesIPADDR=192.168.56.101重新启动网卡:TOOtSerVerlol#systemctlrestartnetwork.service查看IP地址:# ifconfigenps8:flags=4163<UF>BROADCAST,RUNNING,MULTICAST>mtu1500inet192.168.56.101netmask255.255.255.0broadcast192.168.56.255inet6fe80:3b4a:77d:57eb:d4d3prefixlen64scopeid0x20<link>ether08:00:27:86:6d:5dtxqueuelen100O(Ethernet)RXpackets416bytes36839(35.9KiB)RXerrors0dropped0overruns0frame0TXpackets270bytes34662(33.8KiB)TXerrors0dropped0overruns0carrier0collisions03、安芸JDK及配量环境变将JDK1.8解压到usrjava目录下。配置环境变量:# vimetcprofileexportJAVA_H0ME=/usr/java/jdk-1.8exportPATH=$PATH:$JAVA_HOME/bin让环境变量生效:#SOUrCeetcprofile检查是否安装成功:TOOtSerVeriol伊java-versionjavaversion,1.8.0-251"Java(TM)SERuntimeEnvironment(build1.8.0_251-b08)JavaHotSpot(TM)64-BitServerVM(build25.251-b08,mixedmode)4、创建一个用户用于刑试建议创建个测试用于,用于测试,我们将所有的软件,都安装到这个用户的主目录下,当不再需要时,可以删除这个用户及这个用户的主目录:(可选)创建用户:TOotSerVerIOl伊useradd-Gwheeles修改密码:TootSerVerlolpasswdes更改用户es的密码0新的密码:无效的密码:密码少于8个字符重新输入新的密码:passwd:所有的身份验证令牌已经成功更新。5、安芸mysql/mariadb数据库Centc)S可以在线直接安装Mariadb数据库,由于MySql数据库已经开始收费(非社区版本)。所以,为了方便,大家可以直接安装Mariadb数据库:(root()serverl01伊yuminstall-ymariadb-servermariadb安装完成以后,配置密码:root()serverl01mysql_secure_installation启动mariadb数据库:(root()serverl01systemctlstartmariadb将mariadb数据库,设置为开机启动:root()serverl01systemctlenablemariadb登录测试:(root()serverl01伊mysql-uroot-pl23456WelcometotheMariaDBmonitor.Commandsendwith;org.YourMariaDBconnectionidis2Serverversion:5.5.65-MariaDBMariaDBServerCopyright(c)2000,2018,Oracle,MariaDBCorporationAbandothers.Type'help;'or'h'forhelp.Type'c'toclearthecurrentinputstatement.MariaDB(none)>showdatabases;IDatabaseinformation_schemahiveImysqlnacosoneperformance_schema参考地址:shanheyongmup/12470169.html2、安装Iogstash并使用使用之前创建的测试账户,登录CentOS,然后在主目录下,创建个Program目录,用于安装所有可执行应用程序。esserverl01$mkdirprogram步1、了解Iogstash的人和输出在Iogstash的官网API中,包含了Iogstash的输出输入配置说明:进入Iogstash的下载页面,就可以看到IOgStaSh的安装说明:https:/Www.elastic,cocndo”,nloads/IOgStaShNewaroundhere?ViewourgettingstartedpagetogetacquaintedwiththeElasticStack.Download and unzip LogstashLogstash can also be installed from our package repositories using apt or yum. See ReposrtoriesJnlbeJGuidePrepare a Iogstashxonf config fileRun bin/logstash -f logstash.confDiveintotheqettinStartedClUideandvideo.在第4步,就可以看到个向导的超连接:https:/需Ww.elastic,coguideenIOgStaShcurrentgetting-Started-WithTOgStash.html查看右边列表,就可以看到input和OUtPUts:+Inputplugins+Outputplugins步2、安装Iogstash安装Iogstash就是解压就可以了。步3、配置一个标准的输入和输出在COnfig目录下,创建一个Lyml并输入以下内容:步4、启动IogStaSh$bin/logstash-fconfigl.yml以下显示为启动成功的标识:SuccessfullystartedLogstashAPIendpointrport=>9600然后输出些数据:先输入数据:HelloThisismyfirstLogstash马上会看到以下的输出:"(aversion"=>"1","host"=>"serverll","timestamp"=>2020-07-21T15:09:51.600Z,"message"=>"HelloThisismyfirstLogstash"3、将数据输出到三ysql数据库中如果要求将Iogstash的数据,保存到mysqI中,则必须要给Iogstash安装jdbcoutput插件。步1、安装jdbcoutput插件先查看目前已经安装了哪些插件:$binlogstash-pluginlist-verbose检查有没有安装jdbc插件:$binlogstash-pluginlist-verbosegrepjdbcesserverl01logstash$bin/logstash-pluginlist-verbosegrepjdbclogstash-integration-jdbc(5.0.1)卜一logstash-input-jdbc卜一logstash-filter-jdbc-streaming1-logstash-filter-jdbc_static如上面所见,只有jdbc的input插件,没有jdbc的OUtPUt插件。现在开始安装jdbc的output插件,可能安装过程会比较长,请耐心等待:./logstash-plugininstalllogstash-output-jdbcValidatingIogstash-OutputJdbcInstallinglogstash-output-jdbcInstallationsuccessful步2、安装mysql驱动将mysql的驱动程序jar包放到:VendOrjarjdbe目录下:esserverl01jdbc$pwdhomeesprogramlogstashvendorjarjdbcesSerVerIoljdbCFIl总用量984-rw-r-r-1eses10069046月1609:39mysql-connector-java-5.1.49.jar步3、将标准输入保存到数据库中创建数据表:MariaDB(none)>createdatabaseIogstashcharactersetutf8;Query0K,1rowaffected(0.03sec)MariaDB(none)>uselogstash;DatabasechangedMariaDBlogstash>createtablelogs(- >idintprimarykeyautojnerement,- >hostvarchar(30),- >create_timevarchar(50),- >messagevarchar(4000)- >);QueryOK,0rowsaffected(0.01sec)创建Iogstash的配置文件:2.ymlinputstdinoutputjdbcdriver-class=>"com.mysql.jdbc.Driver"connection_string=>"jdbc:mysql:/localhost:330logstash?characterEncoding=UTF-8"username=>"root"password=>"123456,statement=>"insertintologs(host,message,create_time)VaIUeS(?,?,?)","host","message","timestamp”)outputstdout)启动并测试:$bin/logstash-fconfig2.yml输入一些内容:ThisIsmyFirstJdbcOutput("message"=>"ThisIsmyFirstJdbcOutput","version"=>"1,"host"=>',serverll","timestamp"=>2020-07-22T14:59:41.705Z)ThisismySecondMessage("message"=>"ThisismySecondMessage","(Aversion"=>"l"f"host"=>,serverll","timestamp"=>2020-07-22T14:59:50.854Z查看数据表中的数据:MariaDBlogstash>select*fromlogs;IidIhostIcreate_timemessageI1IServerlOl2020-07-2214:59:41.705ThisIsmyFirstJdbcOutputI2IServerlOl2020-07-2214:59:50.854ThisismySecondMessage如果您看到数据表中的数据,则表示输出已经成功。4、使用IOgStaSh读取日志文件并保存到mysql中去1.OgStaSh同样,可以读取日志文件中的内容。以一行一行的形式将数据发送到目标地址。以下定一个读取日志文件的配置示例:https:/WWw.elastic,coguideenIogStaShcurrentp1ugins-inputs-fie.html配置文件:inputfilepath=>*homeesa*.log*outputstdout启动logstash:1.ogstash-fconfig/3.yml向文件中输出数据:esserverl01a$echoHello>a.logeserverlla$echoWorld»a.log查看输出:("ho$t"=>*serverll*,*©timestamp*=>2020-07-22T15:21:56.302Z,“message”=>ztIIello*,z,©version*=>T,)"path"=>*homeesaa.log*(*host*=>*serveriOl*,*©timestamp*=>2020-07-22T15:21:58.406Z,“message”=>"World",*©version*=>T,*path*=>*homeesaa.log*注意I上面并没有配置输出到Mysql中去,大家可以自行配置。四、filebeats简介首先beats是一个集合,用于收集不同的日志类型:https:/www.elastic,co/cn/downloads/beatsBFilebeatReal-time insight into log data.PacketbeatAnalyze network packet data.asWinlogbeatAnalyze Windows event logs.DownloadDownloadDownload©OMetricbeatHeartbeatEAuditbeatShip and analyze metrics.Ping your Infrastructure.Send audit data to Elasticsearch.DownloadDownloadDownloadFunctionbeatShipclouddatawithserverlessinfrastructure.DownloadJournalbeatAnalyze Journald logs.Download阅读安装方法:https:/www.elastic,co/cn/downloads/beats/fiIebeatEdit the filebeat.yml configuration fileDownloadandunzipFilebeatFilebeatcanalsobeinstalledfromourpackagerepositoriesusingaptoryum.SeeRepositoriesintheGuide.Startthedaemonbyrunningsudo./filebeat-e-cfilebeat.ymlDiveintotheqettinStarteduideandvideo.查看gettingStartedgUide,同样,filebeat有输入输出:-Configure* inputsGeneralsettingsProjectpaths* Configfileloading+Output1、查看filebeat的输入和输出文档输入类型包含很多,这儿我们主要研究:Iog日忐输入stdin标准输入输出也包含很多,我们这儿主要研究:1.ogstash输出给IOgStaShconsole输出到控制台2、配置一个标准输出的filebeat配置文件:viml.yml内容如下:(注意冒号后面,都有一个英文空格,可以参考Python的语法,换行后,输入四个空格)filebeat.inputs:-type:stdinoutput.console:pretty:true输出一行数据:HelloThisisMyFirstFiIeBeatConfig您可以看到以卜的输出:"timestamp":"2020-07-23113:33:06.1732",metadata":"beat":"filebeat","type":""doc,"version":"7.8.0","message":"HelloThisisMyFirstFiIeBeatConfig","input":"type":"stdin","ecs":"version":"1.5.0","host":"name":"serverll","agent":"name":',serverll,"type":"filebeat","version":"7.8.0","hostname":,serverll,"ephemeraljd":',2dae3895-fd0f-4b65-ad3d-61945c9ce9f2","id":"0f6dbb4e-7bc6-465a-b548-91b26c362524","log":"file":"path":","offset":0)3、读取日志中的数据,并输出到控制台配置文件:vim2.yml完整内容如下:filebeat.inputs:-type:logpaths:-homeesa*.logoutput.console:pretty:true启动filebeat:filebeat-e-c2.yml输出一行数据,到Iog文件中:(esserverl01a$echoHelloThisisMyFirstLogFileTest>a.log查看filebeat的输出:INFOlog/harvester.go:297Harvesterstartedforfile:homeesaa.log("timestamp":"2020-07-23113:42:29.4812","(©metadata":"beat":"filebeat","type":".doc","version":"7.8.0","agent":"ephemeraljd":"52728a69-ec71-4cec-8dd6-0eee951elc24","id":"0f6dbb4e-7bc6-465a-b548-91b26c362524,"name":"serverll,"type":"filebeat","version":"7.8.0","hostname":"serverll","ecs":"version":"1.5.0","log":"offset":0,"file":"path":"homeesaa.log"),"message":"HelloThisisMyFirstLogFileTest","input":"type":"log","hosf,:"name":',serverll"4、filebeat将数据输出到Iogstash最终保存到mysql这个过程是filebeat将数据发送给logstash,Iogstash将数据保存到mysql数据库中;步In配置Iogstash配置Iogstash输入为beats,并开启一个端口,如5044,输出为mysql数据库:vimlogstashconfig4.yml完整内容如下:inputbeatsport=>5O44outputjdbcdriver-class=>"com.mysql.jdbc.Driver"connection_string=>"jdbc:mysql:/localhost:330/logstash?characterEncoding=UTF-8"username=>"root"password=>"123456"statement=>("insertintologs(host,message,create_time)values(7z7,7)","host","message","timestamp"outputstdout步2、启动Iogstash$bin/logstash-fconfig4.yml启动以后,可以通过查看端口,查看5044占用情况:esserverl01a$netstat-napgrep5044tcp600:5044:*LISTEN185yjava输出jps可以看出,这就是个java程序:esSerVerlOla$jps1947Jps1853Logstash步3、RJtfilebeat配置filebeat的主要:作,就是配置output输出的目标为Iogstash:vimfilebeatl.yml内容如下:filebeat.inputs:-type:logpaths:-homeesa*.logoutput.logstash:hosts:"127.0.0.1:5044"步4、启动filebeat./filebeat-e-c3.yml然后向a*.log中输出一些内容:$echoThisLinewillinsertintomysql»a.log查看数据库中的数据:IMariaDBlogstash>select*fromlogs;+-+IidIhostIcreate_timemessage+-+二+I1Iserverl01220-7-2214:59:41.705ThisIsmyFirstJdbcOutput2Iserverl01220-7-2214:59:50.854ThisismSecondMessage3I"name":"serverl01"2020-07-2314:19:16.530ThisLinewillinsertintomysql+-÷÷+-;,丁T3rowsinSet(.0SeC)如果已经存在,最后这条数据的内容,则说明已经成功了。五、最后,收集SPringBOOt的日志保存到InySql中(课堂上再实现吧!做完这个功能,大家就可以毕业了)。附录h1、将安装好的IOgStaSh-jdbc-output提取出来做以后的安装先在线安装好IOgStaSh-OUtPUt-jdbc:esSerVerlolIogstashFbin/logstash-plugininstalllogstash-output-jdbcValidatinglogstash-output-jdbcInstallinglogstash-output-jdbcInstallationsuccessful然后再将安装好的jdbc打包出来:esSerVerIOlIogstashJSbin/logstash-pluginprepare-offline-pack-overwrite-outputlogstash-jdbc-output.ziplogstash-output-jdbcOfflinepackagecreatedat:logstash-jdbc-output.zipYoucaninstallitwiththiscommand这是官方给的离线安装示例:bin/logstash-plugininstallfile:/home/es/PrORramloRStaShloTStaSh-idbc-output.zip'

    注意事项

    本文(《数据采集技术(初级)》实验手册项目10:项目实战:业务系统日志数据采集.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开