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

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

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

原创 Elasticsearch:Painless 编程调试

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

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

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

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

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

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

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

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

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

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

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

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

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

2020-08-21 15:08:15 1536 0

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

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

2020-08-20 16:07:16 704 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 594 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

原创 Logstash:使用 Ruby 过滤器

Logstash 具有丰富的过滤器集,你甚至可以编写自己的过滤器,但是由于没有现成的过滤器,你可以直接将 Ruby 代码 入配置文件中,因此通常不必创建自己的过滤器。 使用 logstash-filter-ruby,你可以使用Ruby字符串操作的所有功能来解析奇异的正则表达式,不完整的日期格式,...

2020-08-12 16:38:42 604 0

原创 Observability: 如何为 APM 定制 transactions 及 spans
原力计划

如果你对 ElasticAPM 还不是很熟悉的话,请参阅我之前的文章 “Solutions:应用程序性能监控/管理(APM)实践”。今天我将以 nodejs 为例来展示如何定制 transactions 及 spans. 用于 Node.js 的 Elastic APM 代理通过将传入的 HTT...

2020-08-12 09:46:27 442 0

原创 Logstash:HTTP 过滤器介绍

在我们使用 Logstash 的时候,我们有时有没有想到去使用 REST 调用请求另外一个微服务呢?这样我们可以得到更多的数据了。在 Elastic 的官方发布中,我们可以在地址https://www.elastic.co/guide/en/logstash/current/filter-plug...

2020-08-10 12:46:23 463 0

原创 Logstash:使用 Logstash 的 prune 过滤器功能将指定字段列入白名单

Logstash 的 prune 滤器插件可以利用白名单,以确保仅从 Logstash 输出特定的所需字段,并删除所有其他字段。 在此博客文章中,我们演示了在索引到 Elasticsearch 之前,如何使用 Logstash 将所需字段和所需子文档列入白名单。 例子输入文档 作为 Log...

2020-08-09 15:18:51 1218 0

原创 Elasticsearch:如何在写入文档时加上 now 时间标签

我最近由于需要需要像一个索引里写入一个文档,而且里面的时间标签 @timestamp 需要用到当前的时间。在文档里,我们没有项 now 这样的东西可以使用来表示当前的时间。那么我们该怎么办呢? 首先我们创建一个这样的 pipeline: PUT _ingest/pipeline/add-...

2020-08-08 22:35:04 924 15

原创 Elasticsearch:异步搜索 - async search

Elasticsearch 通常允许你快速搜索大量数据。 在某些情况下,搜索可能在许多 shard 上执行,可能针对 frozen indices (冻结的索引)及跨越多个远程集群 (remote clusters),因此预期结果不会在毫秒内返回。 当你需要执行长时间运行的搜索时,同步等待返回结果...

2020-08-07 18:44:08 661 0

原创 Elastic:在摄入时使用 grok 构建 Elasticsearch 数据以加快分析速度

除了作为搜索引擎之外,Elasticsearch 还是一个强大的分析引擎。 但是,为了充分利用 Elasticsearch 的近实时分析功能,在将数据吸收到 Elasticsearch 中时向数据添加结构通常很有用。 在schema on write vs. schema on read博客文章中...

2020-08-06 10:10:25 675 0

原创 Elasticsearch:cache 在 Elasticsearch 中的应用

在所有的应用中,cache 是个好东西。因为是在内存里,它的访问速度快,而且有时甚至直接进行使用,这样它就无形加快我们的搜索速度。默认情况下 cache 是启动的。在今天的文章中,我将分享几个小的技巧。希望对大家的学习有所帮助。 为了方便我们的讲解,我们先使用 Kibana 自带的索引来进行展示...

2020-08-04 16:02:01 796 0

原创 Elastic:使用 Elastic 有监督的机器学习进行二进制分类
原力计划

Elastic Stack 7.6 版本提供了端到端机器学习管道所需的最后一部分。 以前,机器学习专注于具有异常检测功能的无监督技术。 但是,在7.x发行版中已经发布了一些功能。 在 7.2 中,Elasticsearch 发布了用于将原始索引转换为特征索引的 transforms。 然后7.3、...

2020-08-04 09:22:39 1627 0

翻译 Logstash:使用并行 Logstash 管道提高持久队列吞吐量

默认情况下,Logstash 管道阶段(输入→管道工作器)之间使用内存中有界队列来缓冲事件。 但是,为了防止异常终止期间的数据丢失,Logstash 具有持久性队列功能,可以启用该功能以将消息队列存储在磁盘上。 队列位于输入和过滤器阶段之间,如下所示: input → persistent q...

2020-08-02 10:01:21 492 0

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