日志文件聚合的Logstash与Rsyslog

日志文件聚合的Logstash与Rsyslog,logstash,rsyslog,Logstash,Rsyslog,我正在开发一个从CentOs 6.x服务器集中日志文件聚合的解决方案。在安装Elasticsearch/Logstash/Kibana(ELK)堆栈后,我遇到了一个Rsyslog omelasticsearch插件,它可以以Logstash格式将消息从Rsyslog发送到Elasticsearch,并开始问自己为什么需要Logstash Logstash有很多不同的输入插件,包括接受Rsyslog消息的插件。在我需要从多个服务器收集日志文件内容的用例中使用Logstash有什么原因吗?另外,将消

我正在开发一个从CentOs 6.x服务器集中日志文件聚合的解决方案。在安装Elasticsearch/Logstash/Kibana(ELK)堆栈后,我遇到了一个Rsyslog omelasticsearch插件,它可以以Logstash格式将消息从Rsyslog发送到Elasticsearch,并开始问自己为什么需要Logstash


Logstash有很多不同的输入插件,包括接受Rsyslog消息的插件。在我需要从多个服务器收集日志文件内容的用例中使用Logstash有什么原因吗?另外,将消息从Rsyslog发送到Logstash而不是直接发送到Elasticsearch是否有好处

如果您直接从服务器转到elasticsearch,您可以在中获取基本文档(假设源是json等)。对我来说,logstash的功能是通过应用业务逻辑来修改和扩展日志,从而为日志增加价值

这里有一个例子:syslog提供了一个优先级(0-7)。我不希望有一个饼图,其中的值是0-7,所以我创建了一个新字段,其中包含可用于显示的漂亮名称(“emerg”、“debug”等)


仅举一个例子…

我建议使用logstash。这将更容易设置,更多的例子和他们的测试,以配合在一起

此外,还有一些好处,在logstash中,您可以过滤和修改日志

  • 您可以使用有用的数据扩展日志:服务器名称、时间戳等
  • 类型转换、字符串到int等(用于正确的弹性索引)
  • 根据某些规则筛选出日志
  • 此外,您可以设置批量大小以优化保存到弹性。
    另一个功能是,如果出现问题,并且elastic每秒无法处理大量日志,您可以设置logstash,以保存一些事件队列或删除无法保存的事件。

    如果您真的希望依靠系统在负载下运行并具有高可用性,这两种方法都不是可行的选择

    我们发现,使用rsyslog发送到一个集中的位置,使用卡夫卡的redis对其进行归档,然后使用logstash执行其神奇的操作,并将其发送到Elasticsearch是最好的选择

    阅读我们的博客-


    (免责声明-我是VP产品,我们提供ELK作为服务)

    < P>我会在中间使用LogStAG,如果有我需要的东西,RysLogo没有。例如,从IP地址获取GeoIP

    另一方面,如果我需要在Elasticsearch中索引系统日志或文件内容,我会直接使用rsyslog。它可以进行缓冲(磁盘+内存)、过滤,您可以选择文档的外观(例如,您可以输入文本严重性而不是数字),还可以解析非结构化数据。但是主要的优势是性能,rsyslog关注的是性能。以下是关于Logstash、rsyslog和Elasticsearch的一些数字(以及提示和技巧)的演示:

    谢谢!Rsyslog可以做#1-显示如何报告主机名和时间戳。它还可以执行#3-演示如何配置规则。我认为我没有2型铸造的用例。我们没有每秒大量的日志。因此,我试图评估在我的虚拟机上安装和管理一个额外的客户机(logstash)的利弊,以及我从中获得的好处。思想?链接?再次感谢!这很有趣,看起来rsyslog可以处理缓冲以及扩展/过滤。也许这是一个很好的方法,而且rsyslog+elastic似乎可以很好地结合在一起。如果rsyslog工作正常,请尝试一下。Logstash需要相当多的ram内存,Logstash存在一些问题,它并不完美。在了解了rsyslog的工作原理后,我可以说,在rsyslog配置中,业务逻辑可以相对容易地实现。对于特定示例,可以使用syslogseverity文本rsyslog属性而不是syslogseverity。