标签: logstash

如何使用Logstash处理多个异构输入?

假设您有两种非常不同类型的日志,例如技术和业务日志,您需要:

  • 使用gelf输出将原始技术日志路由到graylog2服务器,
  • 使用专用elasticsearch_http输出将json业务日志存储到elasticsearch集群中.

我知道,Syslog-NG例如,配置文件允许定义几个不同的输入,然后可以在分派之前单独处理; 什么Logstash似乎无法做到.即使一个实例可以使用两个特定的配置文件启动,所有日志都采用相同的通道并应用相同的处理...

我应该运行尽可能多的实例,因为我有不同类型的日志吗?

logging elasticsearch logstash graylog2

92
推荐指数
2
解决办法
6万
查看次数

如何强制Logstash重新分析文件?

我安装了Logstash来解析apache文件.我花了很多时间来设置正确的,我总是尝试真正的日志.我注意到(正如文档所说)logstash"记住"它在文件中的位置.现在我的设置很好,我希望Logstash"忘记".这似乎比我更难.我已经做了以下事情:

  • 用过的: start_position => "beginning"

  • 从elastissearch中删除了完整的"数据"文件夹(并先将其停止)

  • 看看logstash打开哪些文件lsof -p PID并删除了所有有希望的东西(在我的例子中/tmp/jffi*.tmp)

Logstash仍然不会忘记并解析日志所在文件夹中的"新鲜"文件

有任何想法吗?

file logstash

88
推荐指数
5
解决办法
7万
查看次数

Redis与RabbitMQ一起作为Logstash和elasticsearch之间的数据代理/消息系统

我们正在定义一个架构,用于收集Logstash托运人的日志信息,这些托架安装在各种机器中,并将数据集中在一个弹性搜索服务器中,并使用Kibana作为图形层.我们需要在Logstash发货人和elasticsearch之间建立一个可靠的消息传递系统来授权交付.在Logstash发货人和弹性搜索之间选择Redis over RabbitMQ作为数据代理/消息传递系统时应该考虑哪些因素,反之亦然?

rabbitmq redis elasticsearch logstash

77
推荐指数
4
解决办法
8万
查看次数

如何使用Kibana + Elastic Search检索字段的唯一计数

是否可以使用Kibana查询字段的不同/唯一计数?我使用弹性搜索作为我的Kibana后端.

如果是这样,查询的语法是什么?下面是我想查询Kibana界面的链接:http://demo.kibana.org/#/dashboard

我正在使用logstash解析nginx访问日志并将数据存储到弹性搜索中.然后,我使用Kibana运行查询并在图表中可视化我的数据.具体来说,我想知道使用Kibana在特定时间范围内的唯一IP地址的数量.

elasticsearch logstash kibana

67
推荐指数
4
解决办法
11万
查看次数

ElasticSearch如何与Mysql集成

在我的一个项目中,我计划将ElasticSearch与mysql一起使用.我已经成功安装了ElasticSearch.我能够分别管理ES中的索引.但我不知道如何用mysql实现相同的功能.

我已阅读了几份文件,但我有点困惑,没有明确的想法.谁能帮帮我吗?

提前致谢.

mysql elasticsearch logstash elasticsearch-5

53
推荐指数
3
解决办法
6万
查看次数

如何处理不匹配的Logstash grok过滤器

我想知道使用Logstash Grok过滤器的最佳方法是什么.我有一些特定日志条目的过滤器,不适用于所有条目.那些不适用的标签始终生成_grokparsefailure标签.例如,我有一个grok过滤器,用于每个日志条目,它工作正常.然后我有另一个过滤器,用于带有回溯的错误消息.回溯过滤器为每个没有回溯的日志条目抛出grokparsefailure.

如果没有匹配而不是添加parsefailure标记,我宁愿让它只是通过规则.我使用parsefailure标签来查找未正确解析的内容,而不是与特定过滤器不匹配的内容.也许只是命名"解析失败"才能得到我.对我而言,这意味着过滤器出现了问题(例如格式错误),而不是它不匹配.

所以问题是,我该如何处理?

  • 使用过滤器模式可选吗?

  • (ab)使用tag_on_failure选项将其设置为空[]

  • 使用诸如"if ifback in message"之类的东西使过滤器有条件

  • 还有别的什么我不考虑?

提前致谢.

编辑

我采取了在过滤器周围添加条件的路径:

    if [message] =~ /took\s\d+/ {
        grok {
            patterns_dir => "/etc/logstash/patterns"
            match => ["message", "took\s+(?<servicetime>[\d\.]+)"]
            add_tag => [ "stats", "servicetime" ]
        }
    }
Run Code Online (Sandbox Code Playgroud)

仍然对反馈感兴趣.什么被认为是"最佳实践"?

filter logstash logstash-grok

50
推荐指数
3
解决办法
6万
查看次数

Graylog2和Kibana之间的主要区别是什么?

Graylog2和Kibana之间的主要区别是什么?

我们已经使用了Graylog2,但我必须承认我并不喜欢UI.只是想知道如果切换到Kibana可能会有所帮助.

logging logstash graylog2 kibana

44
推荐指数
2
解决办法
4万
查看次数

logstash检查字段是否存在

我有日志文件进入ELK堆栈.我想复制一个字段(foo)以便在其上执行各种突变,但是字段(foo)并不总是存在.

如果foo不存在,则仍会创建bar,但会为其分配文字字符串 "%{foo}"

如果字段存在,我怎样才能执行变异?

我正在尝试做这样的事情.

if ["foo"] {
  mutate {
    add_field => "bar" => "%{foo}
  }
}
Run Code Online (Sandbox Code Playgroud)

logstash logstash-configuration

38
推荐指数
4
解决办法
6万
查看次数

如何在kibana仪表板上添加数字过滤器?

我有一个包含数字的字段.我想要一个过滤器,显示所有小于常量值的日志.当我尝试添加新的查询过滤器时,我只能看到一个查询字符串选项.

elasticsearch logstash kibana

37
推荐指数
1
解决办法
4万
查看次数

如何在Kibana/ELK中进行"where not exists"类型过滤?

我正在使用ELK从我的日志文件创建仪表板.我有一个包含价值ID和"成功" /"失败"值,显示与给定ID的操作是成功还是失败的条目的日志文件.每个操作/ id可以无限次地失败并且最多可以成功一次.在我的Kibana仪表板中,我想显示每个操作ID的"失败"值的日志条目计数,但我想过滤掉id存在"成功"日志条目的情况.即我只对从未成功的操作感兴趣.任何可以达到此目的的技巧提示?

elasticsearch logstash kibana

35
推荐指数
4
解决办法
4万
查看次数