问题标签 [logstash-file]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
31 浏览

logstash - logstash 如何识别和解析新创建的日志文件?

我是 ELK 的新手,目前我面临以下问题。我希望 logstash 解析一些服务器日志文件。每天,都会创建一个新的日志文件,它具有以下命名格式:file160629.log(其中 160629=当前日期)这是我的配置输入:

但看起来,它无法识别新的日志文件。有人能告诉我我做错了什么吗?

先感谢您。

0 投票
1 回答
453 浏览

logstash - Logstash 始终在 PipeLine 中保留一条消息

我正在使用 Logstash 从文件中读取和解析日志,并将它们发送到基于 Rest 的 API。我的托运人工作正常,但我遇到了一种奇怪的行为。

问题:

当 Logstash shipper 解析第一个日志条目时,它不会发送它,而是将它保存在管道中。当它解析第二个日志条目时,它会将第一个日志条目发送到 API。因此,一条消息始终保留在管道中,并且不会发送到我的 API。

每当我停止我的 Logstash 托运人进程时,它也会发送最后一条剩余的消息。所以,从某种意义上说,没有信息丢失,但托运人总是落后一条信息。

问题: 为什么 Logstash 无法在收到消息后立即刷新其管道并将消息发送到 API。

0 投票
1 回答
2097 浏览

logstash - 日期的 Grok 模式

我的日志中有日期:

2016 年 7 月 8 日 08:58:07,258 ...

目前我正在使用:

解析它。

如何将其转换为日期类型。当我们有一个现有的 grok 模式时,我知道如何使用“日期”来做到这一点,但在我的情况下如何做到这一点?

0 投票
1 回答
1235 浏览

logstash - grok过滤器在logstash中是如何工作的

我正在编写一个 Logstash 配置文件。

我有一个 grok 过滤器。我想知道 grok 过滤器中的匹配是如何工作的。

我参考了logstash方面的一个例子,看到了以下内容:

防爆日志:55.3.244.1 GET /index.html 15824 0.043
使用以下过滤器解析:

这意味着我们正在尝试按顺序匹配整个日志行?我的日志行不同。它们并不总是在适当的框架中。
它就像下面的那些:

我想捕获所有三种类型的行所以我应该编写不同的匹配过滤器吗?还是可以在一个匹配中分别捕获 source、destination、somedata 字段?

寻求这方面的信息。

是的,我确实了解正则表达式和 grok 模式的基础知识。但我仍然对如何为以下内容编写匹配块感到困惑。

假设我的日志文件中有这 3 行,我想捕获具有 b 和 g 值的行。我的匹配块会是什么样子?

这会捕获所有带有 b 和 g 的行吗?对于 b 它应该捕获 1 和 2 行。对于 g 它必须捕获 3。所以我的输出应该包含所有三行?这是它的工作原理还是会引发 grokparse 错误?

0 投票
0 回答
158 浏览

logstash - Logstash 中大型字典文件 (>10MB) 的错误文件描述符错误

我正在使用 logstash 过滤器插件处理的文件中有多个日志消息。然后,过滤后的日志将被发送到 elasticsearch。

日志消息中有一个名为 addID 的字段。我想删除所有存在特定 addID 的日志消息。这些特定的 addIDS 存在于 ID.txt 文件中。

如果日志消息的 addID 与 ID.txt 文件中存在的任何 addID 匹配,则应删除该日志消息。我正在使用红宝石过滤器来实现这一点。

场景:问题是,如果我使用的字典文件以 MB 为单位,那么当我手动停止管道时,logstash 挂起并且我收到错误的文件描述符错误。但是,如果我在 KB 中使用文件,一切正常。

我尝试将 LS_HEAP_SIZE 更改为 4g。没有什么对我有用。

谁能帮助我实现这一目标?

下面是我的配置文件。

0 投票
1 回答
1597 浏览

json - Logstash:解析通过 twitter / facebook 等 Web 服务接收的 Json 数据时解析失败

我正在接收来自 Twitter 的 Web 服务数据,并记录到文件中,然后我需要将该数据发送到 Logstash,以便将这些数据编入 Elasticsearch 的索引。

我正在使用下面的配置,这给 jsonparsefailure 异常为

JSON 解析失败。回退到纯文本 {:error=>#> LogStash::Json::ParserError: Unexpected character (':' (code 58)): 期望 >valid 值(数字、字符串、数组、对象、'true' , '假' 或 '空')

我的 logstash conf 文件如下所示:

events.json 中的数据可以从https://dev.twitter.com/rest/reference/get/search/tweets引用,示例如下: events.json

0 投票
1 回答
1239 浏览

logstash - 从 logstash 中的旋转日志文件中读取

根据logstashfile插件的文档,文件轮换部分说明如下:

要支持在旋转发生后一段时间内写入旋转文件的程序,请在文件名模式中包含原始文件名和旋转文件名(例如 /var/log/syslog 和 /var/log/syslog.1)观看(路径选项)。

如果有人可以阐明如何在path配置中指定两个文件名,那将有很大帮助,因为我没有找到确切的示例。一些示例建议使用通配符,例如/var/log/syslog*,但是我正在寻找一个能够完全实现文档中所述内容的示例 -path选项中有两个文件名。

0 投票
2 回答
449 浏览

jdbc - 如何从 logstash 输出插件通过 JDBC 连接到 cockroachDB?

我正在使用 logstash 创建从 Postgres 到 CockroachDB 的管道。下面是配置。

输入插件(源是 postgres)工作正常。但我无法使用 JDBC 在输出插件(cockroachDB)中建立连接。我面临以下错误。

Destination(cockroachDB) 在指定的 ip 和端口打开连接。

由于 cockroachDB JDBC 连接字符串与 postgres 非常相似,我尝试了以下连接字符串,但仍然出现相同的错误。

如何从 logstash 输出插件通过 JDBC 连接到 cockroachDB?

0 投票
1 回答
3388 浏览

logstash - 使用 logstash 从给定路径读取日志文件

现在运行 logstash 后,我无法在 logstash 命令窗口上看到任何输出。那就是给定文件中的日志没有获取。

我的 localhost_access_log.2016-08-24 日志文件中的一些示例日志如下:

输入代码或日期过滤代码有问题吗?谁能帮我在哪里犯错?

0 投票
1 回答
759 浏览

logstash - logstash 通用输出文件名

我想在一个logstash节点上收集多台服务器的日志。作为输出,我想为每台服务器存储一个文件。在日志中,我有一个“source_host”字段,它指示哪个服务器生成了日志。

作为输出,我想得到一堆以“source_host”命名的文件。源主机经常更改,所以我需要一个通用配置

例如,来自服务器“foo”的日志应该保存在 /logs/foo 中,来自服务器“bar”的日志应该保存在 /logs/bar

我尝试了这样的配置,但文件被命名为“%{source_host}”。使用 %{host} 时,文件获取收集服务器的主机名。