为了账号安全,请及时绑定邮箱和手机立即绑定

Elasticsearch 与 Kibana 的安装与使用以及和 Logstash 的连接

标签:
Premiere

1 Elasticsearch

1.1 Elasticsearch 概述

ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。作为 Elastic Stack 的核心,它集中存储数据,帮助发现意料之中以及意料之外的情况。

webp

为什么要用 Elasticsearch 呢?

  • 数据查询与分析:Elasticsearch 允许执行和合并多种类型的搜索 ( 结构化、非结构化、地理位置、度量指标 )搜索方式随心而变。其聚合让我们能够从大处着眼,探索数据的趋势和模式。

  • 运行速度快:Elasticsearch 通过有限状态机实现了用于全文检索的倒排索引,实现了用于存储数值数据和位置数据的 BKD 树, 以及用于分析的列存储。 而且由于每个数据都被编入了索引,因此再也不用因为某些数据没有索引,我们可以用快到令人发指的速度使用和访问您的所有数据。

  • 可扩展性:原型环境和生产环境可无缝切换。无论 Elasticsearch 是在一个节点上运行,还是在一个包含 300 个节点的集群上运行,我们都能够以相同的方式与 Elasticsearch 进行通信。它能够水平扩展,每秒钟可处理海量事件,同时能够自动管理索引和查询在集群中的分布方式,以实现极其流畅的操作。

  • 弹性:硬件故障。网络分割。Elasticsearch 为我们检测这些故障并确保我们的集群(数据)安全和可用。

  • RESTful:Elasticsearch 使用的是标准的 RESTful API 和 JSON。此外,其还构建和维护了很多其他语言的客户端,例如 Java、Python、.NET、SQL 和 PHP 。

1.2 Elasticsearch 安装与使用

(1)下载 Elasticsearch 和解压进入文件夹

webp

  • wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.0.tar.gz

  • tar -xvf elasticsearch-5.6.0.tar.gz

  • cd elasticsearch-5.6.0

webp

(2)启动 Elasticsearch

进入 bin 目录,执行以下命令启动 Elasticsearch:

  • ./elasticsearch

webp

如果没有出现 Error ,那么 Elasticsearch 就启动成功了。

1.3 将 Logstash 和 Elasticsearch 进行关联

webp

可以看到,上一部分我们已将 Filebeat 作为 Logstash 的输入了,现在我们将 Elasticsearch 作为 Logstash 的输出,这样就能将数据传给 Elasticsearch 进行分析处理了。

(1)配置 Logstash 将 stdout 标准输出设置为 Elasticsearch。修改 logstash.conf ,修改为如下内容:

input {
    beats {
        port => "5044"
    }
}
filter {
    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}"}
    }
    geoip {
        source => "clientip"
    }
}
output {
    elasticsearch {
        hosts => [ "localhost:9200" ]
    }
}

这里新增了一个过滤器,而过滤器中配置两个插件,其中:

  • gork:支持以正则表达式的方式提取所需要的信息,其中,正则表达式又分两种,一种是内置的正则表达式(可以满足我们大部分的要求),一种是自定义的正则表达式。在这里,过滤器中的 message 代表一条一条的日志,%{COMBINEDAPACHELOG} 代表解析日志的正则表达式。

  • geoip:支持通过 IP 获取到很多的信息,包括经纬度,国家,城市,地区等信息,需要注意的是这些信息并不是用户当前访问的实际地址,而是IP所在地(包括经纬度也只是当前城市)。

(2)启动 Filebeat、Logstash。

  • ./filebeat -e -c filebeat.yml -d "publish"

  • bin/logstash -f logstash.conf

webp

查看 Elasticsearch 的反应(如果没有反应的话,可以在收集日志的文件夹下新建一个 文件 1.log,输入一下内容保存退出。这样就能检测到从而在 Elasticsearch 创建一个 Index)。

webp

至此,Elasticsearch 安装完成,也将其配置成 Logstash 的输出,下面安装 Kibana 进行可视化操作。


2 Kibana

2.1 Kibana 概述

Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 一起工作。我们可以使用Kibana 搜索,查看和与存储在 Elasticsearch 索引中的数据进行交互。还可以轻松地在各种图表,表格和地图中执行高级数据分析和可视化数据。

webp

我们用来摄取数据的工具集在 Kibana 的首页都已就绪。有了 Kibana,命令行不再是管理 Elastic Stack 各项设置的唯一途径。与此同时,管理和升级 Elastic Stack 变得更加直观,能够让更多的人上手使用。

webp

Console 等 Kibana 开发工具提供多种方法帮助我们开发 Elastic Stack。您可以跳过在终端键入的过程,直接处理 Elasticsearch 数据。Search Profiler 可让我们轻松查看搜索请求期间花费的时间。并且在Logstash 配置中创建复杂的 Grok 模式,使 Grok Debugger 变得轻而易举。

webp

2.2 Kibana 安装与使用

(1)下载 Kibana,解压进入文件夹

webp

  • wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.0-linux-x86_64.tar.gz

  • tar -xvf kibana-5.6.0-linux-x86_64.tar.gz

  • cd kibana-5.6.0-linux-x86_64

webp

(2)配置 Kibana。进入 config 文件夹,修改 kibana.yml

  • 修改主机绑定的 IP 地址为 0.0.0.0,表示全匹配。

webp

  • 指定连接到 Elasticsearch(这里连接本机)。

webp

(3)启动 Kibana

在bin目录下使用命令:./kibana 启动:

webp

红色框中的内容表示 Kibana 正在 5061 端口监听,访问结果如下

webp



作者:苍云横渡
链接:https://www.jianshu.com/p/bf66e100946f


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1007

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消