首页 文章

Logstash vs Rsyslog用于日志文件聚合

提问于
浏览
12

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

Logstash有许多不同的输入插件,包括接受Rsyslog消息的插件 . 是否有理由将Logstash用于我需要从多个服务器收集日志文件内容的用例?此外,将消息从Rsyslog发送到Logstash是否有好处,而不是将它们直接发送到Elasticsearch?

4 回答

  • 4

    如果我需要一些rsyslog没有的东西,我会在中间使用Logstash . 例如,从IP地址获取GeoIP .

    另一方面,如果我需要在Elasticsearch中获取索引的syslog或文件内容,我会在Logstash,rsyslog和Elasticsearch上使用一些数字(以及提示和技巧)进行演示:http://blog.sematext.com/2015/05/18/tuning-elasticsearch-indexing-pipeline-for-logs/

  • 2

    我建议使用logstash . 这将更容易设置,更多示例,并且它们经过测试以适合在一起 .

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

    • 您可以使用有用的数据扩展日志:服务器名称,时间戳,...

    • 转换类型,字符串转换为int等(对正确的弹性索引有用)

    • 按某些规则过滤日志

    此外,您可以设置批量大小以优化保存到弹性 . 另一个特性,如果出现问题并且弹性无法处理的每秒疯狂数量,您可以设置logstash,它将保存一些事件队列或丢弃无法保存的事件 .

  • 3

    如果你直接从服务器到elasticsearch,你可以获得基本文件(假设源是json等) . 对我来说,logstash的强大功能是通过应用业务逻辑来修改和扩展日志,从而为日志增加 Value .

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

    只是一个例子......

  • 2

    如果您真的想依靠系统在负载下运行并且具有高可用性,那么这两者都不是可行的选择 .

    我们发现使用rsyslog发送到集中位置,使用kafka的redis对其进行存档,然后使用logstash来实现其魔力,并将其发送到Elasticsearch是最佳选择 .

    阅读我们的博客here - http://logz.io/blog/deploy-elk-production/

    (免责声明 - 我是logz.io的VP产品,我们提供ELK即服务)

相关问题