问题标签 [logstash-grok]
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.
ruby - 创建可由 Logstash 解析的组合 S3 日志文件
我编写了一个脚本来不断地将我的所有 S3 存储桶日志文件下拉到我的 Logstash 服务器,因此可以使用此拉取请求中的模式对其进行解析。唉,鉴于脚本从头开始重新创建日志文件,而不是只是附加到它,Logstash 的file
输入没有看到任何新的变化。有任何想法吗?
下面的脚本:
有什么帮助吗?谢谢!
logstash - 在完全使用之前调试新的 logstash grok 过滤器
我一直在关注本指南:
http://deviantony.wordpress.com/2014/06/04/logstash-debug-configuration/
我希望这将帮助我测试我的 logstash 过滤器,看看我是否在全职使用它们之前获得了所需的输出。
作为指南的一部分,它告诉您设置输入和输出,然后设置过滤器文件。输入似乎工作正常:
输出是这样的:
当我尝试运行 logstash 进程时出现以下错误(这里我使用 --configtest 运行它,因为错误建议我尝试这样做,但它没有提供更多信息):
我尝试删除输出中的文件部分,并且可以运行 logstash 进程,但是当我将日志行粘贴到 shell 时,我没有看到日志条目分解为我期待 grok 过滤器的组件打破它。当我这样做时,我得到的只是:
最初我在使用新的 grok 过滤器时遇到问题,所以我现在尝试使用我知道有效的现有过滤器(如上所示,它是一个 Asterisk 1.2 过滤器)并且已经在弹性搜索中生成条目一段时间了。
我试过触摸输出中提到的 json 文件,但这没有帮助。
现在,当我跟踪 logstash-debug.log 时,我只看到了也在写入我的 shell 的错误。
任何有关调试 grok 过滤器的建议都将不胜感激,如果我错过了一些非常明显的东西,抱歉,我只与 ELK & grok 合作了几个星期,我可能没有以最明智的方式这样做。我希望能够将示例日志条目放入 shell 并将 JSON 格式的 logstash 条目放入我的控制台,这样我就可以查看我的过滤器是否按我希望的那样工作,并标记它们,因为它们将在 kibana 中显示结束。如果有更好的方法来做到这一点,请告诉我。
我正在使用logstash 1.4.2
logstash - Logstash 过滤器将“$epoch.$microsec”转换为“$epoch_millis”
我正在尝试将表单中的时间戳字段转换$epoch.$microsec
为$epoch_millis
.
例子:
Logstash 似乎没有任何方法可以将数字相乘,因此ts * 1000
无法转换为 long。
有任何想法吗?
elasticsearch - 获取 Logstash-forwarder 机器的 IP 地址
我已经在我的系统上设置了 Elasticsearch、Logstash、Kibana 日志查看工具。我的配置中现在有 2 台机器(Amazon EC2 实例):
- 54.251.120.171 - 安装 ELK 的 Logstash-server
- 54.249.59.224 - Logstash-forwarder - 将“/var/logs/messages”日志发送到 Logstash-server
在 logstash-server 上,这是我的配置(在不同文件中)的样子:-
在 logstash-forwarder 上,这是我的配置文件的样子,它将 /var/log/messages、/var/log/secure 日志转发到 logstash-server
这是我的 Kibana 界面从 Elasticsearch 获取索引日志后的样子。
所以我的问题是,如果有日志事件,我需要一种方法来检索 logstash-forwarder 的 IP 地址,即 54.249.59.224。
我问这个问题的原因是在一个真实的场景中,我们可能有很多logstash-forwarder(比如10个),其中所有10个都将日志发送到我们的logstash-server。所以我需要以某种方式标记所有日志事件,以便我可以识别哪个 logstash-server 发送了哪个日志事件。
我需要使用 IP 地址(可能还有其他一些信息)在 Kibana 界面中搜索日志事件。
有人可以帮我这样做吗?:)
或者如果有人对如何以不同的方式有效地做到这一点有更好的想法,不客气!
elasticsearch - 使用 logstash 和 kibana 分析来自日志文件的延迟
我是 ELK 堆栈的新手,希望用它来调试日志文件中的问题。我的要求是绘制线程处理任务并返回池所需的时间。基本上日志如下所示:
2014-10-31 13:00:00,007 [catalina-exec-11] DEBUG [com.clairmail.jms.concurrent.poolimpl.JMSProducerPoolImpl] Providing a pooled producer to catalina-exec-11
..... 和
2014-10-31 13:00:00,121 [catalina-exec-11] DEBUG [com.clairmail.jms.concurrent.poolimpl.JMSProducerPoolImpl] catalina-exec-11 has returned producer to pool.
从上面的日志中,我可以看出这个特定的线程 catalina-exec-11 大约需要 107 毫秒才能完成。我的问题如下:
- 这如何在 Kibana 中的图表上表示?
- 我们有一个分布式架构,所以很有可能在第二个实例中会有一个 catalina-exec-11,如何将它与第一个实例区分开来?
- 聚合两台服务器以查看处理线程的平均时间。
- 我的 grok 过滤器会是什么样子?
阿努普
logstash - 如何从logstash输出中grep特定字段
我试图从 logstash 1.repositories#create 2.\"repo\":\"username/reponame\" 的此输出中仅 grep 几个字段。请分享您的想法以 grep 此输出中的特定信息并将其分配给另一个变量
"消息" => "<190>11 月 1 日 20:35:15 10-254-128-66 github_audit: {\"actor_ip\":\"192.168.1.1\",\"from\":\"repositories# create\",\"actor\":\"myuserid\",\"repo\":\"username/reponame\",\"action\":\"staff.repo_route\",\"created_at\": 1516286634991,\"repo_id\":44743,\"actor_id\":1033,\"data\":{\"actor_location\":{\"location\":{\"lat\":null,\"lon \“:空值}}}}”,
我正在使用这个 syslog.conf 文件来获取输出。
我无法为您的回复添加我的评论,非常感谢您的回复。
您能否分享您的想法以获取用户名:和 repo:仅从此输出中,我正在尝试从该特定输出中分配值,再次感谢
消息:"github_audit: {"actor_ip":"192.168.1.1","from":"repositories#create","actor":"username","repo":"username/logstashrepo","user":"username ","created_at":1416299104782,"action":"repo.create","user_id":1033,"repo_id":44744,"actor_id":1033,"data":{"actor_location":{"location": {"lat":null,"lon":null}}}}",@version:"1",@timestamp:"2014-11-18T08:25:05.427Z",主机:"15-274-145- 63”,类型:“syslog”,syslog5424_pri:“190”,时间戳:“Nov 18 00:25:05”,actor_ip:“10.239.37.185”,来自:“repositories#create”,actor:“username”,repo :“用户名/logstashrepo”,用户:“用户名”,created_at:1416299104782,操作:“repo.create”,user_id:1033,repo_id:44744,actor_id:1033,
logstash - 如何从logstash输出分配特定值
在logstash中,我得到了这个输出,但是,我试图从这个输出中获取repo:“username/logstashrepo”。请分享您的想法,如何仅 grep 该值并分配给变量。
我在我的配置文件中使用它:
我实际上在这里发布了这个问题,由于某种原因我无法编辑和跟进。
logstash - Logstash 和 Grok 过滤器失败
我的日志文件只有一行(取自教程日志文件):
我的 conf 文件看起来像这样:
我用 grok 调试器测试了我的 grok 过滤器,它工作正常。我不知道我做错了什么。我每次都得到一个 [0] "_grokparsefailure"
filter - Logstash 和 Windows 2008 DNS 调试日志
我通过 json 将 Windows DNS 调试日志发送到 Elasticsearch,我需要解析它们。与微软一样,没有什么是容易的。DNS 调试日志不是 CSV。该文件中唯一有用的是它具有固定长度的列。
以下是 DNS 日志的示例:
11/21/2014 5:59:13 PM 0458 PACKET 00000000039ED750 UDP Rcv 192.168.1.98 600c Q [0001 D NOERROR] A (9)grokdebug(9)herokuapp(3)com(0)
11/21/2014 5:59:13 PM 0458 PACKET 00000000039EF460 UDP Snd 192.168.1.1 e044 Q [0001 D NOERROR] A (9)grokdebug(9)herokuapp(3)com(0)
11/21/2014 5:59:13 PM 0458 PACKET 00000000039F85B0 UDP Rcv 192.168.1.1 e044 R Q [8081 DR NOERROR] A (9)grokdebug(9)herokuapp(3)com(0)
11/21/2014 5:59:13 PM 0458 PACKET 00000000039F85B0 UDP Snd 192.168.1.98 600c R Q [8081 DR NOERROR] A (9)grokdebug(9)herokuapp(3)com(0)
我查看了这个 Stackoverflow 答案:Logstash grok filter help - fixed position file and was trying to setup a grok filter to parse the columns 但它对我不起作用。我知道我有语法问题,但我似乎找不到一个很好的例子来引导我走向正确的方向。
这是我的 grok 过滤器:
grok {
match => [ "message", "(?<dns_date_n_time>.{21}) (?<dns_field_1>.{5}) (?dns_type>.{8}) (?<dns_field_2>.{19}) (?<dns_protocol>.{4}) (?<dns_direction>.{4}) (?<dns_ip>.{16}) (?<dns_field_3>.{4}) (?<dns_query_type>.{5}) (?<dns_field_5>.{7}) (?<dns_field_6>.{3}) (?<dns_flag>.{9}) (?<dns_field_7>.{2}) (?<dns_record>.{5}) (?<dns_domain>.{255})" ]
}
任何人都可以帮忙吗?
logstash - logstash 为变量赋值并执行 perl 脚本
我正在尝试分配“actor”:“githubuser”,例如 $actor = “gituser” 和 $repo = “gituser/logstashreppo”,如果我将值分配给变量,我可以使用此处复制的 exec 函数执行我的脚本。请分享你的想法
整个输出是
,
我的配置文件是: