• 博客(23)
  • 资源 (9)
  • 论坛 (1)

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

JSON 是目前非常流行的一种存储文件的格式,但是在实际的应用中,也有很多的文件格式是 XML 格式的。那么我们该如何来处理 XML 格式的文件并把它们导入到 Elasticsearch 中呢?在今天的文章中,我们将以一个例子来说明。我们将使用 XML filter 来导入 XML 格式的数据。如何在 ElasticSearch 中导入我的自定义 XML 文件,幸运的是 Logstash 可以为你提供帮助。 让我们创建一个示例 XML 文件,该文件要导入到 Elasticsearch 中。 复制下面的.

2020-08-31 16:20:18 1000

原创 Elasticsearch:Painless 编程调试

Painless 也就是无痛的意思。这是一个专为 Elasticsearch 而设计的。当初的设计人员取名为 “Painless”,表达的意思的是在编程的时候没有疼痛感,很方便设计人员使用。由于这是一个脚本的语言,在实际的使用中,我们很难找到这些编程的方法及使用。在今天的教程中,我来讲述一下该如何来进行调试。Debug.ExplainPainless 没有 REPL,虽然很高兴有一天,但它不会告诉你调试 Elasticsearch 中嵌入的 Painless 脚本的全部过程,因为脚本可以访问或 “上

2020-08-31 10:54:12 1872

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

在之前的文章 “在摄入时使用 grok 构建 Elasticsearch 数据以加快分析速度”,我们研究了如何在摄取时构造非结构化数据(schema on write),以确保您的分析几乎实时运行。 这样的速度可以帮助将您的可观察性用例提高到一个新的水平。在本文中,我们将基于从头开始逐步创建新的 grok 模式的基础上学习! 这意味着无论你的用例或要求如何,你都可以构造数据以提高速度。调试 grok 模式两个可用于构建和调试 grok 模式的工具是我们在本系列博客的上一部分中使用的 Sim.

2020-08-27 10:48:16 756

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

在 Logstash 中有一个叫做 aggregate 的 filter。此过滤器的目的是聚合属于同一任务的多个事件(通常是日志行)中的可用信息,最后将聚合的信息推送到最终任务事件中。你应该非常小心地将 Logstash 过滤器工作程序设置为 1(-w 1 标志),此过滤器才能正常工作,否则事件可能会被按顺序处理,并且会发生意外的结果。在 Elastic 的官方文档中,你可以看到很多相应的例子。在今天的例子中,我们将以一个关系数据库的例子为例来讲述如何把一个关系数据库中的数据导入到 Elasticsea

2020-08-25 22:44:52 1042

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

反扁平化 (unflatten) 和 扁平化 (flatten)相反,它可以把一个零散的数据变成一个更加有意义的的一种表述,比如,针对一下的数据:image_title image_url image_size picture1 http://www.my.com/1.jpg 32000 picture2 http://www.my.com/2.jpg 48000 在上面,它显示的是一个典型的结构化表格。通常这个可能是来自另外一个数据库的数据。如果这样的数

2020-08-25 10:59:59 739

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

在我之前的教程中,我有讲述可以通过 String field formatter 的方式来对一个字段进行 drilldown。具体的教程可以参阅 “Kibana:运用索引模式的 formatter 来探索 IP 信息”。在今天的教程中,我将来讲述如何在 Discover 的界面中,如果有字段是图像的,我们该如何来显示图片。对于有的字段是音乐的,我们该如何来播放这个音乐。就像如下的画面一样:这些虽然是一些小的功能,但是在有些实际的展示中还是蛮有直观性的。在进行练习之前,如果你还没有安装好自己.

2020-08-21 15:08:15 1538

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

在 Elasticsearch 7.9 中,我们将引入一种新的 “wildcard” 字段类型,该字段类型经过优化,可在字符串值中快速查找模式。这种新的字段类型采用了一种全新的方式来索引字符串数据,从而解决了在日志和安全性数据中高效索引和搜索的最佳实践。根据你现有的字段用法,通配符可以提供:更简单的搜索表达式(无需将 AND /单词/短语组合在一起) 更简单的索引编制(无需定义分析器选择) 不再有的缺失值 更快的搜索 更少的磁盘使用这种新数据类型最令人兴奋的功能是简化了部分匹配。使用通配符,你

2020-08-20 16:07:16 722

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

