分布式&高可用Java技术升华es

ELK 三件套的一些实践

2018-07-20  本文已影响147人  专职跑龙套

什么是 ELK

官方网址:https://www.elastic.co/cn/

Elasticsearch

几个特性:

Mac 上安装与操作 Elasticsearch

使用 Homebrew 安装:

brew install elasticsearch

产生的几个目录:

查看 Elasticsearch 版本:

elasticsearch --version
Version: 6.2.4, Build: ccec39f/2018-04-12T20:37:28.497551Z, JVM: 1.8.0_172

启动和停止 Elasticsearch:

brew services start elasticsearch
brew services stop elasticsearch

启动后可以访问 http://localhost:9200/ 看到 Elasticsearch 的信息,返回一段 JSON:

{
  "name" : "XUgy0CH",
  "cluster_name" : "elasticsearch_xianch",
  "cluster_uuid" : "mjJZ5tJHTAW0ef2FsnLfqw",
  "version" : {
    "number" : "6.2.4",
    "build_hash" : "ccec39f",
    "build_date" : "2018-04-12T20:37:28.497551Z",
    "build_snapshot" : false,
    "lucene_version" : "7.2.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Logstash

几个特性:

Mac 上安装与操作 Logstash

使用 Homebrew 安装:

brew install logstash

产生的几个目录:

查看 Logstash 版本:

logstash --version
logstash 6.2.4

创建一个 Logstash 配置文件 logstash.conf
语法参考:https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html

input {
  tcp {
    mode => "server"
    host => "127.0.0.1"
    port => 9250
  }
}
filter {
}
output {
  elasticsearch {
    action => "index"
    hosts  => "127.0.0.1:9200"
    index  => "testing-log"
  }
}

启动一个 Logstash 实例,其实相当于定义了一个数据处理的管道,从 9250 端口接受数据,并发送存储到上面创建的 Elasticsearch 示例:

logstash -f logstash.conf

Kibana

几个特性:

Mac 上安装与操作 Kibana

请确保 Kibana 的版本与 Elasticsearch 的版本一致。否则启动 Kibana 之后会出现错误提示:

Kibana 与 Elasticsearch 版本不匹配错误提示

先下载到本地并解压缩:

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-darwin-x86_64.tar.gz
tar zxvf kibana-6.2.4-darwin-x86_64.tar.gz

编辑 /config/kibana.yml,确保:

# The URL of the Elasticsearch instance to use for all your queries.
elasticsearch.url: "http://localhost:9200"

通过 ./bin/kibana 启动 Kibana:

启动 Kibana 日志

随后可以通过 http://localhost:5601/ 访问 Kibana 页面:

Kibana 页面

导入示例数据到 Elasticsearch

三个数据集:

具体过程参考:

几个注意的点:

在 Elasticsearch 中创建索引模式 Index Patterns

具体过程参考:

导入数据后,我们再次访问 Kibana 页面 http://localhost:5601/ 会看到如下的信息:
Index Patterns: In order to visualize and explore data in Kibana, you'll need to create an index pattern to retrieve data from Elasticsearch.

提示创建 Index Patterns

加载到 Elasticsearch 的每组数据都有一个索引模式(Index Pattern)。
在上一节中,为莎士比亚数据集创建了名为 shakespeare 的索引,为 accounts 数据集创建了名为 bank 的索引。
一个 索引模式 是可以匹配多个索引的带可选通配符的字符串。例如一般在通用日志记录中,一个典型的索引名称一般包含类似 YYYY.MM.DD 格式的日期信息。例如一个包含五月数据的索引模式: logstash-2015.05*
定义索引模式时,匹配该模式的索引必须在 Elasticsearch 中存在。并且那些索引必须包含数据。

创建 Index Pattern shakespeare
创建 Index Pattern bank
创建 Index Pattern logstash-*

在 Elasticsearch 中搜索数据

具体过程参考:

单击侧面导航中的 Discover 进入 Kibana 的数据探索功能。在查询框里,您可以输入 Elasticsearch 查询语句 来搜索您的数据。

例如我们想查询0到99之间所有余额超过47,500的账户号码:


在 Elasticsearch 中搜索数据

可视化数据

具体过程参考:

在侧边导航栏点击 Visualize 开始视化您的数据。例如:我们使用饼图这个重要的可视化控件来查看银行账户样本数据中的账户余额。点击屏幕中间的 Create a visualization 蓝色按钮开始。


可视化数据

使用仪表板汇总数据

具体过程参考:

仪表板可用于集中管理和分享可视化控件集合。

Spring Cloud Sleuth 集成 ELK

参见 Spring Cloud 学习笔记 - No.8 分布式服务跟踪 Sleuth

上一篇下一篇

猜你喜欢

热点阅读