您的位置:首页 >聚焦 >

ELK学习笔记一[环境安装问题解决]

2022-03-01 17:43:20    来源:程序员客栈
说明

本文将演示如何在Mac系统中,安装ELK环境(elasticsearch、logstash、kibana)。在Mac上安装ELK非常简单,直接使用brew命令安装即可。同时网络上存在非常多的文章。但是99%的文章,都没有提出其中遇到的问题或者没提及到需要注意的事项。本文将重点介绍这些细节。

同时希望你在阅读本文的时候,耐心阅读。即使不能帮助你遇到的问题,但是可以大致给你一个解决思路。

这里给大家分享一下,程序员面试题大全。

ELK逻辑图
Snipaste_2022-02-23_22-57-54
提前准备

由于brew默认使用的源非常慢,推荐使用该仓库的配置。Gitee地址。

开始安装

假设你已经做好了所有的准备工作。本文就开始从安装环境开始讲起了。

版本检测

在使用ELK时,一定要注意版本的一致性,否则安装好之后会出现服务之间版本不兼容问题。如果你不是很清楚的情况,你可以使用下面的链接,来确保版本是否一致。强烈推荐版本号保持一致。例如你的elasticsearch安装的版本是7.10.2,推荐你在安装logstash时也选择一样的版本号7.10.2。官网版本号总结。在本文的演示中,我安装的版本是7.10.2。

brew版本检测

我们检测brew源的elasticsearch版本号,安装的其他服务就以该服务为基准,选择对应的版本号。通过使用brew info elasticsearch命令,我们可以查看到elasticsearch的版本号,以及对应的依赖(下面✅的部分就是对应的依赖包),如果你查询到是❌ ,你使用brew install gradle@6命令安装即可,其他的依赖包同样按照此方式安装即可。

olddog@192~brewinfoelasticsearchelasticsearch:stable7.10.2(bottled)Distributedsearch&analyticsenginehttps://www.elastic.co/products/elasticsearchDeprecatedbecauseitisswitchingtoanincompatiblelicense.Checkout`opensearch`instead!/usr/local/Cellar/elasticsearch/7.10.2(156files,113.5MB)*Pouredfrombottleon2022-02-20at15:46:47From:https://mirrors.ustc.edu.cn/homebrew-core.git/Formula/elasticsearch.rbLicense:Apache-2.0==>DependenciesBuild:gradle@6✔Required:openjdk✔==>CaveatsData:/usr/local/var/lib/elasticsearch/Logs:/usr/local/var/log/elasticsearch/elasticsearch_kert.logPlugins:/usr/local/var/elasticsearch/plugins/Config:/usr/local/etc/elasticsearch/Tohavelaunchdstartelasticsearchnowandrestartatlogin:brewservicesstartelasticsearchOr,ifyoudon"twant/needabackgroundserviceyoucanjustrun:elasticsearch==>Analyticsinstall:2,484(30days),6,719(90days),34,351(365days)install-on-request:2,477(30days),6,702(90days),34,273(365days)build-error:344(30days)

安装elasticsearch

确认好安装的版本是7.10.2,那我们就可以开始安装。

//安装elasticsearchbrewinstallelasticsearch//启动服务brewservicesstartelasticsearch

安装好之后,相关的数据目录以及配置目录都会显示出来,大致如下:

Data:/usr/local/var/lib/elasticsearch/Logs:/usr/local/var/log/elasticsearch/elasticsearch_kert.logPlugins:/usr/local/var/elasticsearch/plugins/Config:/usr/local/etc/elasticsearch/

安装好之后,我们本地服务就启动正常了。直接访问http://127.0.0.1:9200/,出现下面的信息,表示我们的elasticsearch,完全安装成功。同时,我们也可以使用一个开源软件查看。这里就不讲怎么使用了,软件地址。在安装好之后,我们先执行一下这个命令,向elasticsearch中些一条数据。

