gpt4 book ai didi

configuration - 处理大型 logstash 配置文件的最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-04 20:40:52 24 4
gpt4 key购买 nike

我即将部署一个 logstash 实例,它将处理各种输入并执行多个过滤操作。考虑到输入的复杂性和数量,配置文件很可能最终会包含大量 if-then 语句。

我的问题是:

  • 有什么方法可以让配置文件更“模块化”?在编程意义上,我会创建函数/子例程,以便我可以独立测试。我考虑过动态创建可用于测试的迷你配置文件。然后可以将这些迷你文件组合成一个生产配置。
  • 是否有任何“最佳实践”来测试、部署和管理更复杂的 Logstash 配置?

  • 谢谢!

    最佳答案

    本身不支持函数/子例程。我将不同的过滤器分成单独的文件以保持逻辑分离并避免拥有巨大的文件。我在不同的文件中也有输入和输出。这样我就可以将所有过滤器与调试输入/输出结合起来,例如

    input {
    stdin {}
    }

    output {
    stdout {
    codec => rubydebug
    }
    }

    并手动调用 Logstash 来检查给定输入的结果。由于过滤器排序很重要,我使用 Logstash 按字母顺序读取配置文件的事实,因此这些文件被命名为 NN-some-descriptive-name.conf,其中 NN 是一个整数。

    我还编写了一个脚本,通过让您编写包含测试输入和预期结果消息的规范来自动化此过程,如果存在不匹配,它将因错误而退出并显示差异。我也许可以开源它。

    至于部署,请使用您熟悉的任何配置管理系统,如 Puppet、Chef、SaltStack、Ansible、CFEngine 或类似的。我对 Ansible 很满意。

    关于configuration - 处理大型 logstash 配置文件的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26515327/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com