我们非常高兴地宣布 Elastic Stack 7.9 版正式发布。新版本为 Elastic 企业搜索、可观测性和安全等解决方案带来了一系列新功能,这些解决方案都以 Elastic Stack(包括 Elasticsearch、Kibana、Logstash 和 Beats)为基础构建而成。7.9 为市场带来了多项重大的新功能,通过全新的 Elastic Agent 转变了客户和用户向 Elastic 中采集数据的方式,新推出了 Elastic Workplace Search(属于 Elastic 企业搜

2020-08-20 09:14:39 599

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

在今天的文章中,我将展示一个如果使用 Elastic Stack 来对我们的电脑上的浏览数据进行分析。浏览器的历史数据保存于一个叫做 SQLite 的数据库中。下面的所有浏览器将设置和历史记录数据保存到SQLite数据库。我们可以通过编程的语言把这个数据文件读出来,并变为可以被 Elastic Stack 摄入的文件格式,从而把数据导入到 Elasticsearch 中,并使用 Kibana 对数据进行分析。整个项目的源码在地址https://github.com/liu-xiao-guo/e.

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

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

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

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

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

Painless 脚本为我们的搜索带来了很多的方便和灵活性,但是在很多的实践中,我们需要认真地思考这个脚本是不是最有效的。特别是,当我们在 query 使用脚本时,我们需要特别注意。这是因为在搜索时,需要针对每个文档进行计算,当我们的文档的数量很大时,那么这个计算量将会是非常大,从而影响搜索的效率。比如,我们创建如下的一个文档:PUT twitter/_doc/1{ "user" : "双榆树-张三", "message" : "今儿天气不错啊,出去转转去", "uid" : 2.

2020-08-17 18:34:54 867

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

在我们的很多情况下,我们希望在搜索时,有时能够使用一个词的同义词来进行搜索,这样我们能搜索出来更多相关的内容。我们可以通过 text analysis 来帮助我们形成同义词。如果大家对 Elastic 的 analyzer 还不是很熟的话,请参阅我之前的文章 “Elasticsearch: analyzer”。文本分析通常应用于你建立索引时的所有文档以及发送给 Elasticsearch 的所有查询。在进行同义词搜索时,我们有如下的几种方案:在建立索引时 (indexing),通过 analyzer 建

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

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

在我们做可视化时,通常我们的可视化里的时间和 Kibana 中的 time picker 的实际是紧紧耦合在一起的。我们改变 time picker 的时间,它会影响各个可视化的数据展示:那么我们有没有可能定制每个可视化图里的时间呢?比如上面可视化图中同时显示了在过去30天里和过去7天里的访问人数的变化。同样的一个可视化数据,但是具有不同的时间范围,所展示的意义也是不一样的。我们在接下来的练习中来展示是如何来操作的。准备数据在今天的教程中,我们将使用 Kibana 自带的索引来进行展示.

2020-08-13 11:32:37 686

原创 Logstash:使用 Ruby 过滤器

Logstash 具有丰富的过滤器集,你甚至可以编写自己的过滤器,但是由于没有现成的过滤器,你可以直接将 Ruby 代码 入配置文件中,因此通常不必创建自己的过滤器。使用 logstash-filter-ruby,你可以使用Ruby字符串操作的所有功能来解析奇异的正则表达式,不完整的日期格式,写入文件,甚至进行 Web 服务调用。Logstash 安装如果你从来没有安装过自己的 Logstash,你可以参考我之前的文章 “如何安装 Elastic 栈中的 Logstash” 来进行安装。.

2020-08-12 16:38:42 611

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

如果你对 ElasticAPM 还不是很熟悉的话,请参阅我之前的文章 “Solutions:应用程序性能监控/管理(APM)实践”。今天我将以 nodejs 为例来展示如何定制 transactions 及 spans.用于 Node.js 的 Elastic APM 代理通过将传入的 HTTP 请求分组到逻辑存储桶中来检测你的应用程序。 每个 HTTP 请求都记录在我们所谓的交易中。如果你想了解 nodejs 是如何进行 APM 操作的,请参阅我之前的文章 “Solutions:为Nodejs微服务.

2020-08-12 09:46:27 442

原创 Logstash:HTTP 过滤器介绍

在我们使用 Logstash 的时候,我们有时有没有想到去使用 REST 调用请求另外一个微服务呢?这样我们可以得到更多的数据了。在 Elastic 的官方发布中,我们可以在地址https://www.elastic.co/guide/en/logstash/current/filter-plugins.html找到目前所有的过滤器。在这里面有一个叫做 http 的过滤器。在今天的文章中,我将使用一个例子来展示如何使用这个 http 的过滤器。我将使用如下的 REST API 接口来做展示...

2020-08-10 12:46:23 465

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

Logstash 的 prune 滤器插件可以利用白名单,以确保仅从 Logstash 输出特定的所需字段,并删除所有其他字段。 在此博客文章中,我们演示了在索引到 Elasticsearch 之前,如何使用 Logstash 将所需字段和所需子文档列入白名单。例子输入文档作为 Logstash 的输入,我们使用包含股市交易的 CSV 文件。 以下是 CSV 股票市场交易的一些示例。1483230600,1628.75,1678.1,1772.8,2443.61483232400,16.

2020-08-09 15:18:51 1224

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

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

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

原创 Elasticsearch:异步搜索 - async search

Elasticsearch 通常允许你快速搜索大量数据。 在某些情况下,搜索可能在许多 shard 上执行,可能针对 frozen indices (冻结的索引)及跨越多个远程集群 (remote clusters),因此预期结果不会在毫秒内返回。 当你需要执行长时间运行的搜索时,同步等待返回结果是不理想的。 相反,异步搜索使你可以提交异步执行的搜索请求,监视请求的进度,并在以后的阶段检索结果。 你也可以在部分结果可用时但在搜索完成之前检索它们。你可以使用提交异步搜索 API 提交异步搜索请求。 使用

2020-08-07 18:44:08 668

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

除了作为搜索引擎之外,Elasticsearch 还是一个强大的分析引擎。 但是,为了充分利用 Elasticsearch 的近实时分析功能,在将数据吸收到 Elasticsearch 中时向数据添加结构通常很有用。 在schema on write vs. schema on read博客文章中,可以很好地解释其原因,而在本博客系列的其余部分中,当我谈论结构化数据时,我指的是 schema on write。由于结构化数据非常重要,因此在这个分为三部分的博客系列中,我们将探讨以下内容:如何通...

2020-08-06 10:10:25 675

原创 Elasticsearch:cache 在 Elasticsearch 中的应用

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

2020-08-04 16:02:01 797

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

Elastic Stack 7.6 版本提供了端到端机器学习管道所需的最后一部分。 以前,机器学习专注于具有异常检测功能的无监督技术。 但是,在7.x发行版中已经发布了一些功能。 在 7.2 中,Elasticsearch 发布了用于将原始索引转换为特征索引的 transforms。 然后7.3、7.4和7.5分别发布了异常值检测(outlier detection),回归(regression)和分类(classification)。 最后,在7.6中,你可以将回归和分类模型与推理提取处理器一起使用,以丰

2020-08-04 09:22:39 1629

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

默认情况下,Logstash 管道阶段(输入→管道工作器)之间使用内存中有界队列来缓冲事件。 但是,为了防止异常终止期间的数据丢失,Logstash 具有持久性队列功能,可以启用该功能以将消息队列存储在磁盘上。 队列位于输入和过滤器阶段之间,如下所示:input → persistent queue → filter + output根据持久队列博客文章,Logstash 持久队列应该对整体吞吐量产生很小的影响。 尽管对于管道受 CPU 约束的用例通常是这样,但在其他情况下,持久队列可能会导致 L

2020-08-02 10:01:21 498

images.tar.gz

Pictures for tutorials

2014-09-10

Ubuntu Core知识分享

介绍Ubuntu及其开发流程

2016-12-26

Ubuntu core introduction

介绍Ubuntu Core, snapcraft,Ubuntu Core安全,商店

2016-08-31

Scope开发介绍

在文档中介绍最新的在Ubuntu手机平台上的Scope开发知识

2015-06-29

Ubuntu上的HTML5开发

本文档介绍了如何在Ubuntu平台上开发HTML5的应用

2015-03-18

online account workshop

Ubuntu平台上的online account介绍

2015-02-03

Ubuntu手机介绍

介绍Canonical公司,Ubuntu手机平台,SDK。重点介绍Ubuntu手机平台上的Scope技术。

2015-01-16

Ubuntu应用开发

在这个文档中介绍如何在Ubuntu平台上开发应用

2015-01-04

Scope技术开发

这篇文章介绍了如何在Ubuntu平台上开发Scope。

2015-01-04

Elastic 中国社区官方博客的留言板

发表于 2020-01-02 最后回复 2020-08-03

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