原创 第十六期:Elasticsearch 集群从 3 节点扩容到温热架构的搭建攻略 - 9月26日

从零开始安装 Elastic Stack,使用 Logstash 导入日志文件到 Elasticsearch。Logstash是一个功能强大的工具,可与各种部署集成。 它提供了大量插件,可帮助您解析,丰富,转换和缓冲来自各种来源的数据里面。本次分享含有调试及如何使用 Logstash 的 inpu...

2020-07-25 09:00:03 1405 0

原创 Elastic:菜鸟上手指南

您们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。 我们可以按照如下的步骤来学习: 1)Elasticsearch简介:对Elasticse...

2020-02-25 20:01:55 24224 14

原创 Elastic:培训视频

在这篇文章中,我将会把我写的有些内容录制成视频,供大家参考。希望对大家有所帮助。优酷的视频频道地址在这里。 Elastic 简介及Elastic Stack 安装:优酷,腾讯 Elastic Stack docker 部署:优酷,腾讯 Elasticsearch中的一些重要概念(Cluste...

2020-01-06 15:31:54 5008 7

原创 如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch

在今天的这篇文章中,我想介绍如何在Linux及MacOS上进行安装ElasticSearch。Elasticsearch的安装是非常直接的。在今天的这篇文章中,我们介绍如果直接从已经编译好的档案(.tar.gz)中来直接安装Elasticsearch。如果大家想对Elasticsearch有一个大...

2019-08-13 14:04:03 6190 9

原创 Elasticsearch 简介

Elasticsearch是一个非常强大的搜索引擎。它目前被广泛地使用于各个IT公司。Elasticsearch是由Elastic公司创建并开源维护的。它的开源代码位于https://github.com/elastic/elasticsearch。同时,Elastic公司也拥有Logstash及...

2019-08-08 16:04:31 6379 11

原创 Elasticsearch:cat API 介绍

在 Elasticsearch 中,cat API 仅适用于使用 Kibana 控制台或命令行供人类使用。 它们不适合应用程序使用。 对于应用程序消耗,我们建议使用相应的 JSON API。所有的 cat 命令都接受查询字符串参数 help,以查看它们提供的所有 header 和信息,并且 /_c...

2020-09-27 11:38:50 38 0

原创 Elasticsearch:深刻理解文档中的 verision 及 乐观并发控制

Elasticsearch 版本支持 Elasticsearch 背后的关键原则之一是让你充分利用数据。 从历史上看,搜索引擎加载了来自单一来源的数,一般来说,它的数据是只读的。 随着使用量的增加以及 Elasticsearch 在你的应用程序中越来越重要,碰巧需要由多个组件来更新数据。 多个组...

2020-09-26 17:10:51 47 0

原创 Elasticsearch:Script aggregation (2)

在本教程中,我们将继续进行更高级的操作:重新定义 extended_stats 聚合的结果以及实现 scripted_metric 聚合。 准备数据 本文中的示例使用下面提供的文档,其中包含不同公司出售的单个产品类型的详细信息。 数据包括公司名称,产品名称,产品价格,产品销售市场,可销售的...

2020-09-23 17:00:31 66 0

原创 Elasticsearch:Script aggregation (1)

使用默认聚合时,开发人员通常无法获得预期的结果。 基本聚合功能也有局限性。 例如,如果要更改直方图的偏移值,就是这种情况。 由于 Elasticsearch 不提供此本机功能,因此我们使用脚本来获取所需的结果。 我们还将介绍其他使用脚本的聚合任务。在我之前的文章 “开始使用Elasticsearc...

2020-09-23 15:14:10 58 0

原创 Kibana:在可视化中选择合适的 scale type 更好地洞察数据

在 Kibana 中我们做可视化时,特别是在用 terms 聚会时,有的 term 的数据数量比较多,有的 term 数据数量比较少。在这种情况下,如果我们在 Y 轴的显示上,如果选择 linear, 也就是线性显示,那么显示的图像比较难看,比如: 在上面最左边的数据比较大,相反,最右边的数...

2020-09-22 18:20:07 51 0

原创  Elasticsearch:理解搜索中的 precision 及 recall

当你负责搜索引擎时,不用多说,你应该充分了解有关搜索相关性的尽可能多的详细信息。 虽然大多数人不需要学习每条信息,但需要了解搜索。 你至少应该对 recall (查全率)和 precision (精度)有基本的了解。 本文将重点介绍与搜索相关性的 precision 和 recall。 什么是相...

2020-09-21 17:49:09 55 0

原创 Kibana:通过 Elastic Maps 中的全局行政区层为 IP 分析带来新见解

我们喜欢 Elastic 的地图。在 Elastic Stack 中,我们使用地图可视化的所有数据都有一个核心组成部分:位置。位置可以表示报告机队车辆的实时位置,使用地理围栏限制搜索结果,从某个地理区域衡量应用程序性能指标或通过将地理坐标附加到 IP 地址来识别安全威胁。 最近,我们在 Elas...

2020-09-21 12:28:01 71 0

原创 Kibana:为可视化图添加一个 static 线

当我们做可视化图时,有时我们想为自己的图添加一条静态线。这条线的作用是用来表示在什么位置的统计数据是高于这个值的或低于这个值的。我们知道在通常的情况下,我们一般的可视化图是不可以做到这一点的。我们需要使用 TSVB 来说实现这个。比如,使用下图的红线,它清楚地表明了在什么时候统计数据是大于20的。...

2020-09-21 10:51:53 319 6

原创 Elasticsearch:Snapshot 生命周期管理

在今天的文章中,我们来讲述一下 Data safety 及 security。safety 及 security 是两个不同的概念,尽管在中文很多时翻译都为安全的意思。前者的意思是指我的数据在硬件或者人为操作发生错误时,我可以通过数据的备份(比如 snapshot)以及冗余数据存储(比如多个 re...

2020-09-17 16:22:30 138 0

原创 Elasticsearch:foreach 摄入处理器介绍

foreach processor用于处理未知长度数组中的元素。这个有点和我们在编程中使用的循环是一样的。 所有处理器都可以对数组内的元素进行操作,但是如果需要以相同的方式处理数组中的所有元素,则为每个元素定义处理器将变得既麻烦又棘手,因为数组中元素的数量可能未知。因此,存在 foreach 处...

2020-09-16 15:03:52 262 0

翻译 Elasticsearch:使用 GeoIP 丰富来自内部专用 IP 地址

对于公共 IP,可以创建表来指定 IP 属于哪个城市的特定范围。但是,互联网的很大一部分是不同的。在世界上每个国家都有公司专用网络,其 IP 地址的格式为 10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16。这些 IP 地址往往没有有关地理位置的真实信息。因此,El...

2020-09-16 09:25:40 160 0

原创 Enterprise: 如何在 Chrome 中设置 Elastic Workplace Search 为搜索引擎

Elastic Workplace Search通过将所有内容平台(Google云端硬盘,github, gira, confluence, Salesforce等)统一到个性化的搜索体验中,提高团队的生产力。 凭借其轻松和灵活的部署(在Elastic Cloud上或作为免费的自助管理下载),预先...

2020-09-15 11:10:16 388 0

原创 Elasticsearch:通过 sampler 聚合来改善繁重的 Elasticsearch 聚合

结合两个 Elasticsearch 功能:sampler 聚合可以帮助创建有效的估计 facet 和见解,同时显着降低繁重和缓慢聚合的成本。Sampler aggregation 是一种筛选聚合,用于将任何子聚合的处理限制为得分最高的文档样本。 典型用例: 将分析重点放在高相关性匹配上,而不...

2020-09-14 18:50:55 528 0

原创 Elasticsearch:IP 数据类型及其搜索

在使用 Elasticsearch 搜索 IP 地址时,我们可以把数据类型定义为 IP 数据类型。这样我们可以针对 IP 地址进行搜索。这种 IP 地址可以是 IPv4 或者是 IPv6 的形式。 现在假设我们导入一个如下的数据到 Elasticsearch 中: PUT my-index/...

2020-09-10 16:56:36 865 0

原创 Elasticsearch:使用 _validate API 在不执行查询的情况下验证查询

我们知道有的 Elasticsearch 的查询是非常耗时的。我们可以使用 _validate API 来对我们的 DSL 搜索进行一些验证。在很多的情况下,我们甚至可以使用这个 API 来验证不同的查询方法之间的区别或相同的地方。Elasticsearch 的 DSL 最终会转换为 Apache...

2020-09-10 12:25:53 558 0

原创 Beats:使用 Filebeat 导入 JSON 格式的日志文件

在我们之前的文章 “Beats: 使用 Filebeat 进行日志结构化”,我使用了一种方法来解析一个 JSON 格式的文件,并导入到 Elasticsearch 中。在今天的文章中,我来用另外的一种方式来展示如何导入一个 JSON 格式的文件。 准备数据 我们还是以之前的那篇文章中的数据...

2020-09-09 22:49:41 656 2

翻译 Elastic:在 Elasticsearch ingest 处理器中调试损坏的 grok 表达式

在之前的文章: Elastic:在摄入时使用 grok 构建 Elasticsearch 数据以加快分析速度 Logstash:如何逐步构建自定义 grok 模式 但是如果我们的模式不能正常工作,那该如何处理呢? 在本文中,我们将使用 Kibana 的 Grok Debugg...

2020-09-08 22:45:16 333 0

原创 Kibana:如何周期性地为 Dashboard 生成 PDF Report

Kibana 中的 Dashboard 给我们直观的数据展示。在实际的工作中,可以用于汇报。在 Kibana 中,我们可以来生成我们想要的 PDF report。我们可以手动来生产这样的 report,但是它可能变得非常麻烦,那么我们有什么办法可以使得这个过程变得自动化呢?在今天的教程中,我们来讲...

2020-09-07 17:17:43 710 0

原创 Elasticsearch:创建 Ingest pipeline

在 Elasticsearch 针对数据进行分析之前,我们必须针对数据进行摄入。在摄入的过程中,我们需要对数据进行加工,这其中包括非结构化数据转换为结构化数据,数据的转换,丰富,删除,添加新的字段等等一系列的工作。针对目前 Elastic 公司所提供的工具来看,我们有两种方法来针对数据进行加工:L...

2020-09-03 10:53:35 1231 0

原创 Elasticsearch:反向代理及负载均衡在 Elasticsearch 中的应用

在我们配置 Elasticsearh 安全的时候,我们可以考虑三个方面的东西: firewalls 反向代理 (reverse proxies) Elastic Security 我们可以利用 firewall 已经 IP filtering来限制或允许特定的 IP 地址来访问我们的 Ela...

2020-09-02 18:45:55 1721 0

原创 Elasticsearch:Painless execute API

Painless execute API 允许执行任意脚本并返回结果。请注意的是:这个 API 是新的,请求方式及响应在未来可能会有所改变。 Context Context 也即是上下文的意思。Context 控制了脚本如何执行,在运行时可以使用哪些变量,返回类型是什么。 Plainle...

2020-09-02 10:57:16 692 0

原创 Elasticsearch:如何在搜索中实现 should_not 过滤器

在 Elasticsearch 中,我们可以使用 bool query来说实现一种组合的查询。它可以具有如下的一种形式的搜索: POST _search { "query": { "bool" : { "must&quo...

2020-09-01 18:19:36 1118 0

原创 Logstash:使用 XML filter 来导入文件

JSON 是目前非常流行的一种存储文件的格式,但是在实际的应用中,也有很多的文件格式是 XML 格式的。那么我们该如何来处理 XML 格式的文件并把它们导入到 Elasticsearch 中呢?在今天的文章中,我们将以一个例子来说明。我们将使用 XML filter 来导入 XML 格式的数据。 ...

2020-08-31 16:20:18 924 0

原创 Elasticsearch:Painless 编程调试

Painless 也就是无痛的意思。这是一个专为 Elasticsearch 而设计的。当初的设计人员取名为 “Painless”,表达的意思的是在编程的时候没有疼痛感,很方便设计人员使用。由于这是一个脚本的语言,在实际的使用中,我们很难找到这些编程的方法及使用。在今天的教程中,我来讲述一下该如何...

2020-08-31 10:54:12 1793 0

原创 Logstash:如何逐步构建自定义 grok 模式

在之前的文章 “在摄入时使用 grok 构建 Elasticsearch 数据以加快分析速度”,我们研究了如何在摄取时构造非结构化数据(schema on write),以确保您的分析几乎实时运行。 这样的速度可以帮助将您的可观察性用例提高到一个新的水平。 在本文中,我们将基于从头开始逐步创建新...

2020-08-27 10:48:16 694 0

原创 Logstash:使用 aggregate filter 处理 N:N 关系

在 Logstash 中有一个叫做 aggregate 的 filter。此过滤器的目的是聚合属于同一任务的多个事件(通常是日志行)中的可用信息,最后将聚合的信息推送到最终任务事件中。你应该非常小心地将 Logstash 过滤器工作程序设置为 1(-w 1 标志),此过滤器才能正常工作,否则事件可...

2020-08-25 22:44:52 954 0

原创 Logstash:数据的反扁平化 (unflatten)

反扁平化 (unflatten) 和 扁平化 (flatten)相反,它可以把一个零散的数据变成一个更加有意义的的一种表述,比如,针对一下的数据: image_title image_url image_size picture1 http://www.my.com/1.j...

2020-08-25 10:59:59 656 0

原创 Kibana:如何在 Discover 中显示图片及播放音乐

在我之前的教程中,我有讲述可以通过 String field formatter 的方式来对一个字段进行 drilldown。具体的教程可以参阅 “Kibana:运用索引模式的 formatter 来探索 IP 信息”。在今天的教程中,我将来讲述如何在 Discover 的界面中,如果有字段是图像...

2020-08-21 15:08:15 1513 0

翻译 Elasticsearch:使用新的 wildcard 字段更快地在字符串中查找字符串 - 7.9 新功能

在 Elasticsearch 7.9 中,我们将引入一种新的 “wildcard” 字段类型,该字段类型经过优化,可在字符串值中快速查找模式。这种新的字段类型采用了一种全新的方式来索引字符串数据,从而解决了在日志和安全性数据中高效索引和搜索的最佳实践。根据你现有的字段用法,通配符可以提供: 更...

2020-08-20 16:07:16 538 0

转载 Elastic 7.9 版本发布,提供免费的 Workplace Search 和终端安全功能

我们非常高兴地宣布 Elastic Stack 7.9 版正式发布。新版本为 Elastic 企业搜索、可观测性和安全等解决方案带来了一系列新功能,这些解决方案都以 Elastic Stack(包括 Elasticsearch、Kibana、Logstash 和 Beats)为基础构建而成。7.9...

2020-08-20 09:14:39 499 0

原创 Elastic:利用 Elastic Stack 来分析浏览器历史访问数据

在今天的文章中,我将展示一个如果使用 Elastic Stack 来对我们的电脑上的浏览数据进行分析。浏览器的历史数据保存于一个叫做 SQLite 的数据库中。下面的所有浏览器将设置和历史记录数据保存到SQLite数据库。 我们可以通过编程的语言把这个数据文件读出来,并变为可以被 Elast...

2020-08-19 21:31:25 916 2

原创 Kibana:使用 drilldown 从一个仪表板切换到另外一个仪表板

Drilldowns(也称为自定义操作)使你可以配置工作流以对数据进行分析和故障排除。 使用 drilldowms,你可以从一个仪表板导航到另一个仪表板,并随身携带当前时间范围,过滤器和其他参数,因此上下文保持不变。 你可以从新的角度继续进行分析。 例如,你可能有一个显示多个数据中心总体状态的仪...

2020-08-18 09:47:24 386 1

原创 Elasticsearch:避免不必要的脚本 - scripting

Painless 脚本为我们的搜索带来了很多的方便和灵活性,但是在很多的实践中,我们需要认真地思考这个脚本是不是最有效的。特别是,当我们在 query 使用脚本时,我们需要特别注意。这是因为在搜索时,需要针对每个文档进行计算,当我们的文档的数量很大时,那么这个计算量将会是非常大,从而影响搜索的效率...

2020-08-17 18:34:54 821 0

原创 Elasticsearch:使用同义词 synonyms 来提高搜索效率

在我们的很多情况下,我们希望在搜索时,有时能够使用一个词的同义词来进行搜索,这样我们能搜索出来更多相关的内容。我们可以通过 text analysis 来帮助我们形成同义词。如果大家对 Elastic 的 analyzer 还不是很熟的话,请参阅我之前的文章 “Elasticsearch: ana...

2020-08-14 15:24:30 697 3

原创 Kibana:如何为 Kibana 中的可视化定制时间范围

在我们做可视化时,通常我们的可视化里的时间和 Kibana 中的 time picker 的实际是紧紧耦合在一起的。我们改变 time picker 的时间,它会影响各个可视化的数据展示: 那么我们有没有可能定制每个可视化图里的时间呢?比如上面可视化图中同时显示了在过去30天里和过去7天里的...

2020-08-13 11:32:37 609 0

提示
确定要删除当前文章?
取消 删除