ELK提供了一整套的解决方案,而且都是开源的整个,它们之间互相配合,可以很完美的和Kafka进行整合起来。 先来演示搭建LogStash的环境,LogStash下载地址为:https:www。elastic。cocndownloadslogstash。下载成功后,进行解压。在安装ELK之前,需要搭建Java的环境,JDK建议是1。8的版本。下载logstash6。3。2darwinx8664。tar。gz后,以及把logstash6。3。2命名为logstash。下来配置环境变量,具体如下: exportLOGSTASHHOMEApplicationsdevOpsbigDataELKlogstashexportPATHPATH:LOGSTASHHOMEbin 保存后,使用source。bashprofile命令使配置的变量立即生效。在控制台里面输入logstashv就会显示具体的版本信息,具体如下: 下面通过具体的案例来演示LogStash的标准输入和标准输出的部分,编写LogStash的脚本来测试这部分,具体如下:logstasheinput{stdin{}}output{stdout{}} 输入如上脚本后,就会显示出如下的信息,具体如下:SendingLogstashslogstoApplicationsdevOpsbigDataELKlogstashlogswhichisnowconfiguredvialog4j2。properties〔20210612T16:07:11,975〕〔WARN〕〔logstash。config。source。multilocal〕Ignoringthepipelines。ymlfilebecausemodulesorcommandlineoptionsarespecified〔20210612T16:07:12,382〕〔INFO〕〔logstash。runner〕StartingLogstash{logstash。version6。3。2}〔20210612T16:07:14,196〕〔INFO〕〔logstash。pipeline〕Startingpipeline{:pipelineidmain,pipeline。workers8,pipeline。batch。size125,pipeline。batch。delay50}〔20210612T16:07:14,290〕〔INFO〕〔logstash。pipeline〕Pipelinestartedsuccessfully{:pipelineidmain,:threadThread:0x4357750csleep}Thestdinpluginisnowwaitingforinput:〔20210612T16:07:14,342〕〔INFO〕〔logstash。agent〕Pipelinesrunning{:count1,:runningpipelines〔:main〕,:nonrunningpipelines〔〕}〔20210612T16:07:14,519〕〔INFO〕〔logstash。agent〕SuccessfullystartedLogstashAPIendpoint{:port9600} 在PostMan测试工具里面请求http:localhost:9600,就会显示出地址以及版本信息,如下所示: 然后在控制台输入一个业务数据,如HelloLogStash,就会显示如下的具体信息: 输出的内容就会显示时间戳信息,host的地址,以及message。在Mac的系统中,按下controlc就可以安全退出。 下面开始安装和配置ElasticSearch,它是一个高度可扩展性的开源全文检索和分析引擎,可以快速实时的存储数据,也可以搜索和分析大量的数据集。下载成功后进行解压以及重命名,然后在环境变量里面配置它,具体为:exportESHOMEApplicationsdevOpsbigDataELKelasticsearchexportPATHPATH:ESHOMEbin 下来需要配置系统文件elasticsearch。yml,具体内容为:集群唯一名称cluster。name:elasticsearch节点唯一名称node。name:es1数据存储路径path。data:ApplicationsdevOpsbigDataELKelasticsearchdata日志存储路径path。logs:ApplicationsdevOpsbigDataELKelasticsearchlogs访问地址设置network。host:0。0。0。0外网浏览器访问端口http。port:9200转发端口transport。tcp。port:9301设置集群最小master节点discovery。zen。minimummasternodes:1设置当前节点是否为masternode。master:true设置当前节点是否作为数据节点node。data:true设置为false,防止系统级别出错bootstrap。memorylock:falsebootstrap。systemcallfilter:false 配置完成后,进行安装插件XPack,该插件主要用来监控集群,可以和ElasticSearch进行集成,该插件包含了权限管理,监控,报表以及可视化的信息。在线安装的命令为:elasticsearchplugininstallxpack 执行如上的命令后,就会进行在线的下载以及在线的安装,具体如下: 填写y继续,就会显示如如下的信息: 插件安装完成后,在ElasticSearch的bin目录下,就会有xpack的目录,进入后,执行如下命令初始化用户的登录密码,主要初始化elastic,kibana和logstashsystem的用户名和密码,执行命令前需要启动ElasticSearch,见启动后的信息: 启动ElasticSearch集群后,使用jps命令来查看,具体如下: 也可以在浏览器输入http:localhost:9200来查看(用户名elastic) 下来设置初始化密码信息,具体如下: 下来演示使用HTTP的交互模式来创建索引,如索引名称为es,具体如下: 查看创建的索引信息: 下面演示往新创建的索引里面添加数据,具体为: 调用后,返回的响应数据具体为: 下面来安装Kibana,它是一个开源的分析和可视化平台,和ElasticSearch整合后,查看和存储ElasticSearch索引中存储的数据,使用它可以很轻松的实现数据分析功能,以及数据可视化的展示。下载以及解压后并且加入到环境变量中,具体为:exportKIBANAHOMEApplicationsdevOpsbigDataELKkibanaexportPATHPATH:KIBANAHOMEbin 下来也是需要安装xpack的插件,安装的命令为:kibanaplugininstallxpack 执行后,输出的信息如下:AttemptingtotransferfromxpackAttemptingtotransferfromhttps:artifacts。elastic。codownloadskibanapluginsxpackxpack6。1。1。zipTransferring269804609bytes。。。。。。。。。。。。。。。。。。。。TransfercompleteRetrievingmetadatafrompluginarchiveExtractingpluginarchiveExtractioncompleteOptimizingandcachingbrowserbundles。。。Plugininstallationcomplete 下来需要在config的目录下修改配置文件kibana。yml,内容具体为:浏览器访问WEB服务器端口server。port:5601浏览器访问WEB服务主机或者IPserver。host:localhost用于所有查询的Elasticsearch实例的URLelasticsearch。url:http:localhost:9200用于访问ElasticSearch的用户名elasticsearch。username:elastic用于访问ElasticSearch的用户名的密码elasticsearch。password:elastic 配置完成后,下来启动以及验证Kibana,在bin目录下执行。kibana,就会输出如下的信息: 在浏览器访问http:localhost:5601login?next2F?g(),显示登录页面: 输入账户和密码,就会进入到Kibana的首页,如下所示: 在ManageMent里面就可以看到创建的用户信息,如下所示: 在Monitoring里面就可以看到ElasticSearch集群的资源信息: