前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ELK环境搭建

ELK环境搭建

作者头像
无涯WuYa
发布2022-01-18 16:34:08
4870
发布2022-01-18 16:34:08
举报

ELK提供了一整套的解决方案,而且都是开源的整个,它们之间互相配合,可以很完美的和Kafka进行整合起来。

先来演示搭建LogStash的环境,LogStash下载地址为:https://www.elastic.co/cn/downloads/logstash。下载成功后,进行解压。在安装ELK之前,需要搭建Java的环境,JDK建议是1.8的版本。下载logstash-6.3.2-darwin-x86_64.tar.gz后,以及把logstash-6.3.2命名为logstash。下来配置环境变量,具体如下:

代码语言:javascript
复制
export LOGSTASH_HOME=/Applications/devOps/bigData/ELK/logstash
export PATH=$PATH:$LOGSTASH_HOME/bin

保存后,使用source .bash_profile命令使配置的变量立即生效。在控制台里面输入logstash -v就会显示具体的版本信息,具体如下:

下面通过具体的案例来演示LogStash的标准输入和标准输出的部分,编写LogStash的脚本来测试这部分,具体如下:

代码语言:javascript
复制
logstash -e 'input { stdin {} } output { stdout {}}'

输入如上脚本后,就会显示出如下的信息,具体如下:

代码语言:javascript
复制
Sending Logstash's logs to /Applications/devOps/bigData/ELK/logstash/logs which is now configured via log4j2.properties
[2021-06-12T16:07:11,975][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2021-06-12T16:07:12,382][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"6.3.2"}
[2021-06-12T16:07:14,196][INFO ][logstash.pipeline        ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>8, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50}
[2021-06-12T16:07:14,290][INFO ][logstash.pipeline        ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x4357750c sleep>"}
The stdin plugin is now waiting for input:
   [2021-06-12T16:07:14,342][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2021-06-12T16:07:14,519][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}

在PostMan测试工具里面请求http://localhost:9600/,就会显示出地址以及版本信息,如下所示:

然后在控制台输入一个业务数据,如Hello LogStash,就会显示如下的具体信息:

输出的内容就会显示时间戳信息,host的地址,以及message。在Mac的系统中,按下control+c就可以安全退出。

下面开始安装和配置ElasticSearch,它是一个高度可扩展性的开源全文检索和分析引擎,可以快速实时的存储数据,也可以搜索和分析大量的数据集。下载成功后进行解压以及重命名,然后在环境变量里面配置它,具体为:

代码语言:javascript
复制
export ES_HOME=/Applications/devOps/bigData/ELK/elasticsearch
export PATH=$PATH:$ES_HOME/bin

下来需要配置系统文件elasticsearch.yml,具体内容为:

代码语言:javascript
复制
#集群唯一名称
cluster.name: elasticsearch
#节点唯一名称
node.name: es1
#数据存储路径
path.data: /Applications/devOps/bigData/ELK/elasticsearch/data
#日志存储路径
path.logs: /Applications/devOps/bigData/ELK/elasticsearch/logs
#访问地址设置
network.host: 0.0.0.0
#外网浏览器访问端口
http.port: 9200
#转发端口
transport.tcp.port: 9301
#设置集群最小master节点
discovery.zen.minimum_master_nodes: 1
#设置当前节点是否为master
node.master: true
#设置当前节点是否作为数据节点
node.data: true
#设置为false,防止系统级别出错
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

配置完成后,进行安装插件X-Pack,该插件主要用来监控集群,可以和ElasticSearch进行集成,该插件包含了权限管理,监控,报表以及可视化的信息。在线安装的命令为:

代码语言:javascript
复制
elasticsearch-plugin install x-pack

执行如上的命令后,就会进行在线的下载以及在线的安装,具体如下:

填写y继续,就会显示如如下的信息:

插件安装完成后,在ElasticSearch的bin目录下,就会有x-pack的目录,进入后,执行如下命令初始化用户的登录密码,主要初始化elastic,kibana和logstash_system的用户名和密码,执行命令前需要启动ElasticSearch,见启动后的信息:

启动ElasticSearch集群后,使用jps命令来查看,具体如下:

也可以在浏览器输入http://localhost:9200/来查看(用户名elastic)

下来设置初始化密码信息,具体如下:

下来演示使用HTTP的交互模式来创建索引,如索引名称为es,具体如下:

查看创建的索引信息:

下面演示往新创建的索引里面添加数据,具体为:

调用后,返回的响应数据具体为:

下面来安装Kibana,它是一个开源的分析和可视化平台,和ElasticSearch整合后,查看和存储ElasticSearch索引中存储的数据,使用它可以很轻松的实现数据分析功能,以及数据可视化的展示。下载以及解压后并且加入到环境变量中,具体为:

代码语言:javascript
复制
export KIBANA_HOME=/Applications/devOps/bigData/ELK/kibana
export PATH=$PATH:$KIBANA_HOME/bin

下来也是需要安装x-pack的插件,安装的命令为:

代码语言:javascript
复制
kibana-plugin  install x-pack

执行后,输出的信息如下:

代码语言:javascript
复制
Attempting to transfer from x-pack
Attempting to transfer from https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-6.1.1.zip
Transferring 269804609 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...
Plugin installation complete

下来需要在config的目录下修改配置文件kibana.yml,内容具体为:

代码语言:javascript
复制
#浏览器访问WEB服务器端口
server.port: 5601
#浏览器访问WEB服务主机或者IP
server.host: "localhost"
#用于所有查询的Elasticsearch实例的URL
elasticsearch.url: "http://localhost:9200"
#用于访问ElasticSearch的用户名
elasticsearch.username: "elastic"
#用于访问ElasticSearch的用户名的密码
elasticsearch.password: "elastic"

配置完成后,下来启动以及验证Kibana,在bin目录下执行./kibana ,就会输出如下的信息:

在浏览器访问http://localhost:5601/login?next=%2F#?_g=(),显示登录页面:

输入账户和密码,就会进入到Kibana的首页,如下所示:

在ManageMent里面就可以看到创建的用户信息,如下所示:

在Monitoring里面就可以看到ElasticSearch集群的资源信息:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档