url-H"Content-Type:application/json"-XPOST"http://127.0.0.1:9200/system-syslog-20181129/system-syslog"-d"{"first_name":"yuan","last_name":"mu","age":88,"about":"Ilovetowoqu","interests":["sport","huangya"]}"》{"_index":"system-syslog-20181129","_type":"system-syslog","_id":"sF0mHX8BBJXzIcLuz4gM","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

Snipaste_2022-02-23_23-21-32
kibanna版本检测

下面的信息和elasticsearch其实都一样的,对 ✅ 和 ❌ 的对应的依赖包,如果是提示❌ 使用brew安装就可以了。下面的命令,我们可以看到版本号和elasticsearch的版本号是一致的,都是7.10.2,因此我们直接安装就可以了。

olddog@192brewinfokibanakibana:stable7.10.2(bottled),HEADAnalyticsandsearchdashboardforElasticsearchhttps://www.elastic.co/products/kibanaDeprecatedbecauseitisswitchingtoanincompatiblelicense!/usr/local/Cellar/kibana/7.10.2(29,154files,300.8MB)*Pouredfrombottleon2022-02-20at18:22:35From:https://mirrors.ustc.edu.cn/homebrew-core.git/Formula/kibana.rbLicense:Apache-2.0==>DependenciesBuild:python@3.9✔,yarn✔Required:node@10✔==>Options--HEAD

安装kibanna

//安装服务brewinstallkibana//启动服务brewservicesstartkibana

安装好之后,相关的数据目录以及配置目录都会显示出来,对应的目录都在/usr/local/Cellar/kibana/7.10.2下面。可以通过http://127.0.0.1:5601/app/home,看到下面的预览图,说明我们已经安装成功。

logstash版本检测

同样是用上面提到的命令检测一下服务版本。

olddog@192brewinfologstashlogstash:stable7.13.1(bottled),HEADToolformanagingeventsandlogshttps://www.elastic.co/products/logstashNotinstalledFrom:https://mirrors.ustc.edu.cn/homebrew-core.git/Formula/logstash.rbLicense:Apache-2.0==>DependenciesRequired:openjdk@11✔==>Options

我们可以看到对应的版本是7.13.1,并且官方文档也提到elasticsearch的版本7.10.2是支持logstash对应的版本号6.8.x-7.17.x。

实际情况在使用brew安装后,是没法使用的。一直提示版本不兼容,无法建立连接。大致如下的错误信息:

Elasticsearchsetupdidnotcompletenormally,pleasereviewpreviouslyloggederrorsUnabletoconnecttoElasticsearchathttp://localhost:9200

因此该服务,我们就推荐使用源码安装。其实,上面的两个服务也可以通过源码安装,只不过麻烦一点。

下载源码

默认官网打开,是显示最新的版本,你可以自己选择对应的版本号。注意下图画框的部分。

Snipaste_2022-02-23_22-58-32

这里得到的是一个.sha512的文件,是一种加密文件,但不是源码安装文件。可以直接使用该链接下载https://artifacts.elastic.co/downloads/logstash/logstash-oss-7.10.2-darwin-x86_64.tar.gz,仔细的你会发现,7-10-2其实就是版本号,如果你安装的不是该版本,直接替换一下就好了。

//解压tar-zxvflogstash-7.10.2-darwin-x86_64.tar.gz进入可执行目录,下面的文件就是可执行文件cd/Users/xx/Downloads/logstash-7.10.2/bin&&ll-rw-r--r--1kertstaff2211132021benchmark.bat-rwxr-xr-x1kertstaff1521132021benchmark.sh-rwxr-xr-x1kertstaff3771132021cpdump-rwxr-xr-x1kertstaff10251132021dependencies-report-rw-r--r--1kertstaff2251132021ingest-convert.bat-rwxr-xr-x1kertstaff1551132021ingest-convert.sh-rwxr-xr-x1kertstaff22871132021logstash-rwxr-xr-x1kertstaff3571132021logstash-keystore-rw-r--r--1kertstaff2571132021logstash-keystore.bat-rwxr-xr-x1kertstaff3581132021logstash-plugin-rw-r--r--1kertstaff2601132021logstash-plugin.bat-rw-r--r--1kertstaff24421132021logstash.bat-rwxr-xr-x1kertstaff58761132021logstash.lib.sh-rwxr-xr-x1kertstaff11241132021pqcheck-rw-r--r--1kertstaff4751132021pqcheck.bat-rwxr-xr-x1kertstaff11251132021pqrepair-rw-r--r--1kertstaff4761132021pqrepair.bat-rwxr-xr-x1kertstaff6231132021ruby-rw-r--r--1kertstaff17681132021setup.bat

任意创建一个.conf文件, 我这里名字就叫log.conf。我这里以Laravel日志为例,向log.conf写入如下的内容:

input{file{path=>["你laravel日志目录/laravel.log"]}}output{elasticsearch{hosts=>["http://127.0.0.1:9200"]index=>"lumen-log"}}

然后执行logstash log.conf就可以了,正常的情况下会看到这样的内容:

[2022-02-22T00:32:17,071][INFO][logstash.javapipeline][main]Pipelinestarted{"pipeline.id"=>"main"}[2022-02-22T00:32:17,151][INFO][filewatch.observingtail][main][7dda28e49683b585e296fde30e6578464882b8bfd26fca79cbad0d53581f074c]START,creatingDiscoverer,Watchwithfileandsincedbcollections[2022-02-22T00:32:17,165][INFO][logstash.agent]Pipelinesrunning{:count=>1,:running_pipelines=>[:main],:non_running_pipelines=>[]}[2022-02-22T00:32:17,582][INFO][logstash.agent]SuccessfullystartedLogstashAPIendpoint{:port=>9600}

执行完之后,过一会elasticsearch,里面应该就有数据了。我们依旧使用ElasticHD进行查看。

Snipaste_2022-02-23_23-15-00
总结

上面的步骤就演示完,如何安装ELK。其实都很简单。最重要的是要注意版本号一致。

关键词: 版本检测 就可以了 数据目录

相关阅读